- This folder contains all of the files necessary for the extension.
package.json- this is the manifest file in which you declare the 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 the command.- The file exports one function,
activate, which is called the very first time the extension is activated (in this case by executing the command). Inside theactivatefunction we callregisterCommand. - We pass the function containing the implementation of the command as the second parameter to
registerCommand.
- The file exports one function,
- Press
F5to open a new window with the extension loaded. - Run the command from the command palette by pressing (
Ctrl+Shift+PorCmd+Shift+Pon Mac) and typingHello World. - Set breakpoints in the code inside
src/extension.tsto debug the extension. - Find output from the 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+RorCmd+Ron Mac) the VS Code window with the extension to load the changes.
- You can open the full set of our API when you open the file
node_modules/vscode/vscode.d.ts.
- Open the debug viewlet (
Ctrl+Shift+DorCmd+Shift+Don Mac) and from the launch configuration dropdown pickExtension Tests. - Press
F5to run the tests in a new window with the extension loaded. - See the output of the test result in the debug console.
- Make changes to
test/extension.test.tsor create new test files inside thetestfolder.- By convention, the test runner will only consider files matching the name pattern
**.test.ts. - You can create folders inside the
testfolder to structure the tests any way you want.
- By convention, the test runner will only consider files matching the name pattern
- Reduce the extension size and improve the startup time by bundling the extension.
- Publish the extension on the VSCode extension marketplace.
- Automate builds by setting up Continuous Integration.