「インストール - VSCode」の版間の差分

提供: MochiuWiki : SUSE, EC, PCB

 
(同じ利用者による、間の6版が非表示)
1行目: 1行目:
== 概要 ==
Visual Studio Code (以下、VSCode) は、Code - OSSリポジトリをベースにMicrosoft独自のカスタマイズが施されており、従来のマイクロソフト製品ライセンスでリリースされている。<br>
コードエディタのシンプルさと、開発者のコアとなる編集 - ビルド - デバッグのサイクルに必要なものを兼ね備えている。<br>
<br>
軽量なデバッグ、豊富な拡張性モデル、既存のツールとの軽量な統合とともに、包括的なコード編集、ナビゲーション、理解のサポートを提供する。<br>
<br>
VSCodeは毎月アップデートされており、新機能やバグが修正される。<br>
最新のリリースを毎日入手する場合は、Insidersビルドをインストールする。<br>
<br>
<u>※注意</u><br>
<u>VSCodeには様々なテレメトリ機能が搭載されており、端末の情報は逐一Microsoftに送信されている。</u><br>
<u>たとえ、テレメトリ機能を無効にするオプションを設定しても、なお情報を送信し続けている。 (完全に無効化することができない)</u><br>
<u>そのため、VSCodeのようなスパイウェアは使用せずに、[https://vscodium.com Codium]を導入することを強く推奨する。</u><br>
<br>
<u>Codiumのインストールを知りたい場合は、[[インストール - VSCodium]]を参照すること。</u><br>
<br><br>
== VSCodeのインストール ==
== VSCodeのインストール ==
==== リポジトリを登録してインストール ====
==== リポジトリを登録してインストール ====
137行目: 154行目:
# まず、事前にC/C++プロジェクトのディレクトリを開く。
# まず、事前にC/C++プロジェクトのディレクトリを開く。
# 次に、[Ctrl] + [Shift] + [P]キーを同時押下して、コマンドパレットを開く。
# 次に、[Ctrl] + [Shift] + [P]キーを同時押下して、コマンドパレットを開く。
# "C/Cpp: Edit configurations..."を選択する。<br>この時、C/C++プロジェクトの.vscodeディレクトリに、c_cpp_properties.jsonファイルが自動的に作成される。<br>ただし、.vscodeディレクトリが存在しない場合は、プロジェクトディレクトリに自動で作成される。
# "C/Cpp: Edit configurations..."を選択する。この時、C/C++プロジェクトの.vscodeディレクトリに、c_cpp_properties.jsonファイルが自動的に作成される。ただし、.vscodeディレクトリが存在しない場合は、プロジェクトディレクトリに自動で作成される。
# c_cpp_properties.jsonファイルを、以下の内容のように編集する。<br>
# c_cpp_properties.jsonファイルを、以下の内容のように編集する。
  <syntaxhighlight lang="json">
  <syntaxhighlight lang="json">
  "ファイル名": "c_cpp_properties.jsonファイル",
  "ファイル名": "c_cpp_properties.jsonファイル",
209行目: 226行目:
launch.jsonファイルを作成して編集する。<br>
launch.jsonファイルを作成して編集する。<br>
<br>
<br>
# VS Codeメイン画面左のデバッグボタンを選択する。([Ctrl] + [Shift] + [D]キーを同時押下しても可能である)
# VS Codeメイン画面左のデバッグボタンを選択する。([Ctrl] + [Shift] + [D]キーを同時押下しても可能である)
# デバッグ画面上部にある"構成がありません"と表示されているプルダウンの右側にある歯車を選択する。
# デバッグ画面上部にある"構成がありません"と表示されているプルダウンの右側にある歯車を選択する。
# [環境の選択]プルダウンから、[C++ (GDB/LLDB)]を選択する。
# [環境の選択]プルダウンから、[C++ (GDB/LLDB)]を選択する。
# C/C++プロジェクトの.vscodeディレクトリに、launch.jsonファイルが自動的に作成される。
# C/C++プロジェクトの.vscodeディレクトリに、launch.jsonファイルが自動的に作成される。
# launch.jsonファイルを、以下の内容のように編集する。<br>launch.jsonファイルの詳細は、[https://github.com/Microsoft/vscode-cpptools/blob/master/launch.md C/C++拡張機能のGithub]を参照すること。
# launch.jsonファイルを、以下の内容のように編集する。launch.jsonファイルの詳細は、[https://github.com/Microsoft/vscode-cpptools/blob/master/launch.md C/C++拡張機能のGithub]を参照すること。
  <syntaxhighlight lang="json">
  <syntaxhighlight lang="json">
  "ファイル名": "launch.jsonファイル",
  "ファイル名": "launch.jsonファイル",
261行目: 278行目:
Dolphinにコンテキストメニューを追加する場合、まず、以下のディレクトリに移動する。<br>
Dolphinにコンテキストメニューを追加する場合、まず、以下のディレクトリに移動する。<br>
  cd Open_in_VSCode.desktop ~/.local/share/kservices5
  cd Open_in_VSCode.desktop ~/.local/share/kservices5
  または
  # または
  cd Open_in_VSCode.desktop /usr/share/kservices5
  cd Open_in_VSCode.desktop /usr/share/kservices5
<br>
<br>
267行目: 284行目:
  vi Open_in_VSCode.desktop
  vi Open_in_VSCode.desktop
<br>
<br>
<syntaxhighlight lang="ini">
  [Desktop Entry]
  [Desktop Entry]
  Type=Service
  Type=Service
283行目: 301行目:
  Name=Open in VS Code as SuperUser
  Name=Open in VS Code as SuperUser
  Icon=com.visualstudio.code
  Icon=com.visualstudio.code
  Exec=code --user-data-dir=/home/<ユーザ名>/Program/VScode_root_project %u  
  Exec=code --user-data-dir=/home/<ユーザ名>/Program/VScode_root_project %u
</syntaxhighlight>
<br><br>
<br><br>


297行目: 316行目:
* settings.jsonファイルに、<code>"workbench.editor.enablePreview": false</code>を追記する。
* settings.jsonファイルに、<code>"workbench.editor.enablePreview": false</code>を追記する。
<br><br>
<br><br>
== OpenCodeによるAIコーディング支援 ==
OpenCodeは、Anomaly社が開発するオープンソースのAIコーディングエージェントである。<br>
端末ベースのインターフェース (TUI)、デスクトップアプリケーション、IDE統合の3形態で提供されており、75以上のLLMプロバイダーに対応する。<br>
<br>
VSCode上でOpenCodeを使用する方法は2つある。<br>
<br>
* 公式の端末統合 (拡張機能 <u>sst-dev.opencode</u>)
*: VSCodeの統合端末上で <code>opencode</code> コマンドを実行して使用する方法
*: 拡張機能が自動インストールされ、キーボードショートカットから起動できる。
* サードパーティのACPクライアント (拡張機能 <u>formulahendry.acp-client</u>)
*: Agent Client Protocol (ACP) を経由して、OpenCodeをVSCodeのチャットパネル上で操作する方法
*: この経路はOpenCode公式チームが直接提供するものではなく、サードパーティが開発・保守している。
<br>
==== 前提条件 ====
OpenCodeをVSCode上で使用するには、以下に示す環境が必要である。<br>
<br>
* OpenCode CLIのインストール
* いずれかのLLMプロバイダーのAPIキー
* 端末統合を使用する場合
*: VSCode本体 または Cursor、Windsurf、VSCodium等のフォーク
* ACPクライアントを使用する場合
*: Node.js 18以上
<br>
==== OpenCode CLIのインストール ====
Linux環境における簡単なインストール方法は、公式インストールスクリプトを使用することである。<br>
<br>
curl -fsSL https://opencode.ai/install | bash
<br>
このスクリプトは、以下の優先順位でインストール先を決定する。<br>
<br>
* 環境変数 <code>OPENCODE_INSTALL_DIR</code>
* 環境変数 <code>XDG_BIN_DIR</code>
* <u>~/bin</u> (ディレクトリが存在するか作成可能な場合)
* <u>~/.opencode/bin</u> (デフォルトのフォールバック)
<br>
必要に応じて、インストール先を 環境変数 <code>PATH</code>に追加する。<br>
環境変数
export PATH="$HOME/.opencode/bin:$PATH"
<br>
その他のインストール方法を以下に示す。<br>
<br>
* npm
*: <pre>npm install -g opencode-ai@latest</pre>
* Bun
*: <pre>bun install -g opencode-ai@latest</pre>
* Homebrew
*: <pre>brew install anomalyco/tap/opencode</pre>
<br>
<u>※注意</u><br>
<u>2026年7月現在、OpenCode CLI単体の公式RPMパッケージ (zypper / dnf用) は提供されていない。</u><br>
<u>OpenCode DesktopのRPMパッケージはGitHub Releasesから入手可能だが、CLIとは別物である。</u><br>
<br>
<u>SUSE / RHEL環境では、curlインストールスクリプトまたはnpm経由のインストールを推奨する。</u><br>
<br>
==== 認証の設定 ====
OpenCodeの使用には、LLMプロバイダーの認証情報が必要である。<br>
認証情報は、<u>~/.local/share/opencode/auth.json</u> に保存される。<br>
<br>
認証の設定方法は以下の2通りがある。<br>
<br>
===== 方法1: /connectコマンド =====
# OpenCodeを起動する。
# <code>/connect</code> コマンドを実行する。
# 使用するプロバイダー (OpenCode Zen、Anthropic、OpenAI等) を選択する。
# 画面の指示に従ってAPIキーを入力する。
<br>
===== 方法2: auth loginオプション =====
opencode auth login
<br>
プロバイダーを指定する場合は以下のように実行する。<br>
<br>
opencode auth login --provider anthropic
<br>
==== ACP (Agent Client Protocol) とは ====
ACPは、コードエディタとAIコーディングエージェント間の通信を標準化するオープンプロトコルである。<br>
<br>
Language Server Protocol (LSP) が言語サーバ統合を標準化したのと同様に、ACPはエージェントとエディタの相互運用性を実現する。<br>
<br>
ACPの主な特徴は以下の通りである。<br>
<br>
* 通信方式
*: JSON-RPC 2.0 over stdio (ローカルエージェントの場合)
*: データ形式は nd-JSON (改行区切りJSON)
* メッセージ形式
*: ユーザ可読テキストのデフォルト形式はMarkdown
* 対応シナリオ
*: ローカルエージェント (エディタのサブプロセスとして実行)
*: リモートエージェント (HTTP / WebSocket 経由、策定中)
<br>
OpenCodeはACPに対応しており、<code>opencode acp</code> コマンドでACPサーバを起動する。<br>
このコマンドは、標準入出力 (stdio) 経由でJSON-RPCメッセージを送受信するサブプロセスとして動作する。<br>
<br>
<u>※注意</u><br>
<u>ACP経由では、TUI上の <code>/undo</code> コマンド および <code>/redo</code> コマンドは使用できない。</u><br>
<u>その他の機能 (ファイル操作、端末コマンド実行、カスタムツール、MCPサーバ、プロジェクトルール等) は全て使用可能である。</u><br>
<br>
==== 方法1: 公式の端末統合 (sst-dev.opencode) ====
OpenCodeは、VSCodeの統合端末上で直接動作する公式拡張機能 <u>sst-dev.opencode</u> を提供している。<br>
この拡張機能は、VSCodeの統合端末で <code>opencode</code> コマンドを実行すると自動的にインストールされる。<br>
<br>
===== インストール =====
# VSCodeの統合端末を開く。
# <code>opencode</code> コマンドを実行する。
# 拡張機能が自動的にインストールされる。
<br>
手動でインストールする場合は、VSCodeの拡張機能マーケットプレイスで <u>OpenCode</u> を検索してインストールする。<br>
<br>
===== キーボードショートカット =====
<center>
{| class="wikitable"
|+ 公式端末統合のキーボードショートカット
! 操作 !! Mac !! Windows / Linux
|-
| クイック起動 (分割端末でOpenCodeを開く) || [Cmd] + [Esc] || [Ctrl] + [Esc]
|-
| 新規セッション || [Cmd] + [Shift] + [Esc] || [Ctrl] + [Shift] + [Esc]
|-
| ファイル参照の挿入 || [Cmd] + [Option] + [K] || [Ctrl] + [Alt] + [K]
|}
</center>
<br>
===== 主な機能 =====
* コンテキスト認識
*: 現在の選択範囲や開いているタブの内容を、自動的にOpenCodeと共有する。
* ファイル参照ショートカット
*: <code>@File#L37-42</code> のような形式で、特定のファイルと行番号を指定できる。
* 分割端末表示
*: VSCodeの画面下部にOpenCodeを分割表示する。
<br>
===== トラブルシューティング =====
拡張機能が自動インストールされない場合は、以下に示す項目を確認する。<br>
<br>
* 統合端末上で <code>opencode</code> を実行しているか。
* 各IDEのCLIコマンドがインストールされているか。
*: インストールされていない場合は、[Ctrl] + [Shift] + [P]キー ([Cmd] + [Shift] + [P]キー) を押下してコマンドパレットを開き、
*: <u>Shell Command: Install 'code' command in PATH</u> を実行する。
** VSCode
**: <code>code</code> コマンド
** Cursor
**: <code>cursor</code> コマンド
** Windsurf
**: <code>windsurf</code> コマンド
** VSCodium
**: <code>codium</code> コマンド
* VSCodeに拡張機能のインストール権限があるか。
<br>
==== 方法2: サードパーティACPクライアント (formulahendry.acp-client) ====
<u>formulahendry.acp-client</u> は、VSCode上でACP対応エージェントを操作するためのサードパーティ製拡張機能である。<br>
<br>
この拡張機能を使用すると、OpenCodeを含む11種類のAIコーディングエージェントをVSCodeのチャットパネルから直接操作できる。<br>
<br>
<u>この拡張機能はOpenCode公式チームが開発・保守するものではなく、コミュニティ (Jun Han氏) によって提供されている。</u><br>
<br>
===== インストール =====
VSCodeの拡張機能マーケットプレイスから <u>formulahendry.acp-client</u> をインストールする。<br>
<br>
または、以下のURLから直接インストールできる。<br>
* [https://marketplace.visualstudio.com/items?itemName=formulahendry.acp-client Visual Studio Code Marketplace]
* [https://open-vsx.org/extension/formulahendry/acp-client Open VSX Marketplace]
<br>
===== 事前設定済みエージェント =====
この拡張機能には、下表に示すエージェントが事前設定されている。<br>
<center>
{| class="wikitable"
|+ ACP Clientの事前設定済みエージェント
! エージェント名 !! デフォルトコマンド
|-
| GitHub Copilot || <code>npx @github/copilot-language-server@latest --acp</code>
|-
| Claude Code || <code>npx @agentclientprotocol/claude-agent-acp@latest</code>
|-
| Gemini CLI || <code>npx @google/gemini-cli@latest --experimental-acp</code>
|-
| Qwen Code || <code>npx @qwen-code/qwen-code@latest --acp --experimental-skills</code>
|-
| Auggie CLI || <code>npx @augmentcode/auggie@latest --acp</code>
|-
| Qoder CLI || <code>npx @qoder-ai/qodercli@latest --acp</code>
|-
| Codex CLI || <code>npx @zed-industries/codex-acp@latest</code>
|-
| OpenCode || <code>npx opencode-ai@latest acp</code>
|-
| OpenClaw || <code>npx openclaw acp</code>
|-
| Kiro CLI || <code>kiro-cli acp</code>
|-
| Hermes Agent || <code>hermes acp</code>
|}
</center>
<br>
===== OpenCodeのACP設定 (ローカルインストール版) =====
VSCode全体の設定である <u>~/.config/Code/User/settings.json</u> ファイルに、以下に示す設定を追加する。<br>
または、[Ctrl] + [Shift] + [P]キーを押下して、コマンドパレットから <u>Preferences: Open User Settings (JSON)</u> を入力する。<br>
<br>
<syntaxhighlight lang="json">
{
  // ...略
  "acp.agents": {
    "OpenCode": {
      "command": "opencode",  // または、OpenCodeのフルパスを指定する
      "args": [
        "acp",
        "--print-logs"
      ]
    }
  },
  "acp.logTraffic": true
}
</syntaxhighlight>
<br>
なお、<code>--print-logs</code> は、標準エラー出力 (stderr) のログを表示する診断用オプションである。<br>
<br>
この設定では、ACP Clientが <code>opencode acp</code> コマンドをローカルサブプロセスとして起動する。<br>
OpenCodeが環境変数 <code>PATH</code> から見つからない場合は、<code>which opencode</code> コマンドで確認した絶対パスを <code>command</code> に指定する。<br>
<br>
===== ACP Clientの主要設定項目 =====
<center>
{| class="wikitable"
|+ ACP Client拡張機能の設定項目
! 設定キー !! デフォルト値 !! 説明
|-
| <code>acp.agents</code> || (11エージェント) || エージェント設定<br>各キーがエージェント名、<br>値に <code>command</code>、<code>args</code>、<code>env</code> を指定する。
|-
| <code>acp.autoApprovePermissions</code> || ask || 権限リクエストの処理方法<br><code>ask</code>: 都度確認<br><code>allowAll</code>: 全て自動承認
|-
| <code>acp.defaultWorkingDirectory</code> || "" || エージェントセッションのデフォルト作業ディレクトリ<br>空の場合は現在のワークスペースを使用する。
|-
| <code>acp.logTraffic</code> || true || ACPプロトコル通信のログをACP Traffic出力チャンネルに記録する。
|}
</center>
<br>
===== 基本的な使用方法 =====
# VSCodeのアクティビティバーからACP Clientパネル (ACPアイコン) を開く。
# エージェント一覧からOpenCodeを選択して接続する。
# チャットパネルにプロンプトを入力して送信する。
<br>
===== キーボードショートカット =====
<center>
{| class="wikitable"
|+ ACP Clientのキーボードショートカット
! ショートカット !! 操作
|-
| [Ctrl] + [Shift] + [A]<br>[Cmd] + [Shift] + [A] || チャットパネルを開く
|-
| [Esc] (応答生成中) || 現在の処理をキャンセル
|}
</center>
<br>
===== コマンドパレット操作 =====
コマンドパレット ([Ctrl] + [Shift] + [P]キーを押下) では、以下に示すコマンドが使用できる。<br>
<br>
* <u>ACP: Connect to Agent</u>
*: エージェントに接続する。
* <u>ACP: New Conversation</u>
*: 新しい会話を開始する。
* <u>ACP: Send Prompt</u>
*: エージェントにメッセージを送信する。
* <u>ACP: Cancel Current Turn</u>
*: 現在の処理をキャンセルする。
* <u>ACP: Disconnect Agent</u>
*: エージェントから切断する。
* <u>ACP: Restart Agent</u>
*: エージェントプロセスを再起動する。
* <u>ACP: Show Protocol Traffic</u>
*: ACP通信のログを表示する。
<br>
==== 公式端末統合とACPクライアントの比較 ====
<center>
{| class="wikitable"
|+ OpenCodeをVSCodeで使用する2つの方法の比較
! 項目 !! 公式端末統合 (sst-dev.opencode) !! サードパーティACP (formulahendry.acp-client)
|-
| 提供元 || OpenCode公式 (Anomaly / SST) || コミュニティ (Jun Han)
|-
| インターフェース || VSCodeの統合端末 (TUI) || VSCodeのチャットパネル (GUI)
|-
| インストール方法 || <code>opencode</code>実行時に自動インストール || 拡張機能マーケットプレイスから手動インストール
|-
| 起動方法 || キーボードショートカット (<code>Ctrl+Esc</code>) || ACPパネルからエージェント接続
|-
| 通信方式 || 端末上の直接実行 || ACP (JSON-RPC 2.0 over stdio)
|-
| TUI機能 (<code>/undo</code>、<code>/redo</code>) || 使用可能 || 使用不可
|-
| ファイル参照ショートカット || <code>Alt+Ctrl+K</code> || なし
|-
| コンテキスト認識 || 選択範囲・タブの自動共有 || 手動でプロンプトに入力
|-
| 前提条件 || OpenCode CLI || OpenCode CLI + Node.js 18以上
|}
</center>
<br>
==== プロキシ環境での使用 ====
企業内ネットワーク等でプロキシを使用する場合は、以下の環境変数を設定する。<br>
<br>
* HTTPSプロキシを使用する場合
*: <syntaxhighlight lang="sh">
export HTTPS_PROXY=https://proxy.example.com:8080
</syntaxhighlight>
*: <br>
* HTTPプロキシを使用する場合
*: <syntaxhighlight lang="sh">
export HTTP_PROXY=http://proxy.example.com:8080
</syntaxhighlight>
<br>
<u>OpenCodeのTUIはローカルHTTPサーバと通信するため、以下に示す設定が必須である。</u><br>
<u>この設定を行わないと、ルーティングループが発生して正常に動作しない。</u><br>
<br>
<syntaxhighlight lang="sh">
export NO_PROXY=localhost,127.0.0.1
</syntaxhighlight>
<br>
プロキシが認証を要求する場合は、URLに認証情報を含める。<br>
<br>
<syntaxhighlight lang="sh">
export HTTPS_PROXY=http://username:password@proxy.example.com:8080
</syntaxhighlight>
<br>
カスタムCA証明書を使用する場合は、以下に示す環境変数を設定する。<br>
<br>
<syntaxhighlight lang="sh">
export NODE_EXTRA_CA_CERTS=/path/to/ca-cert.pem
</syntaxhighlight>
<br>
==== アクセス許可の設定 ====
OpenCodeでは、<u>opencode.json</u> ファイルの <code>permission</code> セクションで各操作の許可設定を行える。<br>
<br>
基本的な設定例を以下に示す。<br>
<br>
<syntaxhighlight lang="json">
{
    "$schema": "https://opencode.ai/config.json",
    "permission": {
      "*": "ask",
      "bash": "allow",
      "edit": "deny"
    }
}
</syntaxhighlight>
<br>
操作は以下の3つのアクションに設定できる。<br>
<br>
* <code>allow</code>
*: 確認なしで実行を許可する。
* <code>ask</code>
*: 実行前に確認を求める。
* <code>deny</code>
*: 実行を拒否する。
<br>
自動承認モードで起動する場合は、<code>--auto</code> フラグを使用する。<br>
<br>
opencode --auto
<br>
==== トラブルシューティング ====
===== OpenCodeが起動しない =====
以下を確認する。<br>
<br>
* ログを確認する。
*: ログは <u>~/.local/share/opencode/log/</u> に保存されている。
* 端末にログを出力して起動する。
*: <pre>opencode --print-logs</pre>
* ログレベルをDEBUGに設定して詳細情報を取得する。
*: <pre>opencode --log-level DEBUG</pre>
* デバッグ情報を表示する。
*: <pre>opencode debug paths</pre>
* 最新バージョンにアップグレードする。
*: <pre>opencode upgrade</pre>
<br>
===== PATHが通っていない / コマンドが見つからない =====
ACP Clientの設定では、<code>command</code> に絶対パスを指定する。<br>
<br>
# 設定例
"command": "/home/<ユーザ名>/.opencode/bin/opencode"
<br>
<code>which opencode</code> コマンドを実行してインストール先を確認し、そのパスを使用する。<br>
<br>
===== ACPサーバが起動しない / 通信できない =====
ACP通信のログを確認するには、以下の方法がある。<br>
<br>
* ACP Clientの設定で <code>"acp.logTraffic": true</code> を確認する。
* VSCodeのコマンドパレットから <u>ACP: Show Protocol Traffic</u> を実行する。<br>または、出力パネルで[ACP Traffic]チャンネルを選択する。
<br>
手動でACPサーバの動作を確認する場合は、以下に示すコマンドを実行する。<br>
<br>
opencode acp --print-logs --log-level DEBUG
<br>
===== 認証エラー =====
以下を確認する。<br>
<br>
* <code>/connect</code> コマンドで再認証する。
* APIキーが有効であることを確認する。
* ネットワークがプロバイダーのAPIに接続できることを確認する。
* 認証情報ファイル <u>~/.local/share/opencode/auth.json</u> が存在するか確認する。
<br>
===== モデルが見つからない =====
以下を確認する。<br>
<br>
* プロバイダーに認証済みであること。
* モデル名が <code>プロバイダーID/モデルID</code> の形式で正しく指定されていること。
*: 例: <u>anthropic/claude-sonnet-5</u>、<u>openai/gpt-5.5</u>
* 利用可能なモデル一覧を表示する。
*: <pre>opencode models</pre>
<br>
===== 許可ダイアログが応答しない =====
ACP Clientで許可ダイアログが応答しない場合は、<code>acp.autoApprovePermissions</code> を <code>allowAll</code> に設定して一時的に自動承認に切り替える。<br>
<br>
===== ACP経由で /undo や /redo が使えない =====
これは仕様上の制限である。<br>
<br>
<code>/undo</code> コマンド および <code>/redo</code> コマンドはACP経由ではサポートされていない。<br>
これらの操作が必要な場合は、公式端末統合 (<code>sst-dev.opencode</code>) を使用するか、端末上で直接OpenCodeのTUIを起動する。<br>
<br>
==== 制限事項 ====
* ACP経由では、<code>/undo</code> コマンド および <code>/redo</code> コマンドは使用できない。
* ACP Client経由でエージェントを使用する場合、エージェントがシステムのPATHに含まれているか、npxで利用可能である必要がある。
* ACP Clientのファイル添付機能は、現時点ではまだ実装されていない。
* ACP経由のリモートエージェント接続 (HTTP / WebSocket) は策定中であり、現時点ではローカルのstdio接続のみが安定して使用できる。
<br><br>
== 関連情報 ==
* [https://opencode.ai/docs/ OpenCode 公式ドキュメント]
* [https://opencode.ai/docs/acp/ OpenCode ACPサポート]
* [https://opencode.ai/docs/cli/ OpenCode CLIリファレンス]
* [https://opencode.ai/docs/ide/ OpenCode IDE統合]
* [https://opencode.ai/docs/providers/ OpenCode プロバイダー設定]
* [https://opencode.ai/docs/troubleshooting/ OpenCode トラブルシューティング]
* [https://opencode.ai/docs/network/ OpenCode ネットワーク設定]
* [https://opencode.ai/docs/permissions/ OpenCode 権限設定]
* [https://agentclientprotocol.com/get-started/introduction Agent Client Protocol 入門]
* [https://agentclientprotocol.com/get-started/clients ACP対応クライアント一覧]
* [https://github.com/formulahendry/vscode-acp ACP Client for VS Code (GitHub)]
* [https://marketplace.visualstudio.com/items?itemName=formulahendry.acp-client ACP Client (VS Code Marketplace)]
* [https://marketplace.visualstudio.com/items?itemName=sst-dev.opencode OpenCode公式拡張機能 (VS Code Marketplace)]
* [https://github.com/anomalyco/opencode OpenCode GitHubリポジトリ]
<br><br>
{{#seo:
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,電気回路,電子回路,基板,プリント基板
|description={{PAGENAME}} - VSCodeのインストール手順、C/C++開発環境の設定、Dolphin連携、およびOpenCodeによるAIコーディング支援 (ACP / 端末統合) の総合ガイド | This page is {{PAGENAME}} in MochiuWiki - comprehensive guide to VSCode installation, C/C++ development setup, and OpenCode AI coding assistance
|image=/resources/assets/MochiuLogo_Single_Blue.png
}}


__FORCETOC__
__FORCETOC__
[[カテゴリ:RHEL]][[カテゴリ:SUSE]]
[[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]][[カテゴリ:PinePhone]]

2026年9月3日 (木) 05:23時点における最新版

概要

Visual Studio Code (以下、VSCode) は、Code - OSSリポジトリをベースにMicrosoft独自のカスタマイズが施されており、従来のマイクロソフト製品ライセンスでリリースされている。
コードエディタのシンプルさと、開発者のコアとなる編集 - ビルド - デバッグのサイクルに必要なものを兼ね備えている。

軽量なデバッグ、豊富な拡張性モデル、既存のツールとの軽量な統合とともに、包括的なコード編集、ナビゲーション、理解のサポートを提供する。

VSCodeは毎月アップデートされており、新機能やバグが修正される。
最新のリリースを毎日入手する場合は、Insidersビルドをインストールする。

※注意
VSCodeには様々なテレメトリ機能が搭載されており、端末の情報は逐一Microsoftに送信されている。
たとえ、テレメトリ機能を無効にするオプションを設定しても、なお情報を送信し続けている。 (完全に無効化することができない)
そのため、VSCodeのようなスパイウェアは使用せずに、Codiumを導入することを強く推奨する。

Codiumのインストールを知りたい場合は、インストール - VSCodiumを参照すること。


VSCodeのインストール

リポジトリを登録してインストール

まず、VSCodeのリポジトリと鍵を追加するため、以下のコマンドを入力する。

# RHEL
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'

# SUSE
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ntype=rpm-md\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/zypp/repos.d/vscode.repo'

# Mobian / Raspberry Pi
-

# Manjaro ARM
-


アップデート可能なパッケージの一覧を表示する。

# RHEL
sudo dnf check-update

# SUSE
sudo zypper list-updates

# Mobian / Raspberry Pi
-

# Manjaro ARM
-


以下のコマンドを入力して、VSCodeをインストールする。

# RHEL
sudo dnf update
sudo dnf install code

# SUSE
sudo zypper refresh
sudo zypper install code

# Mobian / Raspberry Pi
sudo apt install code

# Manjaro ARM
sudo pacman -S --needed --noconfirm base-devel git  # AURヘルパを使用して、VS Codeをインストールする前に以下に示すパッケージがインストールされていることを確認する
sudo yay -s visual-studio-code-bin  # VS Codeのインストール
sudo yay -s vscode                  # VS Code Insidersビルドをインストールすることもできる


codeコマンドがPATH環境変数に含まれているかどうか確認する。

which code


手動でインストール

Microsoftの公式Webサイトにアクセスして、VSCodeの64bitのTarballファイルをダウンロードする。
ダウンロードしたファイルを解凍する。

tar xf code-stable-x64-<バージョン>.tar.gz


解凍したディレクトリを任意のディレクトリに配置する。

mv code-stable-x64-<バージョン> VSCode
mv VSCode <VSCodeのインストールディレクトリ>


必要であれば、~/.profileファイル等に環境変数PATHを追記する。

vi ~/.profile


# ~/.profileファイル

export PATH="/<VSCodeのインストールディレクトリ>/bin:$PATH"


VSCodeのデスクトップエントリファイルを作成する。

vi ~/.local/share/applications/VSCode.desktop


 # ~/.local/share/applications/VSCode.desktopファイル
 
 [Desktop Entry]
 Name=Visual Studio Code
 Comment=Code Editing. Redefined.
 GenericName=Text Editor
 Exec=/<VSCodeのインストールディレクトリ>/bin/code --unity-launch %F
 Icon=com.visualstudio.code
 Type=Application
 StartupNotify=false
 StartupWMClass=Code
 Categories=Utility;TextEditor;Development;IDE;
 MimeType=text/plain;inode/directory;application/x-code-workspace;
 Actions=new-empty-window;
 Keywords=vscode;
 
 [Desktop Action new-empty-window]
 Name=New Empty Window
 Exec=/<VSCodeのインストールディレクトリ>/bin/code --new-window %F
 Icon=com.visualstudio.code


vi ~/.local/share/applications/VSCode-url-handler.desktop


 # ~/.local/share/applications/VSCode-url-handler.desktopファイル
 
 [Desktop Entry]
 Type=Application
 Name=Visual Studio Code - URL Handler
 GenericName=Text Editor
 Comment=Code Editing. Redefined.
 Exec=/<VSCodeのインストールディレクトリ>/bin/code --open-url %U
 Icon=com.visualstudio.code
 Categories=Utility;TextEditor;Development;IDE;
 MimeType=x-scheme-handler/vscode;
 Keywords=vscode;
 NoDisplay=true
 StartupNotify=true


エラー関連

VSCodeの起動時に、以下に示すようなエラーが出力される場合がある。

Writing login information to the keychain failed with error 'GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown:
The name org.freedesktop.secrets was not provided by any .service files'.


このエラーを解決するには、gnome-keyringをインストールする。

sudo zypper install gnome-keyring



スーパーユーザ権限での実行

root権限でVSCodeを実行する場合は、以下のコマンドで実行する。
なお、以下のVSCode-Rootディレクトリは既存のディレクトリなら何でもよい。

code --user-data-dir='VSCode-Root'



C/C++拡張機能

C/C++拡張機能のインストール

  1. VS Codeメイン画面左の拡張機能のボタンを押下する。
  2. 検索欄に"C/C++"と入力して、C/C++拡張機能をインストールする。
  3. [再読み込み]ボタンを押下する。


インテリセンスの設定

コードナビゲーションや自動補完の機能を有効にする。(この設定が無くても、ビルドおよびデバッグ可能である)

  1. まず、事前にC/C++プロジェクトのディレクトリを開く。
  2. 次に、[Ctrl] + [Shift] + [P]キーを同時押下して、コマンドパレットを開く。
  3. "C/Cpp: Edit configurations..."を選択する。この時、C/C++プロジェクトの.vscodeディレクトリに、c_cpp_properties.jsonファイルが自動的に作成される。ただし、.vscodeディレクトリが存在しない場合は、プロジェクトディレクトリに自動で作成される。
  4. c_cpp_properties.jsonファイルを、以下の内容のように編集する。
 "ファイル名": "c_cpp_properties.jsonファイル",
 
 {
    "version": 4,
    "configurations": [
       {
          "name": "Linux64",       // その他: "Win32", "Mac"も指定可能
          "includePath": [
             "${workspaceFolder}",
             "/home/hoge/include"  // インクルードするファイルがあるディレクトリを追加
          ],
          "defines": [  // 使用するプリプロセッサの定義
             "_DEBUG",
             "UNICODE",
             "_UNICODE",
             "PI=3.14159"
          ],
          // "windowsSdkVersion": "8.1",       // Windowsの場合、Windows SDKインクルードパスのバージョン
          "compilerPath": "/usr/bin/gcc",      // 使用するコンパイラのパス
          "cStandard": "c17",                  // その他: "c99", "c17", "c23"等も指定可能
          "cppStandard": "c++17",              // その他: "C++11", "C++14", "C++20"等も指定可能
          "compilerArgs": [                    // コンパイラに渡す引数
             "-w",
             "-std=gnu++17",
             "-Wno-error=narrowing"
          ],
          "intelliSenseMode": "linux-gcc-x64"  // その他: "windows-msvc-x64", "msvc-x64", "macos-clang-x64", "clang-x64"等も指定可能
       }
    ]
 }


ビルドの設定

tasks.jsonファイルを作成して編集する。

  1. [Ctrl] + [Shift] + [P]キーを同時押下して、コマンドパレットを開く。
  2. [Tasks: Configure Task]を選択する。
  3. [テンプレートから tasks.json を生成]を選択する。
  4. [Others 任意の外部コマンドを実行する例]を選択する。
  5. プロジェクトディレクトリの.vscodeディレクトリに、tasks.jsonファイルが自動的に作成される。
  6. tasks.jsonファイルを、以下の内容のように編集する。
 "ファイル名": "task.jsonファイル",
 
 {
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
       {
          "label": "sample",           // プロジェクトのファイル名を指定
          "type": "shell",
          "command": "g++",
          "args": ["-g", "main.cpp"],  // プログラムのエントリポイントがあるcppファイル名を指定
          "group": {
             "kind": "build",
             "isDefault": true
          }
       }
    ]
 }


最後に、ビルドができるかどうか確認する。
なお、ビルドのショートカットは、[Ctrl] + [Shift] + [B]キーを同時押下することでも可能である。

デバッグの設定

launch.jsonファイルを作成して編集する。

  1. VS Codeメイン画面左のデバッグボタンを選択する。([Ctrl] + [Shift] + [D]キーを同時押下しても可能である)
  2. デバッグ画面上部にある"構成がありません"と表示されているプルダウンの右側にある歯車を選択する。
  3. [環境の選択]プルダウンから、[C++ (GDB/LLDB)]を選択する。
  4. C/C++プロジェクトの.vscodeディレクトリに、launch.jsonファイルが自動的に作成される。
  5. launch.jsonファイルを、以下の内容のように編集する。launch.jsonファイルの詳細は、C/C++拡張機能のGithubを参照すること。
 "ファイル名": "launch.jsonファイル",
 
 {
    // IntelliSense を使用して利用可能な属性を学べます。
    // 既存の属性の説明をホバーして表示します。
    // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
       {
          "name": "(gdb) Launch",
          "type": "cppdbg",
          "request": "launch",
          "program": "${workspaceRoot}/Sample",  // 出力される実行ファイル名またはライブラリファイル名
          "args": [],
          "environment": [],
          "cwd": "${workspaceFolder}",
          "stopAtEntry": false,
          "externalConsole": true,               // 外部ターミナルを使用する場合はtrue
          "MIMode": "gdb",                       // その他: "lldb"も指定可能
          "miDebuggerPath": "/usr/bin/gdb",      // 使用するデバッガのパス
          "setupCommands": [
             {
                "description": "Enable pretty-printing for gdb",
                "text": "-enable-pretty-printing",
                "ignoreFailures": true
             }
          ]
       }
    ]
 }


デバッグが実行できるかどうか確認する。
なお、デバッグの実行は、[F5]キーの押下、[デバック]メニューバー - [デバッグの開始]を選択、[デバッグ]画面上部にある[▶]でも可能である。


拡張機能 : Markdown

VSCodeのメイン画面左にある[拡張機能]から、"Markdown All in One"をインストールする。

Markdownファイルの編集中において、[Ctrl] + [Shift] + [P]キーを同時押下して、[Markdown: プレビューを横に表示]を選択することで、
MArkdownのプレビュー画面が開く。


Dolphinとの連携

Dolphinにコンテキストメニューを追加する場合、まず、以下のディレクトリに移動する。

cd Open_in_VSCode.desktop ~/.local/share/kservices5
# または
cd Open_in_VSCode.desktop /usr/share/kservices5


例えば、ファイルを右クリックしてVSCodeで開く機能を追加するには、以下のファイルを作成する。

vi Open_in_VSCode.desktop


 [Desktop Entry]
 Type=Service
 Name=Open in VS Code
 ServiceTypes=KonqPopupMenu/Plugin
 MimeType=inode/directory
 X-KDE-Priority=TopLevel
 Actions=OpenInVSCode;OpenInVSCode_Root
 
 [Desktop Action OpenInVSCode]
 Name=Open in VS Code
 Icon=com.visualstudio.code
 Exec=code %u 
 
 [Desktop Action OpenInVSCode_Root]
 Name=Open in VS Code as SuperUser
 Icon=com.visualstudio.code
 Exec=code --user-data-dir=/home/<ユーザ名>/Program/VScode_root_project %u



VS Codeの設定

タブをPreview modeで開かない

新しいファイルを開く時に現在のタブが上書きされて表示される場合がある。

上書きされるタブはファイルをPreview modeで開いているため、続けて他のファイルを開く場合、以前のタブを上書きして表示する。
タブがPreview modeで開かれている場合、タブのタイトルが斜体になる。

この挙動を回避するためには、以下のいずれかを行う。

  • ファイルをダブルクリックして開く
  • settings.jsonファイルに、"workbench.editor.enablePreview": falseを追記する。



OpenCodeによるAIコーディング支援

OpenCodeは、Anomaly社が開発するオープンソースのAIコーディングエージェントである。
端末ベースのインターフェース (TUI)、デスクトップアプリケーション、IDE統合の3形態で提供されており、75以上のLLMプロバイダーに対応する。

VSCode上でOpenCodeを使用する方法は2つある。

  • 公式の端末統合 (拡張機能 sst-dev.opencode)
    VSCodeの統合端末上で opencode コマンドを実行して使用する方法
    拡張機能が自動インストールされ、キーボードショートカットから起動できる。
  • サードパーティのACPクライアント (拡張機能 formulahendry.acp-client)
    Agent Client Protocol (ACP) を経由して、OpenCodeをVSCodeのチャットパネル上で操作する方法
    この経路はOpenCode公式チームが直接提供するものではなく、サードパーティが開発・保守している。


前提条件

OpenCodeをVSCode上で使用するには、以下に示す環境が必要である。

  • OpenCode CLIのインストール
  • いずれかのLLMプロバイダーのAPIキー
  • 端末統合を使用する場合
    VSCode本体 または Cursor、Windsurf、VSCodium等のフォーク
  • ACPクライアントを使用する場合
    Node.js 18以上


OpenCode CLIのインストール

Linux環境における簡単なインストール方法は、公式インストールスクリプトを使用することである。

curl -fsSL https://opencode.ai/install | bash


このスクリプトは、以下の優先順位でインストール先を決定する。

  • 環境変数 OPENCODE_INSTALL_DIR
  • 環境変数 XDG_BIN_DIR
  • ~/bin (ディレクトリが存在するか作成可能な場合)
  • ~/.opencode/bin (デフォルトのフォールバック)


必要に応じて、インストール先を 環境変数 PATHに追加する。
環境変数

export PATH="$HOME/.opencode/bin:$PATH"


その他のインストール方法を以下に示す。

  • npm
    npm install -g opencode-ai@latest
  • Bun
    bun install -g opencode-ai@latest
  • Homebrew
    brew install anomalyco/tap/opencode


※注意
2026年7月現在、OpenCode CLI単体の公式RPMパッケージ (zypper / dnf用) は提供されていない。
OpenCode DesktopのRPMパッケージはGitHub Releasesから入手可能だが、CLIとは別物である。

SUSE / RHEL環境では、curlインストールスクリプトまたはnpm経由のインストールを推奨する。

認証の設定

OpenCodeの使用には、LLMプロバイダーの認証情報が必要である。
認証情報は、~/.local/share/opencode/auth.json に保存される。

認証の設定方法は以下の2通りがある。

方法1: /connectコマンド
  1. OpenCodeを起動する。
  2. /connect コマンドを実行する。
  3. 使用するプロバイダー (OpenCode Zen、Anthropic、OpenAI等) を選択する。
  4. 画面の指示に従ってAPIキーを入力する。


方法2: auth loginオプション
opencode auth login


プロバイダーを指定する場合は以下のように実行する。

opencode auth login --provider anthropic


ACP (Agent Client Protocol) とは

ACPは、コードエディタとAIコーディングエージェント間の通信を標準化するオープンプロトコルである。

Language Server Protocol (LSP) が言語サーバ統合を標準化したのと同様に、ACPはエージェントとエディタの相互運用性を実現する。

ACPの主な特徴は以下の通りである。

  • 通信方式
    JSON-RPC 2.0 over stdio (ローカルエージェントの場合)
    データ形式は nd-JSON (改行区切りJSON)
  • メッセージ形式
    ユーザ可読テキストのデフォルト形式はMarkdown
  • 対応シナリオ
    ローカルエージェント (エディタのサブプロセスとして実行)
    リモートエージェント (HTTP / WebSocket 経由、策定中)


OpenCodeはACPに対応しており、opencode acp コマンドでACPサーバを起動する。
このコマンドは、標準入出力 (stdio) 経由でJSON-RPCメッセージを送受信するサブプロセスとして動作する。

※注意
ACP経由では、TUI上の /undo コマンド および /redo コマンドは使用できない。
その他の機能 (ファイル操作、端末コマンド実行、カスタムツール、MCPサーバ、プロジェクトルール等) は全て使用可能である。

方法1: 公式の端末統合 (sst-dev.opencode)

OpenCodeは、VSCodeの統合端末上で直接動作する公式拡張機能 sst-dev.opencode を提供している。
この拡張機能は、VSCodeの統合端末で opencode コマンドを実行すると自動的にインストールされる。

インストール
  1. VSCodeの統合端末を開く。
  2. opencode コマンドを実行する。
  3. 拡張機能が自動的にインストールされる。


手動でインストールする場合は、VSCodeの拡張機能マーケットプレイスで OpenCode を検索してインストールする。

キーボードショートカット
公式端末統合のキーボードショートカット
操作 Mac Windows / Linux
クイック起動 (分割端末でOpenCodeを開く) [Cmd] + [Esc] [Ctrl] + [Esc]
新規セッション [Cmd] + [Shift] + [Esc] [Ctrl] + [Shift] + [Esc]
ファイル参照の挿入 [Cmd] + [Option] + [K] [Ctrl] + [Alt] + [K]


主な機能
  • コンテキスト認識
    現在の選択範囲や開いているタブの内容を、自動的にOpenCodeと共有する。
  • ファイル参照ショートカット
    @File#L37-42 のような形式で、特定のファイルと行番号を指定できる。
  • 分割端末表示
    VSCodeの画面下部にOpenCodeを分割表示する。


トラブルシューティング

拡張機能が自動インストールされない場合は、以下に示す項目を確認する。

  • 統合端末上で opencode を実行しているか。
  • 各IDEのCLIコマンドがインストールされているか。
    インストールされていない場合は、[Ctrl] + [Shift] + [P]キー ([Cmd] + [Shift] + [P]キー) を押下してコマンドパレットを開き、
    Shell Command: Install 'code' command in PATH を実行する。
    • VSCode
      code コマンド
    • Cursor
      cursor コマンド
    • Windsurf
      windsurf コマンド
    • VSCodium
      codium コマンド
  • VSCodeに拡張機能のインストール権限があるか。


方法2: サードパーティACPクライアント (formulahendry.acp-client)

formulahendry.acp-client は、VSCode上でACP対応エージェントを操作するためのサードパーティ製拡張機能である。

この拡張機能を使用すると、OpenCodeを含む11種類のAIコーディングエージェントをVSCodeのチャットパネルから直接操作できる。

この拡張機能はOpenCode公式チームが開発・保守するものではなく、コミュニティ (Jun Han氏) によって提供されている。

インストール

VSCodeの拡張機能マーケットプレイスから formulahendry.acp-client をインストールする。

または、以下のURLから直接インストールできる。


事前設定済みエージェント

この拡張機能には、下表に示すエージェントが事前設定されている。

ACP Clientの事前設定済みエージェント
エージェント名 デフォルトコマンド
GitHub Copilot npx @github/copilot-language-server@latest --acp
Claude Code npx @agentclientprotocol/claude-agent-acp@latest
Gemini CLI npx @google/gemini-cli@latest --experimental-acp
Qwen Code npx @qwen-code/qwen-code@latest --acp --experimental-skills
Auggie CLI npx @augmentcode/auggie@latest --acp
Qoder CLI npx @qoder-ai/qodercli@latest --acp
Codex CLI npx @zed-industries/codex-acp@latest
OpenCode npx opencode-ai@latest acp
OpenClaw npx openclaw acp
Kiro CLI kiro-cli acp
Hermes Agent hermes acp


OpenCodeのACP設定 (ローカルインストール版)

VSCode全体の設定である ~/.config/Code/User/settings.json ファイルに、以下に示す設定を追加する。
または、[Ctrl] + [Shift] + [P]キーを押下して、コマンドパレットから Preferences: Open User Settings (JSON) を入力する。

 {
   // ...略
 
   "acp.agents": {
     "OpenCode": {
       "command": "opencode",  // または、OpenCodeのフルパスを指定する
       "args": [
         "acp",
         "--print-logs"
       ]
     }
   },
   "acp.logTraffic": true
 }


なお、--print-logs は、標準エラー出力 (stderr) のログを表示する診断用オプションである。

この設定では、ACP Clientが opencode acp コマンドをローカルサブプロセスとして起動する。
OpenCodeが環境変数 PATH から見つからない場合は、which opencode コマンドで確認した絶対パスを command に指定する。

ACP Clientの主要設定項目
ACP Client拡張機能の設定項目
設定キー デフォルト値 説明
acp.agents (11エージェント) エージェント設定
各キーがエージェント名、
値に commandargsenv を指定する。
acp.autoApprovePermissions ask 権限リクエストの処理方法
ask: 都度確認
allowAll: 全て自動承認
acp.defaultWorkingDirectory "" エージェントセッションのデフォルト作業ディレクトリ
空の場合は現在のワークスペースを使用する。
acp.logTraffic true ACPプロトコル通信のログをACP Traffic出力チャンネルに記録する。


基本的な使用方法
  1. VSCodeのアクティビティバーからACP Clientパネル (ACPアイコン) を開く。
  2. エージェント一覧からOpenCodeを選択して接続する。
  3. チャットパネルにプロンプトを入力して送信する。


キーボードショートカット
ACP Clientのキーボードショートカット
ショートカット 操作
[Ctrl] + [Shift] + [A]
[Cmd] + [Shift] + [A]
チャットパネルを開く
[Esc] (応答生成中) 現在の処理をキャンセル


コマンドパレット操作

コマンドパレット ([Ctrl] + [Shift] + [P]キーを押下) では、以下に示すコマンドが使用できる。

  • ACP: Connect to Agent
    エージェントに接続する。
  • ACP: New Conversation
    新しい会話を開始する。
  • ACP: Send Prompt
    エージェントにメッセージを送信する。
  • ACP: Cancel Current Turn
    現在の処理をキャンセルする。
  • ACP: Disconnect Agent
    エージェントから切断する。
  • ACP: Restart Agent
    エージェントプロセスを再起動する。
  • ACP: Show Protocol Traffic
    ACP通信のログを表示する。


公式端末統合とACPクライアントの比較

OpenCodeをVSCodeで使用する2つの方法の比較
項目 公式端末統合 (sst-dev.opencode) サードパーティACP (formulahendry.acp-client)
提供元 OpenCode公式 (Anomaly / SST) コミュニティ (Jun Han)
インターフェース VSCodeの統合端末 (TUI) VSCodeのチャットパネル (GUI)
インストール方法 opencode実行時に自動インストール 拡張機能マーケットプレイスから手動インストール
起動方法 キーボードショートカット (Ctrl+Esc) ACPパネルからエージェント接続
通信方式 端末上の直接実行 ACP (JSON-RPC 2.0 over stdio)
TUI機能 (/undo/redo) 使用可能 使用不可
ファイル参照ショートカット Alt+Ctrl+K なし
コンテキスト認識 選択範囲・タブの自動共有 手動でプロンプトに入力
前提条件 OpenCode CLI OpenCode CLI + Node.js 18以上


プロキシ環境での使用

企業内ネットワーク等でプロキシを使用する場合は、以下の環境変数を設定する。

  • HTTPSプロキシを使用する場合
     export HTTPS_PROXY=https://proxy.example.com:8080
    

  • HTTPプロキシを使用する場合
     export HTTP_PROXY=http://proxy.example.com:8080
    


OpenCodeのTUIはローカルHTTPサーバと通信するため、以下に示す設定が必須である。
この設定を行わないと、ルーティングループが発生して正常に動作しない。

 export NO_PROXY=localhost,127.0.0.1


プロキシが認証を要求する場合は、URLに認証情報を含める。

 export HTTPS_PROXY=http://username:password@proxy.example.com:8080


カスタムCA証明書を使用する場合は、以下に示す環境変数を設定する。

 export NODE_EXTRA_CA_CERTS=/path/to/ca-cert.pem


アクセス許可の設定

OpenCodeでは、opencode.json ファイルの permission セクションで各操作の許可設定を行える。

基本的な設定例を以下に示す。

 {
    "$schema": "https://opencode.ai/config.json",
    "permission": {
       "*": "ask",
       "bash": "allow",
       "edit": "deny"
    }
 }


操作は以下の3つのアクションに設定できる。

  • allow
    確認なしで実行を許可する。
  • ask
    実行前に確認を求める。
  • deny
    実行を拒否する。


自動承認モードで起動する場合は、--auto フラグを使用する。

opencode --auto


トラブルシューティング

OpenCodeが起動しない

以下を確認する。

  • ログを確認する。
    ログは ~/.local/share/opencode/log/ に保存されている。
  • 端末にログを出力して起動する。
    opencode --print-logs
  • ログレベルをDEBUGに設定して詳細情報を取得する。
    opencode --log-level DEBUG
  • デバッグ情報を表示する。
    opencode debug paths
  • 最新バージョンにアップグレードする。
    opencode upgrade


PATHが通っていない / コマンドが見つからない

ACP Clientの設定では、command に絶対パスを指定する。

# 設定例

"command": "/home/<ユーザ名>/.opencode/bin/opencode"


which opencode コマンドを実行してインストール先を確認し、そのパスを使用する。

ACPサーバが起動しない / 通信できない

ACP通信のログを確認するには、以下の方法がある。

  • ACP Clientの設定で "acp.logTraffic": true を確認する。
  • VSCodeのコマンドパレットから ACP: Show Protocol Traffic を実行する。
    または、出力パネルで[ACP Traffic]チャンネルを選択する。


手動でACPサーバの動作を確認する場合は、以下に示すコマンドを実行する。

opencode acp --print-logs --log-level DEBUG


認証エラー

以下を確認する。

  • /connect コマンドで再認証する。
  • APIキーが有効であることを確認する。
  • ネットワークがプロバイダーのAPIに接続できることを確認する。
  • 認証情報ファイル ~/.local/share/opencode/auth.json が存在するか確認する。


モデルが見つからない

以下を確認する。

  • プロバイダーに認証済みであること。
  • モデル名が プロバイダーID/モデルID の形式で正しく指定されていること。
    例: anthropic/claude-sonnet-5openai/gpt-5.5
  • 利用可能なモデル一覧を表示する。
    opencode models


許可ダイアログが応答しない

ACP Clientで許可ダイアログが応答しない場合は、acp.autoApprovePermissionsallowAll に設定して一時的に自動承認に切り替える。

ACP経由で /undo や /redo が使えない

これは仕様上の制限である。

/undo コマンド および /redo コマンドはACP経由ではサポートされていない。
これらの操作が必要な場合は、公式端末統合 (sst-dev.opencode) を使用するか、端末上で直接OpenCodeのTUIを起動する。

制限事項

  • ACP経由では、/undo コマンド および /redo コマンドは使用できない。
  • ACP Client経由でエージェントを使用する場合、エージェントがシステムのPATHに含まれているか、npxで利用可能である必要がある。
  • ACP Clientのファイル添付機能は、現時点ではまだ実装されていない。
  • ACP経由のリモートエージェント接続 (HTTP / WebSocket) は策定中であり、現時点ではローカルのstdio接続のみが安定して使用できる。



関連情報