Fixes #5669
This commit is contained in:
Daniel Imms 2016-04-22 12:54:32 -07:00
Родитель c2ca834b8f
Коммит 8ad01d69f3
18 изменённых файлов: 9 добавлений и 619 удалений

Просмотреть файл

@ -3,7 +3,7 @@
### Before Submitting an Issue
First, please do a search in open issues to see if the issue or feature request has already been filed. If there is an issue add your comments to this issue.
The Code project is distributed across multiple repositories, try to file the issue against the correct repository [Related Projects](https://github.com/Microsoft/vscode/tree/master/wiki/project-management/related-projects.md).
The Code project is distributed across multiple repositories, try to file the issue against the correct repository [Related Projects](https://github.com/Microsoft/vscode/wiki/Related-Projects).
If your issue is a question then please ask the question on [Stack Overflow](https://stackoverflow.com/questions/tagged/vscode) using the tag `vscode`.
@ -23,4 +23,4 @@ The more information you can provide, the more likely someone will be successful
## Contributing Fixes
If you are interested in fixing issues and contributing directly to the code base,
please see the document [How to Contribute](https://github.com/Microsoft/vscode/tree/master/wiki/contributing/how-to-contribute.md).
please see the document [How to Contribute](https://github.com/Microsoft/vscode/wiki/How-to-Contribute).

Просмотреть файл

@ -18,12 +18,12 @@ The [`vscode`](https://github.com/microsoft/vscode) repository is where we do de
## Contributing
If you are interested in fixing issues and contributing directly to the code base,
please see the document [How to Contribute](https://github.com/Microsoft/vscode/tree/master/wiki/contributing/how-to-contribute.md), which covers the following:
please see the document [How to Contribute](https://github.com/Microsoft/vscode/wiki/How-to-Contribute), which covers the following:
* [How to build and run from source](https://github.com/Microsoft/vscode/tree/master/wiki/contributing/how-to-contribute.md#build-and-run-from-source)
* [The development workflow, including debugging and running tests](https://github.com/Microsoft/vscode/tree/master/wiki/contributing/how-to-contribute.md#development-workflow)
* [Coding Guidelines](https://github.com/Microsoft/vscode/tree/master/wiki/contributing/coding-guidelines.md)
* [Submitting pull requests](https://github.com/Microsoft/vscode/tree/master/wiki/contributing/how-to-contribute.md#pull-requests)
* [How to build and run from source](https://github.com/Microsoft/vscode/wiki/How-to-Contribute#build-and-run-from-source)
* [The development workflow, including debugging and running tests](https://github.com/Microsoft/vscode/wiki/How-to-Contribute#development-workflow)
* [Coding Guidelines](https://github.com/Microsoft/vscode/wiki/Coding-Guidelines)
* [Submitting pull requests](https://github.com/Microsoft/vscode/wiki/How-to-Contribute#pull-requests)
## Feedback
@ -35,7 +35,7 @@ please see the document [How to Contribute](https://github.com/Microsoft/vscode/
## Related Projects
Many of the core components and extensions to Code live in their own repositories on GitHub. For example, the [node debug adapter](https://github.com/microsoft/vscode-node-debug) and the [mono debug adapter](https://github.com/microsoft/vscode-mono-debug).
For a complete list, please see the [Related Projects](https://github.com/Microsoft/vscode/tree/master/wiki/project-management/related-projects.md) page on our wiki.
For a complete list, please see the [Related Projects](https://github.com/Microsoft/vscode/wiki/Related-Projects) page on our wiki.
## License
[MIT](LICENSE.txt)

Просмотреть файл

@ -2,7 +2,7 @@
## Run
The best way to run the Code tests is from within VS Code. Simply press<kbd>F1</kbd>, type "run test" and press <kbd>enter</kbd> to launch the tests. To make development changes to unit tests you need to be running `gulp`. See [Development Workflow](https://github.com/Microsoft/vscode/tree/master/wiki/contributing/how-to-contribute.md#incremental-build) for more details.
The best way to run the Code tests is from within VS Code. Simply press<kbd>F1</kbd>, type "run test" and press <kbd>enter</kbd> to launch the tests. To make development changes to unit tests you need to be running `gulp`. See [Development Workflow](https://github.com/Microsoft/vscode/wiki/How-to-Contribute#incremental-build) for more details.
If you wish to run the tests from a terminal, from the `vscode` folder run:

Просмотреть файл

@ -1,29 +0,0 @@
# Welcome
Welcome to the Code Wiki. These pages are primarily intended for those who wish to contribute to the Code project by submitting bug reports, suggesting new features, building extensions, commenting on new ideas, or even by submitting pull requests.
Please refer to the sidebar (on the right) for details on Project Management, Contributing to Code, and Documentation.
If you are looking for more information on using VS Code, please visit our [the Visual Studio Code portal](http://code.visualstudio.com) and follow us on [Twitter](https://twitter.com/code)!
## Table of contents
- Contributing
- [How to Contribute](contributing/how-to-contribute.md)
- [Submitting Bugs and Suggestions](contributing/submitting-bugs-and-suggestions.md)
- [Code Organization](contributing/code-organization.md)
- [Coding Guidelines](contributing/coding-guidelines.md)
- [Contributor License Agreement](contributing/contributor-license-agreement.md)
- [Requested Extensions](contributing/requested-extensions.md)
- Project Management
- [Roadmap](project-management/roadmap.md)
- [Iteration Plans](project-management/iteration-plans.md)
- [Breaking Changes](project-management/breaking-changes.md)
- [Development Process](project-management/development-process.md)
- [Issue Tracking](project-management/issue-tracking.md)
- [Previous Releases](project-management/previous-releases.md)
- [Related Projects](project-management/related-projects.md)
- [Documentation](https://code.visualstudio.com/docs)
- [Extensions](https://code.visualstudio.com/docs/extensions/overview)
- [API](https://code.visualstudio.com/docs/extensionAPI/overview)
- [Documetnation repository](https://github.com/microsoft/vscode-docs)

Просмотреть файл

@ -1,43 +0,0 @@
# Code Organization
Code consists a layered and modular `core` that can be extended using extensions. Extensions are run in a separate process refered to as the
`extension host.` Extensions are implemented by utilizing the [extension API](https://code.visualstudio.com/docs/extensions/overview).
# Layers
The `core` is partitioned into the following layers:
- `base`: Provides general utilities and user interface building blocks
- `platform`: Defines service injection support and the base services for Code
- `editor`: The "Monaco" editor is available as a separate downloadable component
- `languages`: For historical reasons, not all languages are implemented as extensions (yet) - as Code evolves we will migrate more languages to towards extensions
- `workbench`: Hosts the "Monaco" editor and provides the framework for "viewlets" like the Explorer, Status Bar, or Menu Bar, leveraging [Electron](http://electron.atom.io/) to implement the Code desktop application.
# Target Environments
The `core` of Code is fully implemented in [TypeScript](https://github.com/microsoft/typescript). Inside each layer the code is organized by the target runtime environment. This ensures that only the runtime specific APIs are used. In the code we distinguish between the following target environments:
- `common`: Source code that only requires basic JavaScript APIs and run in all the other target environments
- `browser`: Source code that requires the `browser` APIs like access to the DOM
- may use code from: `common`
- `node`: Source code that requires [`nodejs`](https://nodejs.org) APIs
- may use code from: `common`
- `electron-browser`: Source code that requires the [Electron renderer-process](https://github.com/atom/electron/tree/master/docs#modules-for-the-renderer-process-web-page) APIs
- may use code from: `common`, `browser`, `node`
- `electron-main`: Source code that requires the [Electron main-process](https://github.com/atom/electron/tree/master/docs#modules-for-the-main-process) APIs
- may use code from: `common`, `node`
# Dependency Injection
The code is organised around services of which most are defined in the `platform` layer. Services get to its clients via `constructor injection`.
A service definition is two parts: (1) the interface of a service, and (2) a service identifier - the latter is required because TypeScript doesn't use nominal but structural typing. A service identifier is a decoration (as proposed for ES7) and should have the same name as the service interface.
Declaring a service dependency happens by adding a corresponding decoration to a constructor argument. In the snippet below `@IModelService` is the service identifier decoration and `IModelService` is the (optional) type annotation for this argument.
```javascript
class Client {
constructor(@IModelService modelService: IModelService) {
// use modelService
}
}
```
Use the instantiation service to create instances for service consumers, like so `instantiationService.createInstance(Client)`. Usually, this is done for you when being registered as a contribution, like a Viewlet or Language.

Просмотреть файл

@ -1,51 +0,0 @@
# Coding Guidelines
## Git
We prefer a **rebase workflow** and occasional **feature branches**. Most work happens directly on the `master` branch. For that reason, we recommend setting the `pull.rebase` setting to true.
```bash
git config --global pull.rebase true
```
## Indentation
We use tabs, not spaces.
## Names
* Use PascalCase for `type` names
* Use PascalCase for `enum` values
* Use camelCase for `function` and `method` names
* Use camelCase for `property` names and `local variables`
* Use whole words in names when possible
## Types
* Do not export `types` or `functions` unless you need to share it across multiple components
* Do not introduce new `types` or `values` to the global namespace
## Comments
* Use JSDoc style comments for `functions`, `interfaces`, `enums`, and `classes`
## Strings
* Use "double quotes" for strings shown to the user that need to be externalized (localized)
* Use 'single quotes' otherwise
* All strings visible to the user need to be externalized
## Style
* Use arrow functions `=>` over anonymous function expressions
* Only surround arrow function parameters when necessary. For example, `(x) => x + x` is wrong but the following are correct:
```javascript
x => x + x
(x,y) => x + y
<T>(x: T, y: T) => x === y
```
* Always surround loop and conditional bodies with curly braces
* Open curly braces always go on the same line as whatever necessitates them
* Parenthesized constructs should have no surrounding whitespace. A single space follows commas, colons, and semicolons in those constructs. For example:
```javascript
for (var i = 0, n = str.length; i < 10; i++) { }
if (x < 10) { }
function f(x: number, y: string): void { }
```

Просмотреть файл

@ -1,9 +0,0 @@
# Contributor License Agreement
You must sign a Contribution License Agreement (CLA) before your PR will be merged. This a one-time requirement for Microsoft projects in GitHub. You can read more about [Contribution License Agreements (CLA)](https://en.wikipedia.org/wiki/Contributor_License_Agreement) on Wikipedia.
However, you don't have to do this up-front. You can simply clone, fork, and submit your pull-request as usual.
When your pull-request is created, it is classified by a CLA bot. If the change is trivial (i.e. you just fixed a typo) then the PR is labelled with `cla-not-required`. Otherwise, it's classified as `cla-required`. In that case, the system will also tell you how you can sign the CLA. Once you have signed a CLA, the current and all future pull-requests will be labelled as `cla-signed`.
Signing the CLA might sound scary but it's actually very simple and can be done in less than a minute.

Просмотреть файл

@ -1,162 +0,0 @@
# Contributing to Code
There are many ways to contribute to the Code project: logging bugs, submitting pull requests, reporting issues, and creating suggestions.
After cloning and building the repo, check out the [issues list](https://github.com/Microsoft/vscode/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue). Issues labeled [`effort easy`](https://github.com/Microsoft/vscode/issues?q=is%3Aopen+is%3Aissue+label%3A%22effort+easy%22) are good candidates to pick up if you are in the code for the first time.
## Build and Run From Source
If you want to understand how Code works or want to debug an issue, you'll want to get the source, build it, and run the tool locally.
### Installing Prerequisites
You'll need [Node.JS](https://nodejs.org/en/), at least `v5.10`.
Code includes node module dependencies that require native compilation. To ensure the compilation is picking up the right version of header files from the Electron Shell, we have our own script to run the installation via `npm`.
For native compilation, you will need [Python](https://www.python.org/downloads/) (version `v2.7` recommended, `v3.x.x` is __*not*__ supported), as well as a C/C++ compiler tool chain.
**Windows**
* In addition to [Python v2.7](https://www.python.org/downloads/release/python-279/), make sure you have a PYTHON environment variable set to `drive:\path\to\python.exe`, not to a folder
* [Visual Studio 2013 for Windows Desktop](https://www.visualstudio.com/en-us/news/vs2013-community-vs.aspx) or [Visual Studio 2015](https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx), make sure to select the option to install all C++ tools and the Windows SDK
**OS X**
* Command line developer tools
* Python should be installed already
* [XCode](https://developer.apple.com/xcode/downloads/) and the Command Line Tools (XCode -> Preferences -> Downloads), which will install `gcc` and the related toolchain containing `make`
**Linux**
* Python v2.7
* `make`
* A proper C/C++11 compiler tool chain, for example [GCC](https://gcc.gnu.org)
* [native-keymap](https://www.npmjs.com/package/native-keymap) needs `libx11-dev`, run: `sudo apt-get install libx11-dev`
* Building deb and rpm packages requires `fakeroot`, run: `sudo apt-get install fakeroot`
After you have these tools installed, run the following commands to check out Code and install dependencies:
**OS X**
```bash
git clone https://github.com/microsoft/vscode
cd vscode
./scripts/npm.sh install
```
**Windows**
```bash
git clone https://github.com/microsoft/vscode
cd vscode
scripts\npm install
```
**Linux**
```bash
git clone https://github.com/microsoft/vscode
cd vscode
./scripts/npm.sh install --arch=x64
# for 32bit Linux
#./scripts/npm.sh install --arch=ia32
```
**Note:** For more information on how to install NPM modules globally on UNIX systems without resorting to `sudo`, refer to [this guide](http://www.johnpapa.net/how-to-use-npm-global-without-sudo-on-osx/) .
## Development Workflow
### Incremental Build
From a terminal, where you have cloned the `vscode` repository, execute the following command to run the TypeScript incremental builder:
```bash
npm run watch
```
It will do an initial full build and then watch for file changes, compiling those changes incrementally, enabling a fast, iterative coding experience.
**Tip!** Linux users may hit a ENOSPC error when running `npm run watch`, to get around this follow instructions in the [Linux FAQ](https://code.visualstudio.com/docs/supporting/faq#_linux-faq).
**Tip!** Open VS Code on the folder where you have cloned the `vscode` repository and press <kbd>CMD+SHIFT+B</kbd> (<kbd>CTRL+SHIFT+B</kbd> on Windows, Linux) to start the builder. To view the build output open the Output stream by pressing <kbd>CMD+SHIFT+U</kbd>.
### Errors and Warnings
Errors and warnings will show in the console while developing Code. If you use VS Code to develop Code, errors and warnings are shown in the status bar at the bottom left of the editor. You can view the error list using `View | Errors and Warnings` or pressing <kbd>CMD+P</kbd> and then <kbd>!</kbd>.
**Tip!** You don't need to stop and restart the development version of Code after each change. You can just execute `Reload Window` from the command palette. We like to assign the keyboard shortcut <kbd>CMD+R</kbd> (<kbd>CTRL+R</kbd> on Windows, Linux) to this command.
### Validate your changes
To test the changes you launch a development version of VS Code on the workspace `vscode`, which you are currently editing.
**OS X and Linux**
```bash
./scripts/code.sh
```
**Windows**
```bash
.\scripts\code.bat
```
You can identify the development version of Code by the Electron icon in the Dock or Taskbar.
**Tip!** If you receive an error stating that the app is not a valid Electron app, it probably means you didn't run `npm run watch` first.
### Debugging
Code has a multi-process architecture and your code is executed in different processes.
The **render** process runs the UI code inside the Shell window. To debug code running in the **render** you can either use VS Code or the Chrome Developer Tools.
#### Using VSCode
* Install the [Debugger for Chrome](https://marketplace.visualstudio.com/items/msjsdiag.debugger-for-chrome) extension. This extension will let you attach to and debug client side code running in Chrome.
* Launch the development version of Code with the following command line option:
**OS X and Linux**
```bash
./scripts/code.sh --remote-debugging-port=9222
```
**Windows**
```bash
scripts\code --remote-debugging-port=9222
```
* Choose the `Attach to VSCode` launch configuration from the launch dropdown in the Debug viewlet and press `F5`.
#### Using the Chrome Developer Tools
* Run the `Developer: Toggle Developer Tools` command from the Command Palette in your development instance of Code to launch the Chrome tools.
* It's also possible to debug the released versions of Code, since the sources link to sourcemaps hosted online.
![](images/sourcemaps.png)
The **extension host** process runs code implemented by a plugin. To debug extensions (including those packaged with Code) which run in the extension host process, you can use VS Code itself. Switch to the Debug viewlet, choose the `Attach to Extension Host` configuration, and press <kbd>F5</kbd>.
### Unit Testing
Press <kbd>CMD+SHIFT+T</kbd> (<kbd>CTRL+SHIFT+T</kbd> on Windows) to start the unit tests or run the tests directly from a terminal by running `./scripts/test.sh` from the `vscode` folder (`scripts\test` on Windows). The [test README](https://github.com/Microsoft/vscode/blob/master/test/README.md) has complete details on how to run and debug tests, as well as how to produce coverage reports.
### Linting
We use [tslint](https://github.com/palantir/tslint) for linting our sources. You can run tslint across the sources by calling `gulp tslint` from a terminal or command prompt. You can also run `gulp tslint` as a Code task by pressing <kbd>CMD+P</kbd> (<kbd>CTRL+P</kbd> on Windows) and entering `task tslint`. Warnings from tslint show up in the `Errors and Warnings` quick box and you can navigate to them from inside Code.
To lint the source as you make changes you can install the [tslint extension](https://marketplace.visualstudio.com/items/eg2.tslint).
## Work Branches
Even if you have push rights on the Microsoft/vscode repository, you should create a personal fork and create feature branches there when you need them. This keeps the main repository clean and your personal workflow cruft out of sight.
## Pull Requests
Before we can accept a pull request from you, you'll need to sign a [Contributor License Agreement (CLA)](contributor-license-agreement.md). It is an automated process and you only need to do it once. The project [README.md](https://github.com/Microsoft/vscode/blob/master/README.md) details how to clone, build, run, debug and test Code.
To enable us to quickly review and accept your pull requests, always create one pull request per issue. Never merge multiple requests in one. Be sure to follow our [Coding Guidelines](coding-guidelines.md) and keep code changes as small as possible. Avoid pure formatting changes to code that has not been modified otherwise. And, if possible, cover your changes with tests.
## Where to Contribute
Check out the [issues list](https://github.com/Microsoft/vscode/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue). Issues labeled [`effort easy`](https://github.com/Microsoft/vscode/issues?q=is%3Aopen+is%3Aissue+label%3A%22effort+easy%22) are good candidates to pick up if you are in the code for the first time.
## Suggestions
We're also interested in your feedback for the future of Code. You can submit a suggestion or feature request through the issue tracker. To make this process more effective, we're asking that these include more information to help define them more clearly.
## Discussion Etiquette
In order to keep the conversation clear and transparent, please limit discussion to English and keep things on topic with the issue. Be considerate to others and try to be courteous and professional at all times.

Двоичные данные
wiki/contributing/images/sourcemaps.png

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 160 KiB

Просмотреть файл

@ -1,34 +0,0 @@
Use this issue to discuss the contents of this wiki [#2789](https://github.com/Microsoft/vscode/issues/2789).
## Community Requested Extensions
This is a list of community requested extensions collected from a variety of sources (twitter, user voice, etc.).
For discussions on specific extensions and to add more information, link a newly created issue to one of the extensions names below.
- [ ] Auto complete relative paths in Javascript files. See [SO question](https://stackoverflow.com/questions/35415444/is-it-possible-to-auto-complete-relative-paths-in-vscode) for details.
- [ ] [GCC linting](https://atom.io/packages/linter-gcc)
- [ ] [atom-alignment](https://atom.io/packages/atom-alignment). Aligning multi-line, multi-cursor and multiple selections.
- [ ] [Sublime-Style-Column-Selection](https://atom.io/packages/Sublime-Style-Column-Selection)
- [ ] [activate-power-mode](https://atom.io/packages/activate-power-mode)
- [ ] [atom-beautify](https://atom.io/packages/atom-beautify). Lots of language support for code formatting.
- [ ] [atom-typescript](https://atom.io/packages/atom-typescript). Feature that is missing is compile on save with no task runner configuration. Good task candidate.
- [ ] [color-picker](https://atom.io/packages/color-picker). Sleek color picking UI widget.
- [ ] [hex](https://atom.io/packages/hex). View the hex of any dump file.
- [ ] [qmake / Qt project file](http://doc.qt.io/qt-5/qmake-project-files.html). Syntax highlighting and auto-complete.
## Complete
- [x] docblockr, doxy-commenting -> VS Code [Document This](https://marketplace.visualstudio.com/items?itemName=joelday.docthis) extension
- [x] atom alignment -> VS Code [Align](https://marketplace.visualstudio.com/items?itemName=steve8708.Align)
- [x] [escape-utils](https://atom.io/packages/escape-utils) => VS Code [Encode Decode](https://marketplace.visualstudio.com/items?itemName=mitchdenny.ecdc)
- [x] [html2jade-plus](https://atom.io/packages/html2jade-plus) => VS Code [html2jade](https://marketplace.visualstudio.com/items?itemName=wmaurer.html2jade)
- [x] [jsfmt](https://atom.io/packages/atom-jsfmt) => VS Code [Javascript Standard Format](https://marketplace.visualstudio.com/items?itemName=chenxsan.vscode-standard-format)
- [x] [language-jade](https://atom.io/packages/language-jade) => Shipped with Editor.
- [x] [linter](https://atom.io/packages/linter) => Lots of linters available, including [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint).
- [x] [linter-eslint](https://atom.io/packages/eslint) => VS Code [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)
- [x] [linter-jscs](https://atom.io/packages/linter-jscs) => VS Code [JSCS Linting](https://marketplace.visualstudio.com/items?itemName=ms-vscode.jscs)
- [x] [linter-tslint](https://atom.io/packages/linter-tslint) => VS Code [tslint](https://marketplace.visualstudio.com/items?itemName=eg2.tslint)
- [x] [pretty-json](https://atom.io/packages/pretty-json) => VS Code [Pretty JSON](https://marketplace.visualstudio.com/items?itemName=mohsen1.prettify-json)
- [x] [tabs-to-spaces](https://atom.io/packages/tabs-to-spaces) => [Untabify](https://marketplace.visualstudio.com/items?itemName=ilich8086.Untabify)
- [x] [todo-show](https://atom.io/packages/todo-show). Show todo, fixme, and changed. -> [vscode-todo](https://marketplace.visualstudio.com/items/MattiasPernhult.vscode-todo)

Просмотреть файл

@ -1,28 +0,0 @@
# Submitting bugs and suggestions.
The Code project tracks issues and feature requests using the [GitHub issue tracker](https://github.com/microsoft/vscode/issues) for the `vscode` repository.
## Before Submitting an Issue
First, please do a search in open issues to see if the issue or feature request has already been filed. If there is an issue add your comments to this issue.
The Code project is distributed across multiple repositories, try to file the issue against the correct repository [Related Projects](../project-management/related-projects.md).
If your issue is a question consider asking it on [Stack Overflow](https://stackoverflow.com/questions/tagged/vscode) using the tag `vscode`.
## Writing Great Issues and Suggestions
File a single issue per problem and feature request, do not file combo issues.
The more information you can provide, the more likely someone will be successful reproducing the issue and finding a fix. Consider the following:
* Provide reproducable steps, what the result of the steps was, an what you would have expected.
* Description of what you expect to happen
* Animated GIFs
* Code that demonstrates the issue
* Version of VS Code
* Errors in the Dev Tools Console (Help | Toggle Developer Tools)
* When you have extensions installed, can you reproduce the issue when starting vscode without extensions by using `--disable-extensions`?
Don't feel bad if we can't reproduce the issue and ask for more information!
Finally, this is our [issue tracking](../project-management/issue-tracking.md) work flow that describes what happens once you submitted an issue.

Просмотреть файл

@ -1,6 +0,0 @@
# Breaking Changes
We take breaking changes seriously and will outline them for each milestone in this document. As we are still pre "1.0", you can expect that there will be changes before we lock down the API set.
## December 2015

Просмотреть файл

@ -1,39 +0,0 @@
# Development Process
## Roadmap
The team has a 6 month high level [Roadmap](roadmap.md) which defines high level themes and features to be addressed in this timeframe.
## Iterations
We will work in monthly iterations on the items on the roadmap. Iterations are roughly month based, rather than week based. We will begin a milestone on a Monday and end on a Friday, meaning that each milestone can have a different duration, depending on how the weeks align.
At the end of each iteration we want to have a version of Code that can be used by the Code community. The work planned during an iteration is captured in the iteration plan (see [Iteration Plans](iteration-plans.md)). The feature highlights of each iteration are highlighted in the release notes.
## Planning
Before each milestone we will prioritize features to implement and bugs to fix in the upcoming iteration. The result of this meeting will be a set of features on the [Roadmap](roadmap.md) along with a set of bugs marked to be fixed in the upcoming Milestone. Together, this encompasses the planned work for the upcoming month.
Each feature should have design or description of the feature that can be contributed by, augmented, and commented upon by the community.
## Inside an Iteration
We work in weekly segments:
- **Week 1**: Reduce debt introduced in the previous iteration, address critical issues uncovered in the previous iteration, plan the next iteration
- **Week 2**: Work according the plan
- **Week 3+**: Work according the plan
- **Final Week**: End game
- the team tests the new features according a test plan and updates the documentation.
- we make a pre-release available on the 'insiders' channel and invite users to help us test the pre-release.
## Triage
Bugs and features will be assigned a milestone and within a milestone they will be assigned a priority. The priority dictates the order in which issues should be addressed. A `important` bug (something that we think is critical for the milestone) is to be addressed before the other bugs.
To find out when a bug fix will be available in an update, then please check the milestone that is assigned to the issue.
Please see [Issue Tracking](issue-tracking.md) for a description of the different workflows we are using.
## Weekly
Each week we will manage work items, crossing off completed features, and triaging bugs. At the end of the milestone we will strive for 0 bugs and 0 issues assigned to the milestone. Some bugs and features will then be either postponed to later milestones or moved back to the backlog.
## End Game
The final week of the milestone is what we call the "end game". During this week we will wrap up any feature work, we will test using a test plan [Iteration Plans](iteration-plans.md), and then we will fix the critical bugs for that milestone.
During the endgame we make a build available on the `insiders` channel ([see also](https://code.visualstudio.com/Docs/supporting/FAQ#_how-can-i-test-prerelease-versions-of-vs-code). We will monitor incoming issues from this release, fix any critical bugs that arise, and then produce a final `stable` release for the milestone and the `stable` channel.

Просмотреть файл

@ -1,67 +0,0 @@
This page describes how we track issues in the `vscode` repository.
## Inbox tracking and Issue triage
New issues or pull requests submitted by the community are triaged by a team member. The team rotates the inbox tracker on a weekly basis.
### Inbox Tracking
The [Inbox query](https://github.com/Microsoft/vscode/issues?utf8=%E2%9C%93&q=is%3Aopen+no%3Aassignee+-label%3Afeature-request+-label%3Atestplan-item+) contains all the
- **open issues or pull requests** that
- are **not feature requests** nor **test plan items** and
- have **no owner assignment**.
The **inbox tracker** should do the following initial triage:
- Is the issue **invalid**? Close it and justify the reason.
- Is the issue **a general question**, like *How can I compile TypeScript*? Close it and redirect the user to [Stack Overflow](http://stackoverflow.com/questions/tagged/vscode) with [this message](https://gist.github.com/joaomoreno/960b4f643b2ff09bcdf7).
- Is it a feature request? Tag it accordingly and assign to owner. The owner will unassign himself if he does not plan to work on the feature.
- Else, assign the issue to an **owner**.
**Everyone** should do the following secondary triage to their assigned issues (the **inbox tracker** may do some of these steps too, if obvious):
- If an issue needs more info, assign the `needs more info` and ask for more information in a comment.
- If the issue is a bug, add the `bug` label.
- If the issue is a feature request, add the label `feature request` and @-mention if someone from the team should be aware of the feature request.
- If needed, edit the title to improve it.
- If possible, assign the issue with a feature/topic area label.
- If the issue is important, assign an `important` label and optionally mention @microsoft/vscode to get the attention of the entire team.
- If the issue needs to be fixed in this release, assign it to the current milestone (eg: blocks a scenario, completes a new feature, etc.). Else, assign it to the **Backlog**.
- If needed, follow-up with the author.
### Planning
During planning we review the open issues and assign the ones we plan to work on to the current milestone. Issues that do not make it for the current milestone are either assigned to the next milestone or they are moved back to the backlog milestone.
## Filing bugs as development team member
When team members files a bug they perform steps of the inbox tracker for the issue they filed. Therefore bugs filed by the development team do not need to be triged by the inbox tracker.
## Verification
Issues need to be verified.
You can easily find the issues that need verification or reassignment from your part with the following query (remember to replace your username and the iteration name):
https://github.com/issues?utf8=%E2%9C%93&q=is%3Aissue+assignee%3Ajoaomoreno+is%3Aclosed+-label%3Averified+-label%3Atestplan-item+milestone%3A%22Feb+2016%22+
- Once an issue is fixed its state is changed to `closed`
- If you are the issue's resolver, please reassign the issue to someone else for verification
- Once an issue is verified the `verified` label is added to it
- Invalid, duplicates, etc should also be added the `verified` label so they get out of the queries
## Duplicates
Duplicate bugs are closed with a comment `duplicates #issue`. Please try to reference an earlier issue **unless** a later issue is more appropriate (has more context, better scenarios, repro steps, etc.).
## Moving issues to another repository
Use the [issue mover](https://github-issue-mover.appspot.com/) tool to move bugs to another repository.
## Consistent labels across vscode repositories
Visual Studio Code consists of multiple repositories and we should use consistent work flows and labels across all our repositories.
To establish consistent labels across all our repositories use the [Label Manager](http://www.dorukdestan.com/github-label-manager/) tool.
## Consistent milestones across vscode repositories
To enable planning across repositories all the Visual Studio Code related repositories need to define the same milestones.
## Iteration Planning
We use issues for iteration plans and the wiki for the test plan.
- Iteration Plans have a label `iteration-plan` with `tasks` [ ] for the different items. The individual items are tracked in existing issues (bugs, feature requests). If there is no existing issue then a new issue with the label `plan-item` is created. Here is an [example](https://github.com/Microsoft/vscode/issues/917).
- We use a wiki page for a test plan. Here is an [example](https://github.com/Microsoft/vscode/wiki/December-Test-Plan).

Просмотреть файл

@ -1,26 +0,0 @@
# Iteration Plans
## April
* [Iteration Plan](https://github.com/Microsoft/vscode/issues/4888)
* [Test Plan](https://github.com/Microsoft/vscode/issues?q=label%3Atestplan-item+milestone%3A%22April+2016%22)
## March
* [Iteration Plan](https://github.com/Microsoft/vscode/issues/3555)
* [Test Plan](https://github.com/Microsoft/vscode/issues?q=label%3Atestplan-item+milestone%3A%22March+2016%22)
## February
* [Iteration Plan](https://github.com/Microsoft/vscode/issues/2616)
* [Test Plan](https://github.com/Microsoft/vscode/issues?q=label%3Atestplan-item+milestone%3A%22Feb+2016%22)
## Archive
## January
* [Iteration Plan](https://github.com/Microsoft/vscode/issues/1826)
* [Test Plan](https://github.com/Microsoft/vscode/issues?q=label%3Atestplan-item+milestone%3A%22Jan+2016%22)
### December
* [December Iteration Plan](https://github.com/Microsoft/vscode/issues/917)
* [December Test Plan](https://github.com/Microsoft/vscode/wiki/December-Test-Plan)
* [December Pre-release](https://github.com/Microsoft/vscode/wiki/December-Pre-Release)
### November
* [November|November Plan](https://github.com/Microsoft/vscode/wiki/November-Plan)

Просмотреть файл

@ -1,17 +0,0 @@
# Previous Releases
| Version | Windows | OS X | Linux ia32 | Linux x64 |
| ------- | ------- | ---- | ---------- | --------- |
| 0.10.10 |[download](https://az764295.vo.msecnd.net/stable/5b5f4db87c10345b9d5c8d0bed745bcad4533135/VSCodeSetup-stable.exe) | [download](https://az764295.vo.msecnd.net/stable/5b5f4db87c10345b9d5c8d0bed745bcad4533135/VSCode-darwin-stable.zip) | [download](https://az764295.vo.msecnd.net/stable/5b5f4db87c10345b9d5c8d0bed745bcad4533135/VSCode-linux-ia32-stable.zip) | [download](https://az764295.vo.msecnd.net/stable/5b5f4db87c10345b9d5c8d0bed745bcad4533135/VSCode-linux-x64-stable.zip)
| 0.10.9 | | [download](https://az764295.vo.msecnd.net/stable/45d69357c9eb068dd8e624f5b0fe461cd2078d88/VSCode-darwin.zip) | |
| 0.10.8 | [download](https://az764295.vo.msecnd.net/stable/db71ac615ddf9f33b133ff2536f5d33a77d4774e/VSCodeSetup-stable.exe) | | [download](https://az764295.vo.msecnd.net/stable/db71ac615ddf9f33b133ff2536f5d33a77d4774e/VSCode-linux-ia32-stable.zip) | [download](https://az764295.vo.msecnd.net/stable/db71ac615ddf9f33b133ff2536f5d33a77d4774e/VSCode-linux-x64-stable.zip)
| 0.10.6 | [download](https://az764295.vo.msecnd.net/public/0.10.6/VSCodeSetup.exe) | [download](https://az764295.vo.msecnd.net/public/0.10.6/VSCode-darwin.zip) | [download](https://az764295.vo.msecnd.net/public/0.10.6/VSCode-linux32.zip) | [download](https://az764295.vo.msecnd.net/public/0.10.6/VSCode-linux64.zip)
| 0.10.5 |[download](https://az764295.vo.msecnd.net/public/0.10.5/VSCodeSetup.exe) | [download](https://az764295.vo.msecnd.net/public/0.10.5/VSCode-darwin.zip) | [download](https://az764295.vo.msecnd.net/public/0.10.5/VSCode-linux32.zip) | [download](https://az764295.vo.msecnd.net/public/0.10.5/VSCode-linux64.zip)
| 0.10.3 |[download](https://az764295.vo.msecnd.net/public/0.10.3/VSCodeSetup.exe) | [download](https://az764295.vo.msecnd.net/public/0.10.3/VSCode-darwin.zip) | [download](https://az764295.vo.msecnd.net/public/0.10.3/VSCode-linux32.zip) | [download](https://az764295.vo.msecnd.net/public/0.10.3/VSCode-linux64.zip)
| 0.9.2 | [download](https://az764295.vo.msecnd.net/public/0.9.2/VSCode-win32.zip) | [download](https://az764295.vo.msecnd.net/public/0.9.2/VSCode-darwin.zip) | [download](https://az764295.vo.msecnd.net/public/0.9.2/VSCode-linux32.zip) | [download](https://az764295.vo.msecnd.net/public/0.9.2/VSCode-linux64.zip)
| 0.9.1 | [download](https://az764295.vo.msecnd.net/public/0.9.1/VSCode-win32.zip) | [download](https://az764295.vo.msecnd.net/public/0.9.1/VSCode-darwin.zip) | [download](https://az764295.vo.msecnd.net/public/0.9.1/VSCode-linux32.zip) | [download](https://az764295.vo.msecnd.net/public/0.9.1/VSCode-linux64.zip)
| 0.9.0 | [download](https://az764295.vo.msecnd.net/public/0.9.0/VSCode-win32.zip) | [download](https://az764295.vo.msecnd.net/public/0.9.0/VSCode-darwin.zip) | [download](https://az764295.vo.msecnd.net/public/0.9.0/VSCode-linux32.zip) | [download](https://az764295.vo.msecnd.net/public/0.9.0/VSCode-linux64.zip)
| 0.8.0 | [download](https://az764295.vo.msecnd.net/public/0.8.0/VSCode-win32.zip) | [download](https://az764295.vo.msecnd.net/public/0.8.0/VSCode-darwin.zip) | [download](https://az764295.vo.msecnd.net/public/0.8.0/VSCode-linux32.zip) | [download](https://az764295.vo.msecnd.net/public/0.8.0/VSCode-linux64.zip)
| 0.7.0 | [download](https://az764295.vo.msecnd.net/public/0.7.0/VSCode-win32.zip) | [download](https://az764295.vo.msecnd.net/public/0.7.0/VSCode-darwin.zip) | [download](https://az764295.vo.msecnd.net/public/0.7.0/VSCode-linux32.zip) | [download](https://az764295.vo.msecnd.net/public/0.7.0/VSCode-linux64.zip)
| 0.6.0 | [download](https://az764295.vo.msecnd.net/public/0.6.0/VSCode-win32.zip) | [download](https://az764295.vo.msecnd.net/public/0.6.0/VSCode-darwin.zip) | [download](https://az764295.vo.msecnd.net/public/0.6.0/VSCode-linux32.zip) | [download](https://az764295.vo.msecnd.net/public/0.6.0/VSCode-linux64.zip)
| 0.5.0 | [download](https://az764295.vo.msecnd.net/public/0.5.0/VSCode-win32.zip) | [download](https://az764295.vo.msecnd.net/public/0.5.0/VSCode-darwin.zip) ||||

Просмотреть файл

@ -1,57 +0,0 @@
The Code project consists of the `vscode` repository plus a number of satellite projects.
## Core Repositories
|Component|Repository|
|---|---|
|Node Debug|[vscode-node-debug](https://github.com/microsoft/vscode-node-debug)|
|Mono Debug|[vscode-mono-debug](https://github.com/microsoft/vscode-mono-debug)|
|File Watcher|[vscode-filewatcher-windows](https://github.com/microsoft/vscode-filewatcher-windows)|
|`vscode.d.ts`|[vscode-extension-code](https://github.com/microsoft/vscode-extension-vscode)|
|`vscode-languageserver`|[vscode-languageserver-node](https://github.com/microsoft/vscode-languageserver-node)|
|TextMate Service|[vscode-textmate](https://github.com/microsoft/vscode-textmate)|
|AMD Loader|[vscode-loader](https://github.com/microsoft/vscode-loader)|
## SDK Tools
|Tool|Repository|
|---|---|
|yo code generator|[vscode-generator-code](https://github.com/microsoft/vscode-generator-code)|
|vsce publishing tool|[vscode-vsce](https://github.com/microsoft/vscode-vsce)|
## Documentation
|Repository|
|---|
|[`vscode-docs`](https://github.com/microsoft/vscode-docs)|
## Languages
|Language|Repository|
|---|---|
|C#|[Omnisharp](https://github.com/OmniSharp/omnisharp-vscode)
|Go|[vscode-go](https://github.com/microsoft/vscode-go)|
|LaTeX|[vscode-latex](https://github.com/microsoft/vscode-latex)|
## Linters
|Linter|Repository|
|---|---|
|JSCS |[vscode-jscs](https://github.com/microsoft/vscode-jscs)|
|TSLint |[vscode-tslint](https://github.com/microsoft/vscode-tslint)|
|ESLint |[vscode-eslint](https://github.com/microsoft/vscode-eslint)|
|JSHint |[vscode-jshint](https://github.com/microsoft/vscode-jshint)|
## Themes
|Theme|
|---|
|[`vscode-themes`](https://github.com/microsoft/vscode-themes)
## Samples
|Sample|Repository|
|---|---|
|Mock Debug Adapter|[vscode-mock-debug](https://github.com/microsoft/vscode-mock-debug)|
|Editor Config|[vscode-editorconfig](https://github.com/microsoft/vscode-editorconfig)|
|Markdown Tools|[vscode-mdtools](https://github.com/microsoft/vscode-mdtools)|
|Awesome Backspace|[vscode-backspace](https://github.com/microsoft/vscode-backspace)|
|JSDoc Comments|[vscode-comment](https://github.com/microsoft/vscode-comment)|
|HTML Tag Wrapper|[vscode-htmltagwrap](https://github.com/microsoft/vscode-htmltagwrap)|
|Word Count|[vscode-wordcount](https://github.com/microsoft/vscode-wordcount)|
|Markdown Spell Checker|[vscode-spellcheck](https://github.com/microsoft/vscode-spell-check)|
|Samples|[vscode-extension-samples](https://github.com/microsoft/vscode-extension-samples)|

Просмотреть файл

@ -1,42 +0,0 @@
# 1.0 Release of VS Code
As of March 31st we will have completed the engineering work for our “1.0” release of VS Code. However, with all of the excitement around [//Build](https://build.microsoft.com/), we've decided to take this opportunity to hold back our "1.0" release for just a couple of weeks, to get some more community testing on the product. Our “Insiders” release has been updated to match what we plan to ship in mid April. We encourage you to [download it today](http://code.visualstudio.com/insiders?wt.mc_id=DX_835018&utm_source=blogs&utm_medium=ms%20editorial&utm_campaign=GH%20Roadmap%201-0%20Update) ([release notes](https://github.com/Microsoft/vscode-docs/blob/vnext/release-notes/latest.md)), use it, and let us know if you find any critical ship stopping issues. In the meantime we're going to finish up work on the [1.0 documentation](https://github.com/Microsoft/vscode-docs/tree/vnext/docs), clean up debt, unwind a bit, and start planning the future of Visual Studio Code.
----
## Declare General Availability ("GA")
* Accessibility
* Localization
* Stable APIs
* Performance
## Eliminate Adoption Blockers
### Core Editing
* Code folding
* Providing key bindings for users used to other editors, support VIM extension authors
* Improve the document management, stacking behaviour of editors
## Address Development Pain Points
### Workbench
* Support horizontal layout for output (debug output, task output)
### Tasks
* Support running multiple tasks
* Improve support for continously running `watching` tasks
### Extensions
* Improve in product extension selection performance
* Improve extension discovery and acquisition experience, looking across website/marketplace and product
### Debug
* Support conditional break points
* Support remote debugging (e.g. attach to Node app running in Docker container locally or on Linux)
* Support additional debug architectures (e.g. xdebug for PHP, C# debugging)
### JavaScript
* Improved Intellisense in JavaScript, migrate to [Salsa](https://github.com/Microsoft/TypeScript/issues/4789)
* Improve the support for JSX (Salsa enables this)
### C&#35;
* Move into a separate extension
* Debugging support (collaboration with the CoreCLR team) :heart: