- This folder contains all of the files necessary for your extension.
package.json
- this is the manifest file in which you declare your extension and command.- 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.
src/extension.ts
- this is the main file where you will provide the implementation of your command.- 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 theactivate
function we callregisterCommand
. - We pass the function containing the implementation of the command as the second parameter to
registerCommand
.
- The file exports one function,
- Press F5 to open a new window with your extension loaded.
- Run your command from the command palette by pressing (Ctrl+Shift+P or Cmd+Shift+P on Mac) and typing
Hello World
. - Set breakpoints in your code inside
src/extension.ts
to debug your extension. - Find output from your extension in the debug console.
- You can relaunch the extension from the debug toolbar after changing code in
src/extension.ts
. - You can also reload (Ctrl+R or Cmd+R on Mac) the VS Code window with your extension to load your changes.
- You can open the full set of our API when you open the file
node_modules/@types/vscode/index.d.ts
.
- Open the debug viewlet (Ctrl+Shift+D or Cmd+Shift+D on Mac) and from the launch configuration dropdown pick
Extension Tests
. - Press F5 to run the tests in a new window with your extension loaded.
- See the output of the test result in the debug console.
- Make changes to
src/test/suite/extension.test.ts
or create new test files inside thetest/suite
folder.- The provided test runner will only consider files matching the name pattern
**.test.ts
. - You can create folders inside the
test
folder to structure your tests any way you want.
- The provided test runner will only consider files matching the name pattern
- Reduce the extension size and improve the startup time by bundling your extension.
- Publish your extension on the VSCode extension marketplace.
- Automate builds by setting up Continuous Integration.