Extend VSCode without the ceremony of making a full extension! Just write your code anywhere and it’ll be part of VSCode!
Describe specific features of your extension including screenshots of your extension in action. Image paths are relative to this README file.
For example if there is an image subfolder under your extension project workspace:
Tip: Many popular extensions utilize animations. This is an excellent way to show off your extension! We recommend short, focused animations that are easy to follow.
There is essentially only one step (⭐) to making an extension. 🤗 Sharing an extension, such as a tiny 5-line command, should be as easy as having that defintion code readily available.
In constrast, the default approach to making a VSCode extension is as follows:
- 😱 Make a new NodeJS project, say with
yo codeas per https://code.visualstudio.com/api/get-started/your-first-extension
- ⭐ Actually write your extension’s code
- 😱 Run your code in a dedicated sandbox with
F5, far from your code
- 😱 Try your extension; stop the sandbox; alter your code; repeat.
- Now to actually make use of your extension, you should pacakge it with
- To share it with others, you’ll need to:
0. 😱 Make a Microsoft account
- 😱 Make a new Azure organisation, as in https://dev.azure.com/alhassy
- 😱 Create a Personal Access Token for use in the extension marketplace; as per https://code.visualstudio.com/api/working-with-extensions/publishing-extension
- To share it with others, you’ll need to: 0. 😱 Make a Microsoft account
This approach doesn’t encourage making extensions —since there’s so much ceremony— and it, likewise, doesn’t encourage sharing/packaging up the resulting (tiny) extensions.
cd ~/easy-extensibility; npm ci
- In the new VSCode instance,
Hello Worldto see things run.
If you have any requirements or dependencies, add a section describing those and how to install and configure them.
TODO Extension Settings
Include if your extension adds any VS Code settings through the
contributes.configuration extension point.
This extension contributes the following settings:
myExtension.enable: enable/disable this extension
myExtension.thing: set to
blahto do something
TODO Known Issues
Calling out known issues can help limit users opening duplicate issues against your extension.
TODO Release Notes
Users appreciate release notes as you update your extension.
All notable changes to the “easy-extensibility” extension will be documented in this file.
Check Keep a Changelog for recommendations on how to structure this file.
Initial release of …
Fixed issue #.
Added features X, Y, and Z.