@devframes/plugin-code-server

中文文档
1.3.3发布于 2026/11/10MITTypeScriptES Module构建来源已验证近 30 天下载 12.1万

Devframe plugin that runs VS Code in the browser as an embedded editor panel.

原始使用文档
文档目录8 节
  1. How it works
  2. Backends & modes
  3. Usage
  4. Standalone CLI
  5. Programmatic
  6. Vite host
  7. RPC
  8. UI

@devframes/plugin-code-server

[!WARNING] Experimental This devframe is experimental and may change without a major version bump until it stabilizes.

Run VS Code in the browser as a devframe panel. The devframe detects a local editor binary, launches it on demand, and embeds the editor in an auto-authenticated <iframe>. The launcher is a Vue SPA built on the shared @antfu/design system.

How it works

  • Detection: on startup it probes the resolved binary with --version. When none is found, the launcher renders install instructions instead of a launch button.
  • Launch: the launcher's button starts the editor as a managed child process bound to a free port, scoped to the workspace. Readiness is probed before the iframe loads.
  • Auto-auth: the devframe generates fresh auth material per launch and hands it to the already-authorized devframe client, so the editor opens already signed in. code-server uses a session cookie (HASHED_PASSWORD); code serve-web uses a connection token on the URL (?tkn=).

Backends & modes

mode: 'local' (default) embeds a server on this machine; backend selects it, or leave it unset to auto-detect (prefers code-server, then code serve-web).

backendBinaryAuth
'code-server'Coder code-serverpassword + session cookie
'ms-code-serve-web'Microsoft code serve-webconnection token (?tkn=)

mode: 'tunnel' runs Microsoft's code tunnel and embeds the hosted vscode.dev editor. The first launch surfaces a device-login prompt in the launcher; vscode.dev handles authentication.

Usage

Standalone CLI

pnpx @devframes/plugin-code-server        # dev server + launcher

Programmatic

import { createCodeServerDevframe } from '@devframes/plugin-code-server'

export default createCodeServerDevframe({
  // backend: 'code-server' | 'ms-code-serve-web' (default: auto)
  // mode: 'local' | 'tunnel'
  // serverPort: 8080 (default: free port near 8080)
  // startOnBoot: true (default: on demand)
  // reuseExistingServer: true (adopt a server on the port)
  // tunnel: { name: 'my-box' }
})

Vite host

import { codeServerVite } from '@devframes/plugin-code-server/vite'

export default {
  plugins: [
    codeServerVite()
  ],
}

RPC

FunctionTypePurpose
devframes:plugin:code-server:detectqueryRe-probe; returns { installed, version, bin, backend, mode }.
devframes:plugin:code-server:statusqueryCurrent status + connect descriptor when running.
devframes:plugin:code-server:startactionLaunch and wait for readiness.
devframes:plugin:code-server:stopactionStop the process.

Status (minus the connect descriptor) is mirrored into the devframes:plugin:code-server:state shared state for reactive UIs.

UI

The launcher is a Vue SPA (src/spa). LauncherView.vue is a pure, state-driven view decoupled from RPC, so every phase renders in isolation and has a Storybook story; App.vue wires the live connection to it and mounts the editor in a full-bleed, auto-authenticated iframe (EditorFrame.vue).

pnpm storybook         # dev
pnpm build-storybook   # static build

Stories: connecting, not-installed, launch, launch (serve-web), launch-error, starting, tunnel-login, and a running EditorFrame (mock editor).

版本与发布记录

@devframes/plugin-code-server 共发布 67 个版本,首次发布于 2026/07/06;过去 12 个月发布了 67 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.3.3latest2026/11/101 天前
1.3.22026/11/029 天前
1.3.12026/11/0110 天前
1.3.02026/10/3112 天前
1.2.62026/10/1924 天前
1.2.52026/10/1428 天前

关于 @devframes/plugin-code-server 的常见问题

@devframes/plugin-code-server 是什么?

Devframe plugin that runs VS Code in the browser as an embedded editor panel.

如何安装 @devframes/plugin-code-server?

在项目目录运行 npm install @devframes/plugin-code-server,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:devframe(1.3.3)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。它还提供命令行工具 devframe-code-server,可以用 npx devframe-code-server 直接运行。

@devframes/plugin-code-server 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@devframes/plugin-code-server 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@devframes/plugin-code-server 可以商用吗?

@devframes/plugin-code-server 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@devframes/plugin-code-server 的下载量有多少?

根据 npm 官方下载统计,@devframes/plugin-code-server 在 2026/10/12 – 2026/11/10 这 30 天内被下载 120,859 次,日均约 4,029 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@devframes/plugin-code-server 还在维护吗?

最新版本 1.3.3 发布于 2026/11/10(1 天前);至今共发布 67 个版本,其中过去 12 个月发布了 67 个;首次发布于 2026/07/06。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。