
-
The official docs for the VS Code API are oriented towards TypeScript and all of the examples are written in TypeScript. Microsoft is behind VS Code and TypeScript, so that is not unexpected. If you read the docs, it may not be apparent that you can build an extension in JavaScript.
-
SurveyJS
JavaScript Form Builder with No-Code UI & Built-In JSON Schema Editor. Add the SurveyJS white-label form builder to your JavaScript app (React/Angular/Vue3). Build dynamic JSON forms without coding. Fully customizable, works with any backend, perfect for data-heavy apps. Learn more.
-
View on GitHub
-
Like any JavaScript project, you can use any bundler you wish. Bundling can make even an extension with just a few modules load considerably faster. I looked at this with Marky Stats which has 3 short modules, and it improved the loading time. This is optimization, if you are beginner, do not feel obligated to do it. Pace yourself!
-
If you want to see a more advanced JavaScript example of a webview, you can look at the source code of my extension Snippets Ranger.
-
There is a CLI tool called vsce for packaging and publishing extensions. It's easy to use. This will create a vsix package that can be installed as an extension.
-
publish-vscode-extension
GitHub action to publish your VS Code Extension to the Open VSX Registry or Visual Studio Marketplace.
I use this github action to automate publishing of an extension to both marketplaces, publication is triggered when the main branch is updated. There a couple of other github actions for
-
For VS Codium, the marketplace is Open VSX Registy. The process has changed since I did it, but I found the registration a smoother experience than with Microsoft - less steps, less info required. Now, it is part of the Eclipse Foundation, read here for more info on publishing.
-
Civic Auth
Web2 & Web3 login in a simple SDK. Drop Civic Auth into your app with native TS/JS support. Email login, SSO options, embedded wallets, and full session management. Minimal config. Deploy in under 5 minutes.