Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/microsoft/vscode-generator-code
Visual Studio Code extension generator
https://github.com/microsoft/vscode-generator-code
Last synced: 29 days ago
JSON representation
Visual Studio Code extension generator
- Host: GitHub
- URL: https://github.com/microsoft/vscode-generator-code
- Owner: microsoft
- License: other
- Created: 2015-09-25T15:45:49.000Z (about 9 years ago)
- Default Branch: main
- Last Pushed: 2024-05-28T07:54:49.000Z (6 months ago)
- Last Synced: 2024-05-29T15:33:19.729Z (6 months ago)
- Language: JavaScript
- Homepage:
- Size: 2.53 MB
- Stars: 1,219
- Watchers: 46
- Forks: 214
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
# Yo Code - Extension and Customization Generator
[![npm Package](https://img.shields.io/npm/v/generator-code.svg?style=flat-square)](https://www.npmjs.org/package/generator-code)
[![NPM Downloads](https://img.shields.io/npm/dm/generator-code.svg)](https://npmjs.org/package/generator-code)
[![Build Status](https://github.com/microsoft/vscode-generator-code/actions/workflows/tests.yml/badge.svg)](https://github.com/microsoft/vscode-generator-code/actions/tests.yml)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)We have written a Yeoman generator to help get you started. We plan to add templates for most extension/customization types into this.
## Install the Generator
Install Yeoman and the VS Code Extension generator:
```bash
npm install -g yo generator-code
```## Run Yo Code
The Yeoman generator will walk you through the steps required to create your customization or extension prompting for the required information.
To launch the generator simply type:
```bash
yo code
```![The command generator](yocode.png)
## Generator Output
These templates will:
* Create a base folder structure
* Template out a rough `package.json`
* Import any assets required for your extension e.g. tmBundles or the VS Code Library
* For Extensions: Set-up `launch.json` for running your extension and attaching to a process## Command line
```
Usage:
yo code [] [options]Argument (optional):
The destination to create the extension in, absolute or relative to the current working
directory. Use '.' for the current folder.
If not provided, defaults to a folder in the current working directory with the extension
display name.Options:
-h, --help # Print the generator's options and usage
-i, --insiders # Show the insiders options for the generator
-q, --quick # Quick mode, skip all optional prompts and use defaults
-o, --open # Open the generated extension in Visual Studio Code
-O, --openInInsiders # Open the generated extension in Visual Studio Code Insiders
-t, --extensionType # ts, js, colortheme, language, snippets, keymap...
--extensionId # Id of the extension
--extensionDescription # Description of the extension
--pkgManager # 'npm', 'yarn' or 'pnpm'
--bundle # 'webpack', 'esbuild'. Bundle the extension with webpack or esbuild
--gitInit # Initialize a git repoExample usages:
yo code # Create an extension in a folder with the extension's name.
yo code . -O # Create an extension in current folder and open with code-insiders
yo code Hello -t=ts -q # Create an TypeScript extension in './Hello', skip prompts, use defaults.
yo code --insiders # Show the insiders options for the generator
```## Run Generator using Docker
If you don't want to install nodejs or any node packages, use this method to containerize the generator.
Go into your project directory.
```bash
cd
```Build the docker image from the docker file.
```bash
docker build -t vscode-generator-code .
```Create a docker container with volumes.
```bash
docker run -it -v $(pwd):/usr/src/app vscode-generator-code
```## Local development
After making necessary changes, run `npm link` before running `yo code` to
test the local version.You can learn more about Yeoman generator development on its
[documentation website](https://yeoman.io/authoring/index.html).## History
* 1.0.0: Generates a VS Code extension for TypeScript 2.0.3
* 0.10.x: Generates a VS Code extension for TypeScript 1.8.10## License
[MIT](LICENSE)