This is a starter kit for creating a new extension for Visual Studio Code. It includes a basic structure and configuration to start developing a new extension.
- Basic configuration for the development environment
.editorconfig
- Editor configuration.linstagedrc
- Lint-staged configuration file.nvmrc
- Node version manager configuration filebiome.json
- Biome configuration filecommitlint.config.js
- Commit lint configuration filepackage.json
- Package configuration to manage dependenciestsconfig.json
- TypeScript configuration to compile the source code
- Basic structure for a new extension
app
- Source code to develop the extensionconfigs
- Configuration files and constantscontrollers
- Controllers to listen to commands
test
- Test files to test the extension
- JSON Schema validations for workspace settings
settings.schema.json
- JSON schema for the workspace settings
- Basic commands to get started with the extension
extension.ts
- Main file to run the extensionexample.controller.ts
- Example controller with basic commands
You need to have node and npm installed on your system to run the examples. It is recommended to use the node version used for VS Code development itself which is documented here
To get started with the extension, follow these steps:
-
Clone the repository
git clone cd vscode-extension-starter-minimal npm install code .
-
Press
F5
to open a new instance of Visual Studio Code with the extension running in debug mode -
Open the command palette and run the
My Extension: Hello World
command -
The extension will display a message in the output window
For more information, see the official documentation
To customize the extension, follow these steps:
-
Update multiple instances of the following items in bulk:
extensionIdentifier
- Replace with your extension identifier, e.g.fileManager
vscode-extension-starter-minimal
- Replace with your extension name, e.g.vscode-file-manager
My Extension
- Replace with your extension display name, e.g.VS Code File Manager
githubUsername
- Replace with your GitHub githubUsername, e.g.ManuelGil
extensionPublisher
- Replace with your extension publisher, e.g.imgildev
-
Change the
LICENSE
file with your extension information -
Remove the unnecessary files and folders
-
Add the necessary files and folders
-
Update the
src/app/configs/constants.config.ts
andsrc/app/configs/extension.config.ts
file with your extension information -
Update the
src/app/controllers/command-handler.controller.ts
file with yours commands -
Update the
src/extension.ts
file with your extension information -
Update the
settings.schema.json
file with your extension information -
Update the
package.json
file with your extension information -
Update the
README.md
file with your extension information
For more information, see the official documentation
To run the documentation, execute the following command in the terminal:
npm run compodoc
This will generate the documentation in the compodoc
folder.
For more information, see the official documentation
To build the extension, execute the following command in the terminal:
vsce package
This will create a .vsix
file in the root of the project.
For more information, see the official documentation
To publish the extension, execute the following command in the terminal:
vsce publish
This will open a new instance of Visual Studio Code with the extension running in debug mode.
For more information, see the official documentation
If you enjoy using Auto Barrel, consider following me for updates on this and future projects:
This extension was created using VSXpert, a template that helps you create Visual Studio Code extensions with ease. VSXpert provides a simple and easy-to-use structure to get you started quickly.
This extension is open-source software, and we welcome contributions from the community. If you'd like to contribute, please fork the GitHub repository and submit a pull request with your changes.
Before contributing, please read our Contribution Guidelines for instructions on coding standards, testing, and more.
We are committed to providing a friendly, safe, and welcoming environment for all, regardless of gender, sexual orientation, disability, ethnicity, religion, or similar personal characteristic. Please review our Code of Conduct before participating in our community.
For a complete list of changes, see the CHANGELOG.md
- Manuel Gil - Owner - ManuelGil
See also the list of contributors who participated in this project.
This extension is licensed under the MIT License. See the MIT License for details.