Skip to content

統合VS Code サーバー

code-server 経由でRoqueOS内で動作する 本物の VS Code(fork ではない、クローンではない)。デスクトップで使用するのと同じエンジン、マーケットプレイスからの同じ拡張機能、同じ設定 — 任意のログインされたブラウザからアクセス可能。

RoqueOS内で動作するVS Code

なぜ単なる「VS Code Web」ではないのか

無料のWebバージョン(vscode.devgithub.dev)には 厳しい制限 があります:

  • ❌ サーバーでNode.jsを必要とする拡張機能を実行しない(Python language server、フルESLint)
  • ❌ "本物の"Gitなし(GitHub.com browseのみ)
  • ❌ 組み込みターミナルなし
  • ❌ デバッガーなし

RoqueOS Serverで動作する code-server完全な VS Codeです:

  • ✅ 拡張機能マーケットプレイスが動作(任意の拡張機能)
  • ✅ 組み込みターミナルがサーバーコンテナに接続
  • ✅ 完全なGit(push、pull、branch、merge、stash)
  • ✅ Node、Python、Goなどのデバッガー
  • ✅ デバイス間の設定同期(MSではなくあなたのサーバー上にあるため)
  • ✅ devサーバーのライブプレビュー(自動ポートフォワード)

開き方

Launchpad → VS Code。初回はcode-serverのspin upに~10秒かかる。その後は瞬時に開きます。

共有ファイルシステム

TerminalFinder に表示されるのと同じ /home/user/:

  • Finderでファイルを作成 → VS CodeのExplorerに表示
  • VS Codeでコードを保存 → Terminalで git status が表示
  • Terminalで wget → ファイルがExplorerに表示

おすすめ拡張機能

マーケットプレイスは動作します — ただし、初期セットアップで大きな違いを生む拡張機能があります:

必須:

  • GitLens — git annotations inline、blame、history
  • Error Lens — 行に直接エラー(Problemsパネルに行く必要なし)
  • Prettier + ESLint — フォーマット + lint
  • Path Intellisense — import pathsのオートコンプリート

言語(スタックに応じてインストール):

  • Volar — Vue 3
  • Tailwind CSS IntelliSense — クラスのオートコンプリート
  • Python (Microsoft) — 完全なlanguage server
  • Go (Google) — 公式のGoサポート
  • rust-analyzer — Rust
  • Java Extension Pack (Red Hat)

生産性:

  • Todo Tree// TODO をパネルに集約
  • Better Comments// ! // ? // TODO のカラーコーディング
  • Material Icon Theme — フォルダ/ファイルアイコン

Git ワークフロー

VS Codeの組み込みターミナルは、同じUbuntuコンテナに接続します。次のことができます:

bash
git clone git@github.com:your/repo
cd repo
git checkout -b feature/x
# ... コーディング ...
git add -A && git commit -m "feat: new feature"
git push origin feature/x

SSHキーは /home/user/.ssh/ にあります(永続的)。一度生成し、GitHubで設定し、忘れます。

devサーバーのライブプレビュー

組み込みターミナルで yarn dev を実行 → VS Codeがポート(3000、5173など)を検出 → 自動プロンプト "Open in browser?"。クリック → Roque Browserで開く。

ngrokをいじる必要なし、ポート転送を設定する必要なし。

ネイティブ設定同期

あなたの設定(テーマ、キーバインディング、インストールされた拡張機能、スニペット)は あなたのサーバー/home/user/.config/code-server/ に保存されます。更新間で永続化、コンテナの再作成を生き延びます。

MicrosoftのSettings Syncは使用しません(GitHub/Microsoftアカウントが必要) — あなたがあなたのデータの所有者です。

Roque Codeとの違い

側面Roque CodeVS Code (code-server)
動作場所ブラウザ(Monacoスタンドアロン)サーバーのUbuntuコンテナ
セットアップすべてのユーザーに動作サーバーモードが必要
拡張機能✅ 完全なマーケットプレイス
Git
ターミナル❌(Terminalアプリを使用)✅ 組み込み
デバッガー
ファイルサイズ10MBまで良好実用的な制限なし
言語 (LSP)50+ syntax only完全なIntelliSenseで100+

シンプルなルール:

  • package.json または小さなスニペットを編集 → Roque Code(より速い)
  • Gitを伴うフルスタックプロジェクト → 統合VS Code

パフォーマンス

VS Codeはサーバーのコンテナで動作 — UIはWebSocket経由でブラウザに来ます。レイテンシはサーバーのレイテンシに依存:

  • ローカルサーバー (LAN): ~5-10ms — ネイティブVS Codeと区別がつかない
  • Cloudサーバー (Hetzner DE): 180-220ms — タイピングにわずかな遅延(キーと文字が表示される間~200ms)

サーバーが遠い集中的な開発には、以下を検討:

制限事項

  • ローカルスニペット はサーバーに保存されます(スニペットを持つにはサーバーモードが必要)。サーバーモードなしでは、VS Codeなし(ブラウザのみのRoque Codeを使用)。
  • 複雑なGUIデバッガー で別のウィンドウを開く(Chromiumデバッグなど)は完全に動作しない可能性があります — 組み込みターミナル経由の "headless" デバッグの方が良い。
  • GPUアクセラレーション はコンテナ内で利用できません — 3Dをレンダリングする拡張機能は動作しません。

関連項目