Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

55 Commits

Repository files navigation

code-oss

Build VSCode WebGitHub ReleaseNPM

This project produces a VSCode OSS web build without mangling or minification.

To get the official build, please use this link, see also @vscode/test-web.

For alternative build methods, see @github1s/vscode-web, Felx-B/vscode-web and progrium/vscode-web.

Usage

Minimal Setup.

<!DOCTYPE html><html><head><metacharset="utf-8" /><metaname="viewport"
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no"
/><linkrel="stylesheet" href="https://raw.esm.sh/code-oss@latest/out/vs/workbench/workbench.web.main.internal.css" /></head><body></body><scripttype="module">constCDN_PREFIX="https://raw.esm.sh/code-oss@latest";globalThis._VSCODE_FILE_ROOT=`${CDN_PREFIX}/out/`;awaitimport(`${CDN_PREFIX}/out/nls.messages.js`);// You can implement `workbench.js` yourself; this project provides a convenient implementation for quick setupconst{default: init}=awaitimport(`${CDN_PREFIX}/workbench.js`);init();</script></html>

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 sets up a memfs so all files can be stored in the browser memory.

constCDN_PREFIX="https://raw.esm.sh/code-oss@latest";globalThis._VSCODE_FILE_ROOT=`${CDN_PREFIX}/out/`;awaitimport(`${CDN_PREFIX}/out/nls.messages.js`);const{default: init}=awaitimport(`${CDN_PREFIX}/workbench.js`);consturl=newURL(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",},],});

About

VSCode OSS build without mangling or minification.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages