目的: VS Code拡張機能を用いて、GitHub Copilot、Claude Code、OpenAI系ツールを快適に動かす
はじめに
本ガイドは、VS Code上で生成AI拡張機能を使用する環境を構築するための包括的なマニュアルです。以下のすべての環境をカバーしています:
- ローカル Ubuntu環境(デスクトップ/ラップトップ)
- Windows + WSL2環境
- SSH接続先のリモートサーバー(研究室サーバー、HPCクラスタなど)
目次
- 全体アーキテクチャと設計思想
- 対象となる生成AI拡張機能
- ローカルUbuntu環境のセットアップ
- Windows + WSL2環境のセットアップ
- SSH先リモート環境のセットアップ
- AI拡張機能の導入と設定
- トラブルシューティング
- セキュリティとベストプラクティス
- 付録:便利な設定とスニペット
1. 全体アーキテクチャと設計思想
基本方針
VS Code上で生成AIを動かす際のゴールデンルール:
-
拡張機能はリモート側にインストールする
- Remote-SSH、WSL、Containersなど、コードがある場所で拡張を動かす
- ネットワーク遅延を最小化し、ファイルアクセスを高速化
-
接続方式の優先順位
- 第一選択: Remote-SSH(最も軽快で安定)
- 代替案: VS Code Server(code-server等)
- 最終手段: フルGUI転送(X11/VNC/RDP)
-
セキュリティファースト
- SSH鍵認証(Ed25519推奨)
- APIキーの適切な管理
- パスワード認証の無効化
環境別の推奨構成
| 環境 | 推奨方式 | VS Code実行場所 | 拡張実行場所 |
|---|---|---|---|
| ローカルUbuntu | ネイティブ | ローカル | ローカル |
| Windows開発 | Remote-WSL | Windows | WSL2内 |
| SSH先サーバー | Remote-SSH | ローカルPC | リモートサーバー |
| 踏み台経由 | Remote-SSH + ProxyJump | ローカルPC | リモートサーバー |
2. 対象となる生成AI拡張機能
主要な拡張機能
| 拡張機能 | 提供元 | 用途 | サブスクリプション |
|---|---|---|---|
| GitHub Copilot | GitHub/Microsoft | コード補完・チャット | 有料(個人/Business) |
| Claude Code | Anthropic | AI支援コーディング | API従量課金 |
| Continue | オープンソース | OpenAI/Claude等統合 | 各APIキー |
| Codex CLI | OpenAI | ターミナルAI支援 | APIキー |
重要な注意事項
⚠️ 「Codex」という名称について: OpenAI Codexは2023年に廃止されました。現在はContinueやその他の拡張でOpenAI API(GPT-4等)を利用します。
3. ローカルUbuntu環境のセットアップ
3.1 前提条件
- OS: Ubuntu 22.04 LTS / 24.04 LTS推奨
- VS Code: 最新版(公式サイトからダウンロード)
- インターネット接続: AI APIアクセス用
3.2 VS Codeのインストール
# 公式リポジトリから最新版をインストール
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
sudo apt update
sudo apt install code
3.3 日本語入力環境の構築(Ubuntu 24.04)
Ubuntu 24.04で日本語入力が機能しない問題は、IBusとFcitx5の競合が原因です。
即座に復旧する方法(再起動不要)
# IBusを停止(競合防止)
ibus exit 2>/dev/null || true
pkill -f ibus-daemon 2>/dev/null || true
# Fcitx5をクリーン再起動
fcitx5 -rd
# Mozcの確認とインストール
dpkg -s fcitx5-mozc >/dev/null 2>&1 || { sudo apt update && sudo apt install -y fcitx5-mozc; }
# Mozcをアクティブ化
fcitx5-remote -o
fcitx5-remote -s mozc
恒久対策
# 入力メソッドフレームワークをFcitx5に固定
im-config -n fcitx5
# 環境変数の設定
mkdir -p ~/.config/environment.d
cat > ~/.config/environment.d/80-fcitx.conf <<'EOF'
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
EOF
# 自動起動の設定
mkdir -p ~/.config/autostart
cp /usr/share/applications/org.fcitx.Fcitx5.desktop ~/.config/autostart/ 2>/dev/null || true
確認: Ctrl+Spaceまたは半角/全角キーで日本語入力に切り替わることを確認
VS Codeとの併用時の注意
VS CodeはデフォルトでCtrl+Spaceを「候補表示」に使用しているため、Fcitx5の切替キーと競合します。
解決法1: Fcitx5の切替キーを変更
fcitx5-configtool
から「グローバルオプション」→「入力メソッドのオン/オフ」で「半角/全角」のみに設定
解決法2: VS Codeのキーバインドを変更(後述)
3.4 基本設定
VS Codeの設定ファイル ~/.config/Code/User/settings.json に以下を追加:
{
"editor.wordWrap": "on",
"editor.formatOnSave": true,
"terminal.integrated.defaultProfile.linux": "bash",
"git.autofetch": true,
"git.confirmSync": false,
"files.watcherExclude": {
"**/.git/objects/**": true,
"**/.git/subtree-cache/**": true,
"**/node_modules/**": true,
"**/.venv/**": true,
"**/venv/**": true,
"**/__pycache__/**": true
}
}
4. Windows + WSL2環境のセットアップ
Windows上で開発する場合、WSL2を使用することで、Linuxと同等の環境を構築できます。
4.1 全体構成
Windows 11 Pro
↓
WSL2 (Ubuntu 24.04)
↓
VS Code (Remote - WSL)
↓
AI拡張機能(WSL内で実行)
4.2 WSL2のインストール
# PowerShell(管理者権限)で実行
wsl --install
wsl --set-default-version 2
# インストール後、再起動
# Microsoft StoreからUbuntu 24.04 LTSをインストール
4.3 VS Code Remote - WSL拡張の導入
- Windows側のVS Codeで
Ctrl+Shift+X - 「Remote - WSL」を検索してインストール
- 左下の緑色アイコン(
><)をクリック - 「New WSL Window」を選択
4.4 プロジェクトの配置
重要: /mnt/cや/mnt/d直下で作業すると、I/Oが非常に遅くなります。必ずWSL側のホームディレクトリを使用してください。
# WSL内で
mkdir -p ~/work
cd ~/work
# Windows側のプロジェクトをコピー(必要な場合)
rsync -avh /mnt/d/your_project/ ~/work/your_project/
# VS Codeで開く
cd ~/work/your_project
code .
4.5 WSL環境の最適化
~/.bashrcに以下を追加:
# Git最適化
export GIT_OPTIONAL_LOCKS=0
# Python仮想環境
export PYTHON_VENV_PATH="$HOME/.venv"
4.6 開発ツールのインストール
# WSL内で実行
sudo apt update
# Python環境
sudo apt install -y python3-venv python3-pip
# Node.js(nvmを使用)
curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.nvm/nvm.sh
nvm install --lts
# Git設定
git config --global user.name "Your Name"
git config --global user.email "your@example.com"
git config --global core.autocrlf input
git config --global core.filemode false
4.7 ワークスペース設定
.vscode/settings.jsonをプロジェクトルートに作成:
{
"terminal.integrated.defaultProfile.windows": "Ubuntu (WSL)",
"terminal.integrated.defaultProfile.linux": "bash",
"terminal.integrated.cwd": "${workspaceFolder}",
"python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",
"workbench.panel.defaultLocation": "right"
}
5. SSH先リモート環境のセットアップ
研究室サーバー、HPCクラスタなど、SSH経由でアクセスするリモート環境でVS Codeを使用する場合の設定です。
5.1 接続方式の選択フロー
SSH接続は可能?
├─ No → VS Code Server(code-server)を検討
└─ Yes → Remote-SSHを試す
├─ 成功 → 採用(最適解)
└─ 失敗(glibc/NFS/ログインスクリプトの問題)
├─ 環境を是正できる → 是正してRemote-SSH
└─ 是正できない → VS Code Server
5.2 SSH鍵の準備
Ed25519鍵の生成(推奨)
# ローカルPCで実行
ssh-keygen -t ed25519 -C "your_email@example.com"
# 保存場所: ~/.ssh/id_ed25519(デフォルト)
# パスフレーズ: 設定推奨
なぜEd25519?
- RSAより高速・安全・短い
- 現代的な暗号アルゴリズム
- OpenSSH 6.5以降で標準サポート
公開鍵のリモートへの登録
方法1: ssh-copy-idを使用(推奨)
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@remote-host
方法2: 手動でコピー
cat ~/.ssh/id_ed25519.pub | ssh user@remote-host \
"mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
5.3 SSH設定の最適化
~/.ssh/configを編集:
# 共通設定
Host *
ServerAliveInterval 60
ServerAliveCountMax 3
TCPKeepAlive yes
ForwardAgent no # セキュリティのためデフォルトOFF
# 踏み台サーバー(必要な場合)
Host bastion
HostName 192.168.1.100
User your_username
IdentityFile ~/.ssh/id_ed25519
# リモート開発サーバー(ProxyJump経由)
Host dev-server
HostName 10.0.0.50
User your_username
ProxyJump bastion
IdentityFile ~/.ssh/id_ed25519
# 直接接続の場合
Host lab-server
HostName lab.example.ac.jp
User your_username
IdentityFile ~/.ssh/id_ed25519
ProxyJumpとは: 踏み台サーバー経由で目的のサーバーに接続する仕組み。ProxyCommandより簡潔で、OpenSSH 7.3+で標準サポート。
接続テスト
# 直接接続の確認
ssh lab-server "echo 'Connection: OK' && hostname"
# ProxyJump経由の確認
ssh dev-server "echo 'Dev server connection: OK' && hostname"
5.4 リモートサーバー側の設定
.bashrcの最適化
リモートサーバーの~/.bashrcに以下を追加:
# ========================================
# VS Code Remote Development 最適化
# ========================================
# 非対話シェル(Remote-SSH等)では早期return
# VS Code Serverの起動を邪魔しないため
case $- in
*i*) ;; # 対話シェルなら続行
*) return ;; # 非対話なら何もせず戻る
esac
# 以下は対話シェルでのみ実行される
# ─────────────────────────────────────
# VS Code Serverの配置先をNFS外のローカルディスクに
# NFSは遅く、ファイルウォッチも不安定
# 注意: /tmpは再起動で消える環境が多い
# 永続化が必要なら /var/tmp や /scratch を使用
export VSCODE_AGENT_FOLDER=/tmp/$USER/.vscode-server
# または、永続化する場合
# export VSCODE_AGENT_FOLDER=/var/tmp/$USER/.vscode-server
# mkdir -p "$VSCODE_AGENT_FOLDER"
# Git最適化(並行操作時のロック問題を回避)
export GIT_OPTIONAL_LOCKS=0
# Node.jsメモリ制限緩和(必要に応じて)
# export NODE_OPTIONS='--max-old-space-size=4096'
NFSの問題点:
- ホームディレクトリがNFSマウントの場合、VS Code Serverをそこに配置すると:
- ファイル監視(inotify)が不安定
- I/Oレイテンシが高い
- ロックファイルの競合
解決策: /tmp(再起動で消える)や/var/tmp・/scratchなどローカルディスクに配置
inotify制限の緩和(要管理者権限)
大規模リポジトリでは、Linuxのファイル監視数制限(inotify)が不足します。
現在の設定を確認:
cat /proc/sys/fs/inotify/max_user_watches
# デフォルト: 8192〜248213(不足)
緩和スクリプト(サーバー管理者に実行してもらう):
#!/bin/bash
# setup-vscode-remote-inotify.sh
# 使い方: sudo bash setup-vscode-remote-inotify.sh
set -euo pipefail
# root権限チェック
if [[ $EUID -ne 0 ]]; then
echo "エラー: このスクリプトはroot権限で実行してください"
exit 1
fi
# sysctl設定ファイル作成
cat > /etc/sysctl.d/99-vscode-remote.conf << 'EOF'
# VS Code Remote Development用のinotify制限緩和
fs.inotify.max_user_watches=524288
fs.inotify.max_user_instances=1024
fs.inotify.max_queued_events=16384
EOF
# 設定を即座に反映
sysctl --system | grep inotify
echo "✓ 設定完了!"
echo "新しいinotify設定:"
echo "max_user_watches: $(cat /proc/sys/fs/inotify/max_user_watches)"
echo "max_user_instances: $(cat /proc/sys/fs/inotify/max_user_instances)"
ログインスクリプトの出力抑制
/etc/profile.d/*.shが非対話シェルでもメッセージを出力すると、VS Code Serverの起動に失敗します。
対処法(管理者に依頼):
# /etc/profile.d/your-script.sh
# 非対話的シェル(VS Code等の自動接続)では何も出力しない
if [ -t 0 ] && [ -t 1 ]; then
# ここに既存のecho文を入れる
echo "システムメッセージ..."
fi
または、個人で対処:
# ~/.hushlogin ファイルを作成
touch ~/.hushlogin
5.5 Remote-SSH拡張のインストールと接続
-
ローカルPCのVS Codeで
Ctrl+Shift+X - 「Remote - SSH」を検索してインストール
- 左下の緑色アイコン(
><)をクリック - 「Connect to Host...」を選択
- SSH設定で定義したホスト名(例:
dev-server)を選択 - 接続成功後、左下に「SSH: dev-server」と表示される
5.6 Remote-SSH特有のトラブルと対処
トラブル1: "Failed to parse remote port from server output"
症状: 接続後すぐエラーで接続が確立されない
原因: .bashrcや/etc/profile.d/*.shが標準出力に余計なメッセージを出している
対処: 前述の.bashrc非対話ガードを入れる
トラブル2: 拡張ホストが秒死(exit code 127)
症状: VS Code Serverが起動しない
原因: 古いglibc(例:CentOS 7の2.17)
対処:
- OSのアップグレードを検討(最良)
- ユーザー空間にglibc 2.28+を配置してNodeをラップ(上級者向け)
- VS Code Serverに切り替え
トラブル3: NFSで重い/不安定
対処:
-
VSCODE_AGENT_FOLDERをローカルディスクに指定 -
fs.inotifyの緩和 -
files.watcherExcludeの設定
5.7 VS Code Server(code-server)による代替方法
Remote-SSHが環境的に難しい場合の代替手段です。
注意: 必ずHTTPSとリバースプロキシで保護してください
基本インストール
# リモートサーバーで実行
curl -fsSL https://code-server.dev/install.sh | sh
# 初回起動(ローカル確認)
code-server --auth password --port 8080
systemd化
sudo tee /etc/systemd/system/code-server@$USER.service >/dev/null <<'UNIT'
[Unit]
Description=code-server
After=network.target
[Service]
Type=simple
User=%i
Environment=PASSWORD=<強固なパスワード>
ExecStart=/usr/bin/code-server --bind-addr 127.0.0.1:8080
Restart=always
[Install]
WantedBy=multi-user.target
UNIT
sudo systemctl enable --now code-server@$USER
Nginx(TLS終端)
server {
listen 443 ssl http2;
server_name code.example.org;
ssl_certificate /etc/letsencrypt/live/code.example.org/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/code.example.org/privkey.pem;
# Basic認証(必要に応じて)
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
location / {
proxy_pass http://127.0.0.1:8080/;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
}
}
6. AI拡張機能の導入と設定
6.1 共通の導入手順
Remote-SSH / WSLの場合
- VS Codeでリモート環境に接続
- 拡張機能ビュー(
Ctrl+Shift+X)を開く - 上部のタブで**「SSH: hostname」または「WSL: Ubuntu」**を選択
- 拡張を検索し、**「Install in SSH: hostname」または「Install in WSL」**をクリック
重要: リモート側にインストールすることで、コードへの高速アクセスと低レイテンシを実現
6.2 GitHub Copilot
インストール
拡張機能ビュー → "GitHub Copilot" を検索 → Install in <Remote>
初回セットアップ
- インストール後、サインインを求められる
- GitHubアカウントでログイン
- ブラウザで認証を完了
- サブスクリプションの確認(個人またはBusiness)
基本的な使い方
- コード補完: 自動的に提案が表示される
-
チャット:
Ctrl+Shift+I(または設定したショートカット) -
インラインチャット:
Ctrl+I
VS Code設定
{
"github.copilot.enable": {
"*": true,
"yaml": false,
"plaintext": false
},
"github.copilot.nextEditSuggestions.enabled": true
}
6.3 Claude Code
インストール
拡張機能ビュー → "Claude Code" を検索 → Install in <Remote>
APIキーの設定
方法1: VS Code Secret Storage(推奨)
- 拡張の設定画面でAPIキーを入力
- VS Codeが安全に保管
方法2: 環境変数
# リモートの ~/.bashrc に追加(非対話ガード以降)
export ANTHROPIC_API_KEY="sk-ant-..."
使い方
- チャットペインから対話的にコード生成
- ファイルやコンテキストを参照しながら作業
6.4 Continue(OpenAI API統合)
インストール
拡張機能ビュー → "Continue" を検索 → Install in <Remote>
設定
リモートで~/.continue/config.jsonを作成:
{
"models": [
{
"title": "GPT-4",
"provider": "openai",
"model": "gpt-4",
"apiKey": "sk-..."
}
],
"tabAutocompleteModel": {
"title": "GPT-3.5 Turbo",
"provider": "openai",
"model": "gpt-3.5-turbo",
"apiKey": "sk-..."
}
}
セキュリティ: ファイル権限を制限
chmod 600 ~/.continue/config.json
6.5 Codex CLI(ターミナル用)
インストール
# リモートで実行
npm install -g @openai/codex@latest
使い方
複数行入力の問題を回避:
# prompt.mdに複数行の指示を書く
codex "$(cat prompt.md)"
# 画像添付
codex --image path/to.png "このエラーを説明して"
WSL端末での貼り付け: Ctrl+Shift+Vを使用
7. トラブルシューティング
7.1 環境別トラブル集
Ubuntu環境
| 症状 | 原因 | 対処法 |
|---|---|---|
| 日本語入力できない | IBusとFcitx5の競合 | 3.3節の手順実行 |
| Ctrl+Spaceが効かない | VS Codeとの競合 | Fcitx5の切替キーを変更 |
| 拡張が動かない | 権限/パスの問題 |
~/.vscodeの権限確認 |
WSL環境
| 症状 | 原因 | 対処法 |
|---|---|---|
| I/Oが遅い | Windows側のパス使用 | WSL側(~/)にプロジェクト配置 |
| Git改行コードの問題 | core.autocrlf設定 | git config --global core.autocrlf input |
| コマンドが見つからない | PATH設定 |
.bashrcでexport PATH確認 |
Remote-SSH環境
| 症状 | 原因 | 対処法 |
|---|---|---|
| Failed to parse remote port | ログインスクリプト出力 |
.bashrc非対話ガード追加 |
| exit code 127 | 古いglibc | OS更新またはglibc差し替え |
| 接続が頻繁に切れる | KeepAlive設定不足 | SSH設定にServerAliveInterval追加 |
| 拡張が見つからない | UI側にインストール | 「Install in SSH」で再インストール |
7.2 ログの確認方法
Remote-SSHのログ
VS Code → 出力 → "Remote - SSH" を選択
重要なログファイル:
# リモートで
~/.vscode-server/data/logs/*/remoteagent.log
拡張のログ
VS Code → 出力 → 該当拡張を選択
7.3 復旧手順
VS Code Serverのリセット
コマンドパレット(F1)から:
Remote-SSH: Kill VS Code Server on Host...
または手動で:
# リモートで実行
rm -rf /tmp/$USER/.vscode-server
その後、VS Codeで再接続すると自動的に再インストールされます。
拡張のリセット
- 拡張をアンインストール
- VS Code Serverをリセット
- 再接続後、拡張を再インストール
8. セキュリティとベストプラクティス
8.1 SSH接続のセキュリティ
必須設定
- ✅ 鍵認証のみ許可(Ed25519推奨)
- ✅ パスワード認証の無効化
- ✅ ForwardAgentはデフォルトOFF
- ✅ 強固なパスフレーズの使用
サーバー側設定(管理者に依頼)
# /etc/ssh/sshd_config.d/security.conf
PubkeyAuthentication yes
PasswordAuthentication no
ChallengeResponseAuthentication no
PermitRootLogin no
MaxSessions 10
ClientAliveInterval 60
ClientAliveCountMax 3
反映:
sudo systemctl reload sshd
8.2 APIキーの管理
優先順位
| 順位 | 方法 | 安全性 | 手軽さ |
|---|---|---|---|
| 1位 | VS Code Secret Storage | ⭐⭐⭐ | ⭐⭐ |
| 2位 | 環境変数(~/.bashrc) | ⭐⭐ | ⭐⭐⭐ |
| 3位 | 設定ファイル | ⭐ | ⭐⭐⭐ |
重要な注意事項
# 設定ファイルを使う場合、必ず権限を制限
chmod 600 ~/.continue/config.json
chmod 600 ~/.bashrc
# Gitで管理する場合、.gitignoreに追加
echo ".continue/config.json" >> .gitignore
echo ".env" >> .gitignore
8.3 組織での利用
推奨プラン
- GitHub Copilot Business/Enterprise: コードが学習に使用されない保証
- Claude Team/Enterprise: 同様に学習に使用されない、SSO連携可能
コンプライアンス
⚠️ 重要: AI拡張は選択/編集中のコードをクラウドAPIに送信します
- 機密コードの除外設定
-
.gitignoreに機密ファイルを追加 - 組織のポリシーに合致したプラン選択
- 監査ログの取得・確認
8.4 運用チェックリスト
基本設定
- SSH鍵認証でパスワードなしで接続できる
-
~/.ssh/configが最適化されている -
サーバー側の
.bashrcにVSCODE_AGENT_FOLDER設定がある - inotify制限が緩和されている
拡張設定
- 拡張はリモート側にインストール済み
- APIキーが安全に管理されている
- 組織のポリシーに合致している
セキュリティ
- パスワード認証が無効化されている
- ForwardAgentがデフォルトOFF
- APIキーがGit管理から除外されている
- 定期的なAPIキーのローテーション
9. 付録:便利な設定とスニペット
9.1 VS Code設定例
ワークスペース設定(.vscode/settings.json)
{
"workbench.panel.defaultLocation": "right",
"workbench.editor.openSideBySideDirection": "right",
"editor.wordWrap": "on",
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.organizeImports": true
},
"terminal.integrated.cwd": "${workspaceFolder}",
"python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",
"git.autofetch": true,
"git.confirmSync": false,
"files.watcherExclude": {
"**/.git/objects/**": true,
"**/node_modules/**": true,
"**/.venv/**": true,
"**/__pycache__/**": true
}
}
キーバインド設定(keybindings.json)
[
{
"key": "ctrl+alt+m",
"command": "workbench.action.toggleMaximizedPanel"
},
{
"key": "alt+up",
"command": "workbench.action.increaseViewSize"
},
{
"key": "alt+down",
"command": "workbench.action.decreaseViewSize"
},
{
"key": "ctrl+alt+b",
"command": "workbench.action.toggleSecondarySideBarVisibility"
},
{
"key": "ctrl+k z",
"command": "workbench.action.toggleZenMode"
}
]
9.2 タスク設定(.vscode/tasks.json)
{
"version": "2.0.0",
"tasks": [
{
"label": "dev",
"type": "shell",
"command": "npm run dev",
"problemMatcher": [],
"group": {
"kind": "build",
"isDefault": true
}
},
{
"label": "test",
"type": "shell",
"command": "npm test",
"problemMatcher": []
},
{
"label": "Python: Run Current File",
"type": "shell",
"command": "${config:python.defaultInterpreterPath}",
"args": ["${file}"],
"problemMatcher": []
}
]
}
9.3 便利なスクリプト
日本語入力リセット(Ubuntu)
#!/usr/bin/env bash
# ~/.local/bin/ime-reset として保存
set -e
echo "日本語入力をリセットしています..."
# IBusの停止
ibus exit >/dev/null 2>&1 || true
pkill -f ibus-daemon >/dev/null 2>&1 || true
# Fcitx5の再起動
fcitx5 -rd
# Mozcの確認とインストール
if ! dpkg -s fcitx5-mozc >/dev/null 2>&1; then
echo "fcitx5-mozcをインストールしています..."
sudo apt update && sudo apt install -y fcitx5-mozc
fi
# Mozcのアクティブ化
fcitx5-remote -o
if fcitx5-remote -l | grep -q mozc; then
fcitx5-remote -s mozc
fi
echo "完了!"
使い方:
chmod +x ~/.local/bin/ime-reset
ime-reset
SSH接続テスト
#!/bin/bash
# ssh-test.sh
HOSTS=("bastion" "dev-server" "lab-server")
for host in "${HOSTS[@]}"; do
echo "Testing connection to $host..."
if ssh "$host" "echo 'OK' && hostname" 2>/dev/null; then
echo "✓ $host: Connected"
else
echo "✗ $host: Failed"
fi
echo
done
環境変数確認(リモート)
#!/bin/bash
# check-remote-env.sh
echo "=== Remote Environment Check ==="
echo
echo "[Session Type]"
echo "$XDG_SESSION_TYPE"
echo
echo "[IM Environment Variables]"
echo "GTK_IM_MODULE=$GTK_IM_MODULE"
echo "QT_IM_MODULE=$QT_IM_MODULE"
echo "XMODIFIERS=$XMODIFIERS"
echo
echo "[VS Code Server]"
echo "VSCODE_AGENT_FOLDER=$VSCODE_AGENT_FOLDER"
echo
echo "[inotify Settings]"
cat /proc/sys/fs/inotify/max_user_watches
echo
echo "[Running Processes]"
echo "Fcitx5:"
pgrep -a fcitx5 || echo "Not running"
echo "IBus:"
pgrep -a ibus || echo "Not running"
9.4 大規模リポジトリ用最適化
{
"git.autofetch": false,
"files.watcherExclude": {
"**/.git/objects/**": true,
"**/.git/subtree-cache/**": true,
"**/node_modules/**": true,
"**/.venv/**": true,
"**/venv/**": true,
"**/__pycache__/**": true,
"**/build/**": true,
"**/dist/**": true,
"**/.next/**": true,
"**/target/**": true
},
"search.exclude": {
"**/node_modules": true,
"**/bower_components": true,
"**/.venv": true,
"**/venv": true,
"**/__pycache__": true,
"**/build": true,
"**/dist": true
},
"typescript.tsserver.maxTsServerMemory": 4096,
"editor.formatOnSave": false,
"editor.codeActionsOnSave": {}
}
まとめ
このガイドでは、VS Code上で生成AI拡張機能を使用する環境を、あらゆる状況で構築する方法を解説しました。
キーポイント
-
拡張機能はリモート側にインストール
- Remote-SSH、WSL、どの環境でも同じ原則
-
接続方式の選択
- Remote-SSH → VS Code Server → GUI転送の順で検討
-
セキュリティファースト
- SSH鍵認証、APIキーの適切な管理、パスワード認証の無効化
-
環境最適化
- VSCODE_AGENT_FOLDERの設定(NFS回避)
- inotify制限の緩和
- ログインスクリプトの出力抑制
-
トラブルシューティング
- ログの確認方法を把握
- 復旧手順を理解
次のステップ
- 自分の環境に合わせた初期セットアップ
- APIキーの取得と設定
- 実際のプロジェクトでの動作確認
- チームメンバーとのナレッジ共有
参考リンク
Happy Coding with AI! 🚀