0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VS Code上で生成AIを動かす完全ガイド

Posted at

目的: VS Code拡張機能を用いて、GitHub Copilot、Claude Code、OpenAI系ツールを快適に動かす

はじめに

本ガイドは、VS Code上で生成AI拡張機能を使用する環境を構築するための包括的なマニュアルです。以下のすべての環境をカバーしています:

  • ローカル Ubuntu環境(デスクトップ/ラップトップ)
  • Windows + WSL2環境
  • SSH接続先のリモートサーバー(研究室サーバー、HPCクラスタなど)

目次

  1. 全体アーキテクチャと設計思想
  2. 対象となる生成AI拡張機能
  3. ローカルUbuntu環境のセットアップ
  4. Windows + WSL2環境のセットアップ
  5. SSH先リモート環境のセットアップ
  6. AI拡張機能の導入と設定
  7. トラブルシューティング
  8. セキュリティとベストプラクティス
  9. 付録:便利な設定とスニペット

1. 全体アーキテクチャと設計思想

基本方針

VS Code上で生成AIを動かす際のゴールデンルール

  1. 拡張機能はリモート側にインストールする

    • Remote-SSH、WSL、Containersなど、コードがある場所で拡張を動かす
    • ネットワーク遅延を最小化し、ファイルアクセスを高速化
  2. 接続方式の優先順位

    • 第一選択: Remote-SSH(最も軽快で安定)
    • 代替案: VS Code Server(code-server等)
    • 最終手段: フルGUI転送(X11/VNC/RDP)
  3. セキュリティファースト

    • 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拡張の導入

  1. Windows側のVS CodeでCtrl+Shift+X
  2. 「Remote - WSL」を検索してインストール
  3. 左下の緑色アイコン(><)をクリック
  4. 「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拡張のインストールと接続

  1. ローカルPCのVS CodeCtrl+Shift+X
  2. 「Remote - SSH」を検索してインストール
  3. 左下の緑色アイコン(><)をクリック
  4. 「Connect to Host...」を選択
  5. SSH設定で定義したホスト名(例:dev-server)を選択
  6. 接続成功後、左下に「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)

対処:

  1. OSのアップグレードを検討(最良)
  2. ユーザー空間にglibc 2.28+を配置してNodeをラップ(上級者向け)
  3. 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の場合

  1. VS Codeでリモート環境に接続
  2. 拡張機能ビュー(Ctrl+Shift+X)を開く
  3. 上部のタブで**「SSH: hostname」または「WSL: Ubuntu」**を選択
  4. 拡張を検索し、**「Install in SSH: hostname」または「Install in WSL」**をクリック

重要: リモート側にインストールすることで、コードへの高速アクセスと低レイテンシを実現

6.2 GitHub Copilot

インストール

拡張機能ビュー → "GitHub Copilot" を検索 → Install in <Remote>

初回セットアップ

  1. インストール後、サインインを求められる
  2. GitHubアカウントでログイン
  3. ブラウザで認証を完了
  4. サブスクリプションの確認(個人または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(推奨)

  1. 拡張の設定画面でAPIキーを入力
  2. 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設定 .bashrcexport 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で再接続すると自動的に再インストールされます。

拡張のリセット

  1. 拡張をアンインストール
  2. VS Code Serverをリセット
  3. 再接続後、拡張を再インストール

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が最適化されている
  • サーバー側の.bashrcVSCODE_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拡張機能を使用する環境を、あらゆる状況で構築する方法を解説しました。

キーポイント

  1. 拡張機能はリモート側にインストール

    • Remote-SSH、WSL、どの環境でも同じ原則
  2. 接続方式の選択

    • Remote-SSH → VS Code Server → GUI転送の順で検討
  3. セキュリティファースト

    • SSH鍵認証、APIキーの適切な管理、パスワード認証の無効化
  4. 環境最適化

    • VSCODE_AGENT_FOLDERの設定(NFS回避)
    • inotify制限の緩和
    • ログインスクリプトの出力抑制
  5. トラブルシューティング

    • ログの確認方法を把握
    • 復旧手順を理解

次のステップ

  • 自分の環境に合わせた初期セットアップ
  • APIキーの取得と設定
  • 実際のプロジェクトでの動作確認
  • チームメンバーとのナレッジ共有

参考リンク


Happy Coding with AI! 🚀

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?