https://github.com/yieldray/code-oss
VSCode OSS build without mangling or minification.
https://github.com/yieldray/code-oss
vscode vscode-web
Last synced: about 2 months ago
JSON representation
VSCode OSS build without mangling or minification.
- Host: GitHub
- URL: https://github.com/yieldray/code-oss
- Owner: YieldRay
- Created: 2025-09-24T17:15:48.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2026-03-06T14:03:12.000Z (3 months ago)
- Last Synced: 2026-03-06T16:17:24.706Z (3 months ago)
- Topics: vscode, vscode-web
- Language: JavaScript
- Homepage: https://yieldray.github.io/code-oss/
- Size: 56.4 MB
- Stars: 2
- Watchers: 0
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# code-oss
[](https://github.com/YieldRay/vscode-web-build/actions/workflows/build.yml)
[](https://github.com/YieldRay/code-oss/releases)
[](https://www.npmjs.com/package/code-oss)
This project produces a [VSCode OSS](https://github.com/microsoft/vscode) web build **without mangling or minification**.
To get the official build, please use [this link](https://update.code.visualstudio.com/api/update/web-standalone/stable/latest), see also [@vscode/test-web](https://github.com/microsoft/vscode-test-web/blob/main/src/server/download.ts).
For alternative build methods, see [@github1s/vscode-web](https://github.com/conwnet/github1s/tree/master/vscode-web), [Felx-B/vscode-web](https://github.com/Felx-B/vscode-web) and [progrium/vscode-web](https://github.com/progrium/vscode-web).
## Usage
Minimal Setup.
```html
const CDN_PREFIX = "https://raw.esm.sh/code-oss@latest";
globalThis._VSCODE_FILE_ROOT = `${CDN_PREFIX}/out/`;
await import(`${CDN_PREFIX}/out/nls.messages.js`);
// You can implement `workbench.js` yourself; this project provides a convenient implementation for quick setup
const { default: init } = await import(`${CDN_PREFIX}/workbench.js`);
init();
```
Use the convenient `workbench.js` for manual setup.
Most of the time, you'll want to set up a custom built-in extension.
For example, [this project](https://github.com/YieldRay/vscode-web-extension-memfs) sets up a memfs so all files can be stored in the browser memory.
```js
const CDN_PREFIX = "https://raw.esm.sh/code-oss@latest";
globalThis._VSCODE_FILE_ROOT = `${CDN_PREFIX}/out/`;
await import(`${CDN_PREFIX}/out/nls.messages.js`);
const { default: init } = await import(`${CDN_PREFIX}/workbench.js`);
const url = new URL(location.href);
init(document.body, {
/** https://github.com/Microsoft/vscode/blob/main/product.json */
productConfiguration: {
nameShort: "Code - OSS",
nameLong: "Code - OSS",
applicationName: "code-oss",
dataFolderName: ".vscode-oss",
extensionsGallery: {
serviceUrl: "https://open-vsx.org/vscode/gallery",
itemUrl: "https://open-vsx.org/vscode/item",
resourceUrlTemplate: "https://openvsxorg.blob.core.windows.net/resources/{publisher}/{name}/{version}/{path}",
},
extensionEnabledApiProposals: {},
/** this config is required for `webWorkerExtensionHostIframe.html` to work */
webEndpointUrlTemplate: CDN_PREFIX,
/** this is also required */
quality: "stable",
},
/**
* optional:
* this sets the default workspace folder URI
*/
folderUri: {
scheme: "my-file-scheme",
authority: url.host,
query: url.search,
path: url.pathname,
},
/**
* optional:
* check out this project to see how to set up built-in extensions
* https://github.com/YieldRay/vscode-web-extension-memfs
*/
additionalBuiltinExtensions: [
{
scheme: url.protocol.replace(":", ""),
authority: url.host,
path: url.pathname + "path-to-extension",
},
],
});
```