はじめに:なぜローカルで動かすのか?
GitHub CopilotやClaude、ChatGPTはいずれもコードをリモートサーバーに送信する。Samsungが社員のChatGPT利用により機密ソースコードを外部漏洩させた事件は記憶に新しいが、同様のリスクはすべてのクラウドAIコーディングツールに存在する。
ローカルLLM環境なら:
- コードが一切外部サーバーに送られない
- APIコスト・レートリミットなし
- オフライン環境でも動作する
- 社内コードベースをそのままコンテキストに渡せる
VS Code + Ollamaでローカル環境を構築するアプローチは現在2つある。どちらを選ぶかは用途とトレードオフによる。
2つのアプローチ比較
| 比較項目 | 方法A:Copilot Chat + Ollama | 方法B:Continue + Ollama |
|---|---|---|
| セットアップの手軽さ | ⭐⭐⭐⭐⭐ 非常に簡単 | ⭐⭐⭐ 設定ファイルが必要 |
| GitHubアカウント | 必要(無料プランでOK) | 不要 |
| チャット | ✅ | ✅ |
| タブ補完(インライン) | ❌ | ✅ |
コードベース検索 (@codebase) |
限定的 | ✅ |
| config管理 | GUI操作のみ |
config.json で細かく制御 |
| ツール呼び出し(エージェント) | モデル依存 | ✅(対応モデルのみ) |
| ライセンス | Copilot Chat:独自 | Apache 2.0 |
結論:チャットだけなら方法A、タブ補完も使いたいなら方法B。
両方インストールして使い分けることも可能だ。
共通の前提:Ollama のインストール
どちらの方法でもOllamaが必要だ。まずここから始める。
インストール
| OS | コマンド / 手順 |
|---|---|
| macOS |
ollama.com/download からインストーラーをダウンロード、または brew install ollama
|
| Linux | curl -fsSL https://ollama.com/install.sh | sh |
| Windows |
ollama.com/download から .exe インストーラー(WSL2推奨) |
📚 公式ドキュメント:https://docs.ollama.com/
動作確認
# ブラウザまたはターミナルでアクセス
curl http://localhost:11434
# → "Ollama is running" と表示されればOK
モデルをダウンロード
# チャット用(汎用)
ollama pull gemma4:e4b
# コーディング特化(補完向け)
ollama pull qwen2.5-coder:7b
# インストール済みモデル確認
ollama list
📚 利用可能なモデル一覧:https://ollama.com/library
方法A:GitHub Copilot Chat + Ollama(シンプル派向け)
特徴: VS Codeの組み込みCopilot Chatに直接Ollamaを接続。設定ファイル不要で最短5分で動く。
制限: タブ補完(インライン補完)は使えない。GitHubアカウントが必要(無料プランでOK)。
Step A-1:GitHub Copilot Chat 拡張をインストール
VS Code の拡張機能マーケットプレイスで "GitHub Copilot Chat" を検索してインストール。
🔗 直接リンク:marketplace.visualstudio.com - GitHub Copilot Chat
⚠️ 注意: VS Code 1.113以上、Ollama 0.18.3以上が必要。
GitHubへのログインが必要だが、無料プラン(GitHub Copilot Free)でOK。有料サブスクリプション不要。
Step A-2:ワンコマンドでVS Codeに接続(推奨)
# Ollamaが自動でVS Codeを検出して接続する
ollama launch vscode
📚 公式手順:https://docs.ollama.com/integrations/vscode
コマンド実行後、推奨モデルが表示される。Copilot Chatパネル下部の "Local" を選択すればOllamaモデルが使えるようになる。
Step A-3:手動設定(ollama launch が使えない場合)
- VS Code 右上のCopilot Chatアイコンをクリックしてサイドバーを開く
- ⚙️ 設定ギアアイコン をクリック → "Language Models" ウィンドウを開く
- "Add Models" → "Ollama" を選択
- エンドポイントURLを入力:
http://localhost:11434
- Ollamaに登録済みのモデルが自動で表示されるので選択する
Step A-4:使い方
VS Code上部のCopilotアイコンをクリック(または Ctrl/Cmd + Shift + I)でCopilot Chatが開く。
モデルピッカーで "Local" カテゴリからOllamaモデルを選択して普通にチャットする。
# チャット例
「このPython関数のバグを見つけて修正してください」
「このコードにユニットテストを追加して」
「このクラスの設計を改善するには?」
⚠️ 既知の注意点: 一部のモデルはCopilot ChatのAgentモードで ツール呼び出し(tool use)対応が必要。非対応モデルはチャット(Askモード)のみで使用可能。Qwen2.5-Coder系やGemma4は対応している。
方法B:Continue + Ollama(フル機能派向け)
特徴: チャット+タブ補完(インライン補完) の両方が使える。config.json でモデルを細かく制御可能。GitHubアカウント不要で完全にオフライン。
Step B-1:Continue 拡張をインストール
VS Code の拡張機能マーケットプレイスで "Continue" を検索してインストール。
🔗 直接リンク:marketplace.visualstudio.com - Continue
📚 公式ドキュメント:https://docs.continue.dev/quickstart
インストール後、サイドバーにContinueのアイコンが表示される。使いやすさのため、右サイドバーに移動することを推奨(ファイルエクスプローラーと同時に開ける)。
Step B-2:config.json を設定する
Continueの設定ファイルは ~/.continue/config.json にある。
VS Code のコマンドパレット(Ctrl/Cmd + Shift + P)で "Continue: Open Config File" を実行して開く。
📚 設定リファレンス:https://docs.continue.dev/reference
以下がチャット用モデルとタブ補完用モデルを分離した推奨構成だ:
{
"models": [
{
"title": "Gemma 4 E4B (Chat)",
"provider": "ollama",
"model": "gemma4:e4b",
"apiBase": "http://localhost:11434"
},
{
"title": "Qwen2.5-Coder 7B (Chat)",
"provider": "ollama",
"model": "qwen2.5-coder:7b",
"apiBase": "http://localhost:11434"
}
],
"tabAutocompleteModel": {
"title": "Qwen2.5-Coder 3B (Autocomplete)",
"provider": "ollama",
"model": "qwen2.5-coder:3b",
"apiBase": "http://localhost:11434"
},
"embeddingModel": {
"title": "Nomic Embed",
"provider": "ollama",
"model": "nomic-embed-text",
"apiBase": "http://localhost:11434"
},
"contextLength": 8192,
"completionOptions": {
"temperature": 0.1,
"maxTokens": 512
}
}
ポイント:
tabAutocompleteModelには FIM(Fill-in-the-Middle)対応モデル を必ず使うことembeddingModelを設定すると@codebaseでコードベース全体を検索できる(要ollama pull nomic-embed-text)
Step B-3:基本操作
| 操作 | ショートカット |
|---|---|
| チャットパネルを開く | Cmd/Ctrl + L |
| 選択コードをチャットに送る | コード選択 → Cmd/Ctrl + L
|
| インライン編集 | Cmd/Ctrl + I |
| タブ補完を受け入れる | Tab |
| タブ補完を却下する | Esc |
| ファイルをコンテキストに追加 | チャット欄で @file
|
| コードベース検索 | チャット欄で @codebase
|
| ドキュメント参照 | チャット欄で @docs
|
ハードウェア別モデル選定ガイド
Ollamaが標準で使う Q4_K_M(4bit量子化) は、メモリ削減と品質のベストバランスフォーマット。
🟡 RAM 8GB / GPUなし(CPU推論)
レスポンス速度:〜5 tokens/sec。動くが遅め。
| 役割 | 推奨モデル | Ollamaコマンド | 必要RAM |
|---|---|---|---|
| チャット | Gemma 4 E2B | ollama pull gemma4:e2b |
〜2.5GB |
| チャット | Phi-4 Mini | ollama pull phi4-mini |
〜2.3GB |
| 補完 | Qwen2.5-Coder 1.5B | ollama pull qwen2.5-coder:1.5b |
〜1.2GB |
# 8GB環境向け最適化設定
export OLLAMA_MAX_LOADED_MODELS=1
export OLLAMA_NUM_PARALLEL=1
🟠 VRAM 6〜8GB(RTX 4060 / RX 6700 XT など)
レスポンス速度:40〜50 tokens/sec。快適に使える。
| 役割 | 推奨モデル | Ollamaコマンド | 必要VRAM |
|---|---|---|---|
| チャット | Gemma 4 E4B | ollama pull gemma4:e4b |
〜3.5GB |
| チャット | Qwen2.5-Coder 7B | ollama pull qwen2.5-coder:7b |
〜5.0GB |
| チャット | Llama 3.3 8B | ollama pull llama3.3:8b |
〜5.5GB |
| 補完 | Qwen2.5-Coder 3B | ollama pull qwen2.5-coder:3b |
〜2.0GB |
おすすめ組み合わせ: チャットに gemma4:e4b、補完に qwen2.5-coder:3b
🔴 VRAM 16〜24GB(RTX 4090 / RTX 4080 / RTX 5090 など)
レスポンス速度:15〜30 tokens/sec(31Bモデル)。品質が大幅に向上。
| 役割 | 推奨モデル | Ollamaコマンド | 必要VRAM |
|---|---|---|---|
| チャット | Gemma 4 31B | ollama pull gemma4:31b-q4_k_m |
〜19GB |
| チャット | Qwen2.5-Coder 32B | ollama pull qwen2.5-coder:32b-q4_k_m |
〜19GB |
| チャット | DeepSeek-R1 14B | ollama pull deepseek-r1:14b |
〜9GB |
| 補完 | DeepSeek-Coder-V2 Lite | ollama pull deepseek-coder-v2:lite |
〜4.5GB |
Gemma 4 31B はこのティアのキラーモデル。 Arena.aiオープンモデルランキング世界3位(2026年4月時点)の性能を、RTX 4090一枚でローカル実行できる。256Kトークンコンテキストにより大規模コードベース全体を読み込んでの設計相談も可能。
🟣 Apple Silicon Mac(統合メモリ)
AppleシリコンMacはCPUとGPUがメモリを共有する Unified Memory Architecture(UMA) のため、搭載RAM量がそのままモデルサイズの上限になる。
| MacとRAM | 推奨モデル | 速度(目安) |
|---|---|---|
| M1/M2/M3 Air (8GB) | Gemma 4 E4B / Phi-4 Mini | 15〜25 tokens/sec |
| M1/M2/M3 Pro (16GB) | Qwen2.5-Coder 7B | 30〜45 tokens/sec |
| M3/M4 Pro (32GB) | Gemma 4 26B MoE | 20〜35 tokens/sec |
| M3/M4 Max (64GB+) | Gemma 4 31B | 15〜30 tokens/sec |
トラブルシューティング
方法A:モデルがCopilot Chatに表示されない
# Ollamaが起動しているか確認
curl http://localhost:11434
# モデルが正常にダウンロードされているか確認
ollama list
VS Code を完全に再起動してから、再度 Add Models → Ollama を試す。
それでも失敗する場合、Help → Toggle Developer Tools でコンソールのエラーを確認する。
⚠️ エージェントモードで使えない場合: モデルがtool use非対応の可能性がある。Askモード(通常チャット)で使用するか、Qwen2.5-CoderなどのFunctionCalling対応モデルに切り替える。
方法B:補完が表示されない
# モデル名がconfig.jsonと一致しているか確認
ollama list
VS Code の Output パネル → "Continue" を選択してエラーログを確認する。
原因の9割はモデル名の不一致(例:qwen2.5-coder:7b vs qwen2.5-coder)。
共通:レスポンスが遅い
# GPUが使われているか確認
ollama ps
# "GPU layers" の数を確認(0なら完全CPU推論)
# NVIDIA環境でGPU使用率確認
nvidia-smi
0 GPU layers の場合はVRAM不足でCPUフォールバックしている。より小さいモデルに切り替えるか、量子化レベルを上げる(Q4_K_M → Q2_K)。
まとめ:どちらを選ぶか
チャットだけでいい、すぐ使いたい
→ 方法A(Copilot Chat + Ollama)
タブ補完も使いたい、設定を細かく制御したい、GitHubアカウントを使いたくない
→ 方法B(Continue + Ollama)
どちらも試したい
→ 両方インストールして使い分けもOK(同時使用も問題なし)
| スペック | 推奨チャットモデル | 推奨補完モデル |
|---|---|---|
| RAM 8GB / GPUなし | Gemma 4 E2B / Phi-4 Mini | Qwen2.5-Coder 1.5B |
| VRAM 8GB | Gemma 4 E4B / Qwen2.5-Coder 7B | Qwen2.5-Coder 3B |
| VRAM 16GB+ | DeepSeek-R1 14B | DeepSeek-Coder-V2 Lite |
| VRAM 24GB+ | Gemma 4 31B / Qwen2.5-Coder 32B | DeepSeek-Coder-V2 |
| Mac 16GB (統合) | Qwen2.5-Coder 7B | Qwen2.5-Coder 3B |
| Mac 32GB+ (統合) | Gemma 4 26B MoE | Qwen2.5-Coder 3B |
参考リンク
Ollama
- 🔗 公式サイト:https://ollama.com/
- 🔗 モデルライブラリ:https://ollama.com/library
- 🔗 VS Code統合ドキュメント:https://docs.ollama.com/integrations/vscode
方法A(Copilot Chat)
- 🔗 GitHub Copilot Chat 拡張:marketplace.visualstudio.com
- 🔗 VS Code 言語モデル設定:https://code.visualstudio.com/docs/copilot/customization/language-models
- 🔗 GitHub Copilot Free プラン:https://github.com/features/copilot
方法B(Continue)
- 🔗 Continue 拡張マーケットプレイス:marketplace.visualstudio.com
- 🔗 公式ドキュメント:https://docs.continue.dev/
- 🔗 Ollamaガイド:https://docs.continue.dev/guides/ollama-guide
関連記事