https://github.com/ManuelGil/vscode-extension-starter-advanced
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.
https://github.com/ManuelGil/vscode-extension-starter-advanced
boilerplate boilerplate-template boilerplates develop extension folder-structure starter starter-kit starter-project starter-template structure template template-plugin template-project template-repository vscode vscode-extension vscode-plugin
Last synced: 5 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/ManuelGil/vscode-extension-starter-advanced
- Owner: ManuelGil
- License: mit
- Created: 2024-02-04T02:41:20.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-18T01:55:26.000Z (11 months ago)
- Last Synced: 2024-11-18T02:42:57.772Z (11 months ago)
- Topics: boilerplate, boilerplate-template, boilerplates, develop, extension, folder-structure, starter, starter-kit, starter-project, starter-template, structure, template, template-plugin, template-project, template-repository, vscode, vscode-extension, vscode-plugin
- Language: TypeScript
- Homepage: https://vsxpert.com/
- Size: 292 KB
- Stars: 8
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# VS Code Extension - Starter Kit
[](https://marketplace.visualstudio.com/items?itemName=extensionPublisher.vscode-extension-starter-advanced)
[](https://marketplace.visualstudio.com/items?itemName=extensionPublisher.vscode-extension-starter-advanced)
[](https://marketplace.visualstudio.com/items?itemName=extensionPublisher.vscode-extension-starter-advanced)
[](https://marketplace.visualstudio.com/items?itemName=extensionPublisher.vscode-extension-starter-advanced&ssr=false#review-details)
[](https://github.com/githubUsername/vscode-extension-starter-advanced)
[](https://github.com/githubUsername/vscode-extension-starter-advanced/blob/main/LICENSE)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.
## Table of Contents
- [VS Code Extension - Starter Kit](#vs-code-extension---starter-kit)
- [Table of Contents](#table-of-contents)
- [Features](#features)
- [Prerequisites](#prerequisites)
- [Getting Started](#getting-started)
- [Customization](#customization)
- [Running the documentation](#running-the-documentation)
- [Building the extension](#building-the-extension)
- [Publishing the extension](#publishing-the-extension)
- [Follow Me](#follow-me)
- [VSXpert Template](#vsxpert-template)
- [Contributing](#contributing)
- [Code of Conduct](#code-of-conduct)
- [Changelog](#changelog)
- [Authors](#authors)
- [License](#license)## Features
- Basic configuration for the development environment
- `.editorconfig` - Editor configuration
- `.linstagedrc` - Lint-staged configuration file
- `.nvmrc` - Node version manager configuration file
- `biome.json` - Biome configuration file
- `commitlint.config.js` - Commit lint configuration file
- `package.json` - Package configuration to manage dependencies
- `tsconfig.json` - TypeScript configuration to compile the source code
- Basic structure for a new extension
- `app` - Source code to develop the extension
- `configs` - Configuration files and constants
- `controllers` - Controllers to listen to commands
- `helpers` - Helper functions with common tasks
- `models` - Models to represent data
- `providers` - Providers to provide data
- `services` - 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 command
- `data.helper.ts` - Helper functions to create a new data provider
- `dialog.helper.ts` - Helper functions to create a new dialog
- `filesystem.helper.ts` - Helper functions to create a new file system provider
- `inflection.helper.ts` - Helper functions to create a new inflection provider
- `number.helper.ts` - Helper functions to create a new number provider
- `security.helper.ts` - Helper functions to create a new security provider
- `text.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 extension
- `example.controller.ts` - Example controller with basic commands
- Basic views to get started with the extension
- `providers` - Providers for the extension views
- `feedback.provider.ts` - Provides feedback to the user
- `listFiles.provider.ts` - Provides a list of files from the workspace
- `color.provider.ts` - Provides a color picker to the user
- Basic `OpenAI` integration to get started with the extension
- `openai` - OpenAI integration and chat provider
- `openai.service.ts` - OpenAI service to interact with the API
- `chat.provider.ts` - Provides chat functionality to the user## Prerequisites
You need to have [node](https://nodejs.org/en/) and [npm](https://nodejs.org/en/) 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](https://github.com/Microsoft/vscode/wiki/How-to-Contribute#prerequisites)
## Getting Started
To get started with the extension, follow these steps:
1. Clone the repository
```bash
git clone
cd vscode-extension-starter-advanced
npm install
code .
```2. Press `F5` to open a new instance of Visual Studio Code with the extension running in debug mode
3. Open the command palette and run the `My Extension: Hello World` command
4. The extension will display a message in the output windowFor more information, see the [official documentation](https://code.visualstudio.com/api/get-started/your-first-extension)
## Customization
To customize the extension, follow these steps:
1. Update multiple instances of the following items in bulk:
- `extensionIdentifier` - Replace with your extension identifier, e.g. `fileManager`
- `vscode-extension-starter-advanced` - 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`2. Change the `LICENSE` file with your extension information
3. Remove the unnecessary files and folders
4. Add the necessary files and folders
5. Update the `src/app/configs/constants.config.ts` and `src/app/configs/extension.config.ts` file with your extension information
6. Update the `src/app/controllers/feedback.controller.ts` file with your extension information
7. Update the `src/extension.ts` file with your extension information
8. Update the `settings.schema.json` file with your extension information
9. Update the `package.json` file with your extension information
10. Update the `README.md` file with your extension informationFor more information, see the [official documentation](https://code.visualstudio.com/api/get-started/your-first-extension)
## Running the documentation
To run the documentation, execute the following command in the terminal:
```bash
npm run compodoc
```This will generate the documentation in the `compodoc` folder.
For more information, see the [official documentation](https://compodoc.app/guides/getting-started.html)
## Building the extension
To build the extension, execute the following command in the terminal:
```bash
vsce package
```This will create a `.vsix` file in the root of the project.
For more information, see the [official documentation](https://code.visualstudio.com/api/working-with-extensions/publishing-extension)
## Publishing the extension
To publish the extension, execute the following command in the terminal:
```bash
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](https://code.visualstudio.com/api/get-started/your-first-extension)
## Follow Me
If you enjoy using Auto Barrel, consider following me for updates on this and future projects:
[](https://github.com/ManuelGil)
[](https://twitter.com/imgildev)## VSXpert Template
This extension was created using [VSXpert](https://vsxpert.com), 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.
## Contributing
This extension is open-source software, and we welcome contributions from the community. If you'd like to contribute, please fork the [GitHub repository](https://github.com/ManuelGil/vscode-extension-starter-advanced) and submit a pull request with your changes.
Before contributing, please read our [Contribution Guidelines](./CONTRIBUTING.md) for instructions on coding standards, testing, and more.
## Code of Conduct
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](./CODE_OF_CONDUCT.md) before participating in our community.
## Changelog
For a complete list of changes, see the [CHANGELOG.md](./CHANGELOG.md)
## Authors
- **Manuel Gil** - _Owner_ - [ManuelGil](https://github.com/ManuelGil)
See also the list of [contributors](https://github.com/ManuelGil/vscode-extension-starter-advanced/contributors) who participated in this project.
## License
This extension is licensed under the MIT License. See the [MIT License](https://opensource.org/licenses/MIT) for details.