2015-11-15 16:16:24 +01:00
|
|
|
# Visual Studio Code
|
2015-11-14 18:06:03 +01:00
|
|
|
|
2015-11-15 16:16:24 +01:00
|
|
|
VS Code is a new choice of tool that combines the simplicity of a
|
|
|
|
code editor with what developers need for their core
|
|
|
|
edit-build-debug cycle. It is the first editor and first cross platform
|
|
|
|
tool in the Visual Studio family of products.
|
2015-11-14 18:06:03 +01:00
|
|
|
|
2015-11-15 16:16:24 +01:00
|
|
|
Code incorporates Visual Studio's world class editing and debugging experiences
|
|
|
|
whlie integrating with existing tools. A rich extensibility model and
|
|
|
|
ecosystem provides support for a broad array of languages and tools that
|
|
|
|
integrate seamlessly with Code.
|
|
|
|
|
|
|
|
The VSCode repository is where the Code team does development. We
|
|
|
|
encourage you to follow along, take part in the discussion, submit
|
|
|
|
issues, suggest a feature, or create a pull request!
|
|
|
|
|
|
|
|
Follow us [@code](https://twitter.com/code).
|
|
|
|
|
|
|
|
## Installation and Documentation
|
|
|
|
Download the latest build for your platform from the
|
|
|
|
[Visual Studio Code](http://code.visualstudio.com) website. Once
|
|
|
|
installed, Code will automatically update itself when we publish
|
|
|
|
new releases.
|
|
|
|
|
|
|
|
Everything you need to know about using and extending Code can be
|
|
|
|
found in our online [documentation](http://code.visualstudio.com/docs).
|
|
|
|
Found a typo? Want to clarify something? Clone the
|
|
|
|
[vscode-docs](https://github.com/microsoft/vscode-docs) repository
|
|
|
|
and make a pull request.
|
|
|
|
|
|
|
|
## Contributing
|
|
|
|
|
|
|
|
There are many ways to contribute to the Code project. For example:
|
|
|
|
|
|
|
|
* [Submit bugs](https://github.com/microsoft/vscode/issues) and help
|
|
|
|
us verify fixes as they are checked in
|
|
|
|
* Review [source code changes](https://github.com/microsoft/vscode/pulls)
|
|
|
|
* Engage with users and other developers on [Stack Overflow](http://go.microsoft.com/fwlink/?LinkID=536384)
|
|
|
|
* [Fix a bug and make a pull request](https://github.com/Microsoft/vscode/wiki/How-to-Contribute)
|
|
|
|
* Review the [documentation](https://github.com/microsoft/vscode-docs)
|
|
|
|
and make pull requests for anything from typos to new content
|
|
|
|
|
|
|
|
Check out [How to Contribute](https://github.com/Microsoft/vscode/wiki) for more information.
|
|
|
|
|
|
|
|
## 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
|
|
|
|
|
|
|
|
[Download the latest version](https://code.visualstudio.com/Download) of Visual Studio Code (you will use Code to edit Code!)
|
|
|
|
|
|
|
|
VS 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 (`scripts/npm`).
|
|
|
|
|
|
|
|
**Tip!** In case you fail to build the native modules you can copy the node_modules folder of the VS Code installation
|
|
|
|
into the VSCode workspaces node_modules folder. You will still need to run `scripts/npm install` to get all the development dependencies installed.
|
|
|
|
|
|
|
|
For native compilation, you will need python (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, 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 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++ compiler toolchain, for example [GCC](https://gcc.gnu.org)
|
|
|
|
|
|
|
|
After you have these tools installed, run the following commands to check out Code and install it:
|
|
|
|
|
|
|
|
OS X
|
|
|
|
|
|
|
|
git clone https://github.com/microsoft/vscode
|
|
|
|
cd vscode && npm install -g mocha gulp
|
|
|
|
./scripts/npm.sh install
|
|
|
|
|
|
|
|
Windows
|
|
|
|
|
|
|
|
git clone https://github.com/microsoft/vscode
|
|
|
|
cd vscode
|
|
|
|
npm install -g mocha gulp
|
|
|
|
scripts\npm install
|
|
|
|
|
|
|
|
Linux
|
|
|
|
|
|
|
|
git clone https://github.com/microsoft/vscode
|
|
|
|
cd vscode && npm install -g mocha gulp
|
|
|
|
# for 32bit, pass --arch=ia32
|
|
|
|
./scripts/npm.sh install --arch=x64
|
|
|
|
|
|
|
|
## Development Workflow
|
|
|
|
|
|
|
|
### Incremental Build
|
|
|
|
Open VS Code on the folder where you have cloned the vscode repository and press
|
|
|
|
`CTRL+SHIFT+B` on Windows or `COMMAND+SHIFT+B` on OSX to start the TypeScript
|
|
|
|
builder. It will do an initial full build and then watch for file changes, compiling
|
|
|
|
those changes *incrementally*. To view the build output open the Output stream by pressing `Shift+CMD+U`.
|
|
|
|
|
|
|
|
### Errors and Warnigns
|
|
|
|
Errors and warnings are indicated in the status bar at the bottom left. You can
|
|
|
|
view the error list using `View | Errors and Warnings` or pressing `CMD+P` and then `!`.
|
|
|
|
Please note, if you start the TypeScript builder from a terminal using `gulp watch`, errors
|
|
|
|
and warnings will only show in the console and not in Code.
|
|
|
|
|
|
|
|
**Tip!** You do not need to stop and restart the development version after each change,
|
|
|
|
you can just execute `Reload Window` from the command palette.
|
|
|
|
|
|
|
|
### Running Tests
|
|
|
|
To test the changes you launch a development version of VS Code on the workspace
|
|
|
|
`vscode`, which youare currently editing.
|
|
|
|
|
|
|
|
|
|
|
|
OS X and Linux
|
|
|
|
|
|
|
|
./scripts/code.sh
|
|
|
|
|
|
|
|
Windows
|
|
|
|
|
|
|
|
.\scripts\code.bat
|
|
|
|
|
|
|
|
You can identify the development version of Code by the Electron icon in the Dock or Taskbar.
|
|
|
|
|
|
|
|
### Debugging
|
|
|
|
VS Code uses a multi process architecture and your code is executed in different
|
|
|
|
processes:
|
|
|
|
* the render process runs the UI code inside the Shell window
|
|
|
|
* the plugin host process runs code implemented by a plugin
|
|
|
|
|
|
|
|
To debug code that runs in the renderer process you launch the Chrome Developers Tools using
|
|
|
|
`Help | Toggle Developer Tools`.
|
|
|
|
|
|
|
|
To debug code that runs inside the plugin host process you open another instance of the Chrome
|
|
|
|
Developer Tools using `Developer: Reveal Plugin Host Process` from the command palette.
|
|
|
|
|
|
|
|
**Tip!** When you are done debugging, use the 'Hide Window' button to close the Chrome Developer
|
|
|
|
Tools on the Plugin Host Process, or use the command `Developer: Hide Plugin Host Process Window`.
|
|
|
|
Do not close the window using the close button as this will also kill the plugin host process itself.
|
|
|
|
|
|
|
|
### Unit Testing
|
|
|
|
Press `SHIFT+CMD+T` (`CTRL+SHIFT+T` on Windows) to start the unit tests or run the tests directly
|
|
|
|
from a terminal using `gulp test`. The [test README.md](test/README.md) has complete details on
|
|
|
|
how to run tests and coverage reports.
|
2015-11-14 18:06:03 +01:00
|
|
|
|