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.eslintignore
- ESLint ignore file.eslintrc.json
- ESLint configuration file.linstagedrc
- Lint-staged configuration file.nvmrc
- Node version manager configuration file.prettierrc
- Prettier 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 commandshelpers
- Helper functions with common tasksmodels
- Models to represent dataproviders
- Providers to provide dataservices
- Services to provide functionality
test
- Test files to test the extension
- JSON Schema validations for workspace settings
settings.schema.json
- JSON schema for the workspace settings
- Helper functions to get started with the extension
command.helper.ts
- Helper functions to create a new commanddata.helper.ts
- Helper functions to create a new data providerdialog.helper.ts
- Helper functions to create a new dialogfilesystem.helper.ts
- Helper functions to create a new file system providerinflection.helper.ts
- Helper functions to create a new inflection providernumber.helper.ts
- Helper functions to create a new number providersecurity.helper.ts
- Helper functions to create a new security providertext.helper.ts
- Helper functions to create a new text provider
- Basic commands to get started with the extension
extension.ts
- Main file to run the extensionexample.controller.ts
- Example controller with basic commands
- Basic views to get started with the extension
providers
- Providers for the extension viewsfeedback.provider.ts
- Provides feedback to the userlistFiles.provider.ts
- Provides a list of files from the workspacecolor.provider.ts
- Provides a color picker to the user
- Basic
OpenAI
integration to get started with the extensionopenai
- OpenAI integration and chat provideropenai.service.ts
- OpenAI service to interact with the APIchat.provider.ts
- Provides chat functionality to the user
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 extension-starter-kit 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
extension-starter-kit
- 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/feedback.controller.ts
file with your extension information -
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.
Auto Barrel 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.