|
| 1 | +# Welcome to your VS Code Extension |
| 2 | + |
| 3 | +## What's in the folder |
| 4 | + |
| 5 | +* This folder contains all of the files necessary for your extension. |
| 6 | +* `package.json` - this is the manifest file in which you declare your extension and command. |
| 7 | + * The sample plugin registers a command and defines its title and command name. With this information VS Code can show the command in the command palette. It doesn’t yet need to load the plugin. |
| 8 | +* `src/extension.ts` - this is the main file where you will provide the implementation of your command. |
| 9 | + * The file exports one function, `activate`, which is called the very first time your extension is activated (in this case by executing the command). Inside the `activate` function we call `registerCommand`. |
| 10 | + * We pass the function containing the implementation of the command as the second parameter to `registerCommand`. |
| 11 | + |
| 12 | +## Get up and running straight away |
| 13 | + |
| 14 | +* Press `F5` to open a new window with your extension loaded. |
| 15 | +* Run your command from the command palette by pressing (`Ctrl+Shift+P` or `Cmd+Shift+P` on Mac) and typing `Hello World`. |
| 16 | +* Set breakpoints in your code inside `src/extension.ts` to debug your extension. |
| 17 | +* Find output from your extension in the debug console. |
| 18 | + |
| 19 | +## Make changes |
| 20 | + |
| 21 | +* You can relaunch the extension from the debug toolbar after changing code in `src/extension.ts`. |
| 22 | +* You can also reload (`Ctrl+R` or `Cmd+R` on Mac) the VS Code window with your extension to load your changes. |
| 23 | + |
| 24 | +## Explore the API |
| 25 | + |
| 26 | +* You can open the full set of our API when you open the file `node_modules/@types/vscode/index.d.ts`. |
| 27 | + |
| 28 | +## Run tests |
| 29 | + |
| 30 | +* Open the debug viewlet (`Ctrl+Shift+D` or `Cmd+Shift+D` on Mac) and from the launch configuration dropdown pick `Extension Tests`. |
| 31 | +* Press `F5` to run the tests in a new window with your extension loaded. |
| 32 | +* See the output of the test result in the debug console. |
| 33 | +* Make changes to `src/test/suite/extension.test.ts` or create new test files inside the `test/suite` folder. |
| 34 | + * The provided test runner will only consider files matching the name pattern `**.test.ts`. |
| 35 | + * You can create folders inside the `test` folder to structure your tests any way you want. |
| 36 | + |
| 37 | +## Publish your extension |
| 38 | + |
| 39 | +* Follow the [working with extensions](https://code.visualstudio.com/api/working-with-extensions/publishing-extension) guide to create a publisher account on the [Visual Studio Code Marketplace](https://marketplace.visualstudio.com/). |
| 40 | +* Update the `PAT` from [Azure DevOps](https://dev.azure.com/your-organization/_usersSettings/tokens); |
| 41 | +* Run `vsce publish` to publish your extension to the marketplace. |
| 42 | + |
| 43 | +## Go further |
| 44 | + |
| 45 | +* [Follow UX guidelines](https://code.visualstudio.com/api/ux-guidelines/overview) to create extensions that seamlessly integrate with VS Code's native interface and patterns. |
| 46 | + * Reduce the extension size and improve the startup time by [bundling your extension](https://code.visualstudio.com/api/working-with-extensions/bundling-extension). |
| 47 | + * Automate builds by setting up [Continuous Integration](https://code.visualstudio.com/api/working-with-extensions/continuous-integration). |
0 commit comments