Skip to content

Commit fdff650

Browse files
committed
Move wiki to repo
This commit does the following: - Migrates all pages from the wiki that are linked to - Fix links in all wiki pages and in ./README.md, ./CONTRIBUTING.md and ./test/README.md Fixes microsoft#2480
1 parent 283bfae commit fdff650

18 files changed

Lines changed: 607 additions & 12 deletions

CONTRIBUTING.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
### Before Submitting an Issue
44
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.
55

6-
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).
6+
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).
77

8-
If your issue is a question then please ask the question on [Stack Overflow](https://stackoverflow.com/questions/tagged/vscode) using the tag `vscode`.
8+
If your issue is a question then please ask the question on [Stack Overflow](https://stackoverflow.com/questions/tagged/vscode) using the tag `vscode`.
99

1010
## Writing Good Bug Reports and Feature Requests
1111

@@ -19,9 +19,8 @@ The more information you can provide, the more likely someone will be successful
1919
* Code that demonstrates the issue
2020
* Version of VS Code
2121
* Errors in the Dev Tools Console (Help | Toggle Developer Tools)
22-
* When you have extensions installed, can you reproduce the issue when starting vscode without extensions by using the `--disable-extensions` command line argument?
22+
* When you have extensions installed, can you reproduce the issue when starting vscode without extensions by using the `--disable-extensions` command line argument?
2323

2424
## Contributing Fixes
2525
If you are interested in fixing issues and contributing directly to the code base,
26-
please see the document [How to Contribute](https://github.com/Microsoft/vscode/wiki/How-to-Contribute).
27-
26+
please see the document [How to Contribute](https://github.com/Microsoft/vscode/tree/master/wiki/contributing/how-to-contribute.md).

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ The [`vscode`](https://github.com/microsoft/vscode) repository is where we do de
1818

1919
## Contributing
2020
If you are interested in fixing issues and contributing directly to the code base,
21-
please see the document [How to Contribute](https://github.com/Microsoft/vscode/wiki/How-to-Contribute), which covers the following:
21+
please see the document [How to Contribute](https://github.com/Microsoft/vscode/tree/master/wiki/contributing/how-to-contribute.md), which covers the following:
2222

23-
* [How to build and run from source](https://github.com/Microsoft/vscode/wiki/How-to-Contribute#build-and-run-from-source)
24-
* [The development workflow, including debugging and running tests](https://github.com/Microsoft/vscode/wiki/How-to-Contribute#development-workflow)
25-
* [Coding Guidelines](https://github.com/Microsoft/vscode/wiki/Coding-Guidelines)
26-
* [Submitting pull requests](https://github.com/Microsoft/vscode/wiki/How-to-Contribute#pull-requests)
23+
* [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)
24+
* [The development workflow, including debugging and running tests](https://github.com/Microsoft/vscode/tree/master/wiki/contributing/how-to-contribute.md#development-workflow)
25+
* [Coding Guidelines](https://github.com/Microsoft/vscode/tree/master/wiki/contributing/coding-guidelines.md)
26+
* [Submitting pull requests](https://github.com/Microsoft/vscode/tree/master/wiki/contributing/how-to-contribute.md#pull-requests)
2727

2828
## Feedback
2929

@@ -35,7 +35,7 @@ please see the document [How to Contribute](https://github.com/Microsoft/vscode/
3535
## Related Projects
3636
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)
3737

38-
For a complete list, please see the [Related Projects](https://github.com/Microsoft/vscode/wiki/Related-Projects) page on our wiki.
38+
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.
3939

4040
## License
4141
[MIT](LICENSE.txt)

test/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Run
44

5-
The best way to run the Code tests is from within VS Code. Simply press `CMD+Shift+T` (`Ctrl+Shift+T` on Windows) 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.
5+
The best way to run the Code tests is from within VS Code. Simply press `CMD+Shift+T` (`Ctrl+Shift+T` on Windows) 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.
66

77
If you wish to run the tests from a terminal, from the `vscode` folder run:
88

wiki/README.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Welcome
2+
3+
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.
4+
5+
Please refer to the sidebar (on the right) for details on Project Management, Contributing to Code, and Documentation.
6+
7+
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)!
8+
9+
## Table of contents
10+
11+
- Contributing
12+
- [How to Contribute](contributing/how-to-contribute.md)
13+
- [Submitting Bugs and Suggestions](contributing/submitting-bugs-and-suggestinos.md)
14+
- [Code Organization](contributing/code-organization.md)
15+
- [Coding Guidelines](contributing/coding-guidelines.md)
16+
- [Contributor License Agreement](contributing/contributor-license-agreement.md)
17+
- [Requested Extensions](contributing/requested-extensions.md)
18+
- Project Management
19+
- [Roadmap](project-management/roadmap.md)
20+
- [Iteration Plans](project-management/iteration-plans.md)
21+
- [Breaking Changes](project-management/breaking-changes.md)
22+
- [Development Process](project-management/development-process.md)
23+
- [Issue Tracking](project-management/issue-tracking.md)
24+
- [Previous Releases](project-management/previous-releases.md)
25+
- [Related Projects](project-management/related-projects.md)
26+
- [Documentation](https://code.visualstudio.com/docs)
27+
- [Extensions](https://code.visualstudio.com/docs/extensions/overview)
28+
- [API](https://code.visualstudio.com/docs/extensionAPI/overview)
29+
- [Documetnation repository](https://github.com/microsoft/vscode-docs)
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Code Organization
2+
3+
Code consists a layered and modular `core` that can be extended using extensions. Extensions are run in a separate process refered to as the
4+
`extension host.` Extensions are implemented by utilizing the [extension API](https://code.visualstudio.com/docs/extensions/overview).
5+
6+
# Layers
7+
8+
The `core` is partitioned into the following layers:
9+
- `base`: Provides general utilities and user interface building blocks
10+
- `platform`: Defines service injection support and the base services for Code
11+
- `editor`: The "Monaco" editor is available as a separate downloadable component
12+
- `languages`: For historical reasons, not all languages are implemented as extensions (yet) - as Code evolves we will migrate more languages to towards extensions
13+
- `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.
14+
15+
# Target Environments
16+
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:
17+
- `common`: Source code that only requires basic JavaScript APIs and run in all the other target environments
18+
- `browser`: Source code that requires the `browser` APIs like access to the DOM
19+
- may use code from: `common`
20+
- `node`: Source code that requires [`nodejs`](https://nodejs.org) APIs
21+
- may use code from: `common`
22+
- `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
23+
- may use code from: `common`, `browser`, `node`
24+
- `electron-main`: Source code that requires the [Electron main-process](https://github.com/atom/electron/tree/master/docs#modules-for-the-main-process) APIs
25+
- may use code from: `common`, `node`
26+
27+
# Dependency Injection
28+
29+
The code is organised around services of which most are defined in the `platform` layer. Services get to its clients via `constructor injection`.
30+
31+
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.
32+
33+
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.
34+
35+
```javascript
36+
class Client {
37+
constructor(@IModelService modelService: IModelService) {
38+
// use modelService
39+
}
40+
}
41+
```
42+
43+
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.
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# Coding Guidelines
2+
3+
## Git
4+
5+
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.
6+
7+
```
8+
git config --global pull.rebase true
9+
```
10+
11+
## Indentation
12+
We use tabs, not spaces.
13+
14+
## Names
15+
* Use PascalCase for `type` names
16+
* Use PascalCase for `enum` values
17+
* Use camelCase for `function` and `method` names
18+
* Use camelCase for `property` names and `local variables`
19+
* Use whole words in names when possible
20+
21+
## Types
22+
* Do not export `types` or `functions` unless you need to share it across multiple components
23+
* Do not introduce new `types` or `values` to the global namespace
24+
25+
## Comments
26+
* Use JSDoc style comments for `functions`, `interfaces`, `enums`, and `classes`
27+
28+
## Strings
29+
* Use "double quotes" for strings shown to the user that need to be externalized (localized)
30+
* Use 'single quotes' otherwise
31+
* All strings visible to the user need to be externalized
32+
33+
## Style
34+
* Use arrow functions `=>` over anonymous function expressions
35+
* Only surround arrow function parameters when necessary. For example, `(x) => x + x` is wrong but the following are correct:
36+
37+
``` javascript
38+
x => x + x
39+
(x,y) => x + y
40+
<T>(x: T, y: T) => x === y
41+
```
42+
43+
* Always surround loop and conditional bodies with curly braces
44+
* Open curly braces always go on the same line as whatever necessitates them
45+
* Parenthesized constructs should have no surrounding whitespace. A single space follows commas, colons, and semicolons in those constructs. For example:
46+
47+
``` javascript
48+
for (var i = 0, n = str.length; i < 10; i++) { }
49+
if (x < 10) { }
50+
function f(x: number, y: string): void { }
51+
```
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Contributor License Agreement
2+
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.
3+
4+
However, you don't have to do this up-front. You can simply clone, fork, and submit your pull-request as usual.
5+
6+
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`.
7+
8+
Signing the CLA might sound scary but it's actually very simple and can be done in less than a minute.

0 commit comments

Comments
 (0)