「GitHub CopilotやCursorを使っているけど、コードを外部サーバーに送るのが不安だ」「プライベートリポジトリにカスタムモデルを繋げたい」——そんな声が開発チームの間で急増しています。
実際に10社以上のAI開発環境導入を支援する中で、最も頻繁に相談を受けるのが 「セキュリティを担保しながらAIコーディングを導入したい」 というニーズです。
そこで注目されているのが Continue.dev です。VS Code・JetBrains両対応のオープンソースAIアシスタントで、2026年5月時点でGitHubスター32,400超、VSCode Marketplaceインストール数250万超を達成。CopilotやCursorの「コードが外に出る問題」を根本的に解決する構造を持っています。
この記事では、Continue.devのインストールから config.yaml の全セクション解説、Ollama/vLLMによる自社モデル接続、セキュリティ設計、そしてCursor・Copilot・Cline・Gooseとの比較まで、実際に構築してみた経験を元に完全解説します。
この記事でわかること
- Continue.devのアーキテクチャとCursor/Copilotとの本質的な違い
- VS Code / JetBrainsへのインストール手順
config.yaml全セクションの構造と設定例(コードブロック10個以上)- OpenAI/Anthropic/Ollama/vLLMの接続設定
- Context Providers・Slash Commands・Autocompleteの実践活用
- チーム共有設定とセキュリティ設計
- Cursor/Copilot/Cline/Gooseとの比較表
- よくある失敗パターン4選
Continue.devとは何か — OSS IDE AIアシスタントの全体像
Continue.devは、VS CodeおよびJetBrains IDE(IntelliJ IDEA、PyCharm、GoLand等)に直接組み込まれるオープンソース(Apache-2.0ライセンス)のAIコーディングアシスタントです。
最大の特徴は 「モデルに依存しない設計」。OpenAI・Anthropic・Google・Ollama・vLLMなど、任意のLLMプロバイダーを自分のAPIキーで接続できます。コードがContinue社のサーバーを通過することなく、プロバイダーに直接送信されます。
主要機能(4モード)
- Chat: コードの説明・レビュー・Q&Aを自然言語で実施
- Edit: 選択したコード範囲をAIが直接編集(インライン)
- Autocomplete: Tabキーで発動するコード補完(Ghostテキスト)
- Agent: MCPサーバー連携でツール呼び出しを含む複合タスク実行
2026年時点のバージョン(v0.9+)では、Model Context Protocol(MCP)のAgentモードが本格化し、ファイルシステム・Gitログ・ドキュメントサイトなどをツールとして呼び出せるようになっています。
VS Code / JetBrainsへのインストール
VS Codeの場合
Extension Marketplaceから「Continue」で検索してインストールするか、コマンドラインから実行します。
# VS Code コマンドラインからインストール
code --install-extension Continue.continue
# インストール確認
code --list-extensions | grep continue
インストール後、左サイドバーにContinueアイコンが表示されます。初回起動時に ~/.continue/config.yaml(またはプロジェクトルートの .continue/config.yaml)が自動生成されます。
JetBrainsの場合
JetBrains Marketplaceからインストールします。IntelliJ IDEA 2023.2以降が対応しています。
# JetBrains Toolbox CLIを使う場合
# またはIDE内の Plugins → Marketplace で "Continue" を検索
# プラグインID(手動インストール用)
# Plugin ID: 22707
インストール後はVS Code版と同じ ~/.continue/config.yaml を共有して使えます(設定を一元管理できます)。
config.yamlの構造 — 全セクション解説
Continue.devの全設定は config.yaml に集約されています。2025年末のv0.9系からJSON形式(config.json)は非推奨となり、YAMLが標準になりました。
基本構造
# ~/.continue/config.yaml
name: my-dev-config
version: 1.0.0
schema: v1
models:
- name: Claude Sonnet 4.6
provider: anthropic
model: claude-sonnet-4-6
roles:
- chat
- edit
- name: Qwen2.5-Coder
provider: ollama
model: qwen2.5-coder:7b
roles:
- autocomplete
context:
- provider: codebase
- provider: docs
params:
sites:
- title: FastAPI Docs
startUrl: https://fastapi.tiangolo.com/
rules:
- rule: コードには必ずdocstringを追加してください
mcpServers:
- name: filesystem
command: npx
args:
- -y
- "@modelcontextprotocol/server-filesystem"
- /path/to/project
modelsセクション — モデル定義
models セクションでは複数のモデルを定義し、用途(roles)別に割り当てます。
models:
# チャット用: Anthropic Claude
- name: Claude Sonnet Chat
provider: anthropic
model: claude-sonnet-4-6
apiKey: ${ANTHROPIC_API_KEY} # 環境変数から取得
roles:
- chat
- edit
defaultCompletionOptions:
temperature: 0.2
maxTokens: 8192
# オートコンプリート用: 軽量ローカルモデル
- name: Starcoder2 Local
provider: ollama
model: starcoder2:7b
roles:
- autocomplete
autocompleteOptions:
maxPromptTokens: 1024
debounceDelay: 300 # ms: キー入力後の待機時間
# 埋め込み用: nomic-embed
- name: nomic-embed
provider: ollama
model: nomic-embed-text
roles:
- embed
rolesのバリエーション:
chat: サイドパネルのチャットedit: インラインEdit(Cmd+I / Ctrl+I)autocomplete: Tabキー補完embed: コードベースのベクトル化(@codebase検索用)rerank: 検索結果の並び替え
contextセクション — Context Providers
Context Providersは、AIが参照できる情報源を定義します。@を入力するとプロバイダーが一覧表示されます。
context:
# 現在開いているファイルの差分
- provider: diff
# ファイルを直接参照 (@file → ファイル選択)
- provider: file
# コードベース全体のベクトル検索 (@codebase)
- provider: codebase
params:
nRetrieve: 20 # 取得するチャンク数
nFinal: 5 # 最終的にコンテキストに入れる数
# ドキュメントサイトをインデックス化 (@docs)
- provider: docs
params:
sites:
- title: LangGraph Docs
startUrl: https://langchain-ai.github.io/langgraph/
- title: FastAPI
startUrl: https://fastapi.tiangolo.com/
# URLの内容を直接取得 (@url)
- provider: url
# Gitログ参照 (@git-diff, @git-log)
- provider: git-diff
- provider: git-log
# ターミナル出力 (@terminal)
- provider: terminal
カスタムモデル接続 — OpenAI互換 / Anthropic / Ollama / vLLM
OpenAI互換エンドポイント(Azure OpenAI / Together.ai等)
models:
- name: Azure GPT-4o
provider: openai
model: gpt-4o
apiBase: https://{your-resource}.openai.azure.com/openai/deployments/{deployment}/
apiKey: ${AZURE_OPENAI_API_KEY}
requestOptions:
headers:
api-version: "2024-08-01-preview"
roles:
- chat
- edit
Ollamaローカルモデル
Ollamaは最も手軽にローカルLLMを使う方法です。ollama pull モデル名 でモデルを取得後、設定します。
models:
# リモートOllamaサーバー(GPUサーバー等)への接続
- name: Llama3.1 70B (Remote)
provider: ollama
model: llama3.1:70b
apiBase: http://gpu-server.internal:11434
roles:
- chat
# ローカルOllama(デフォルトポート)
- name: CodeQwen Local
provider: ollama
model: codeqwen:7b
roles:
- autocomplete
capabilities:
- tool_use # 関数呼び出しが必要な場合に追加
vLLMエンドポイント(自社GPUサーバー)
vLLMは本番グレードのLLM推論サーバーです。高スループットが必要なチーム向けに最適です。
models:
# vLLM チャットエンドポイント
- name: Mixtral-8x7B (vLLM)
provider: vllm
model: mistralai/Mixtral-8x7B-Instruct-v0.1
apiBase: http://vllm-server:8000/v1
roles:
- chat
- edit
defaultCompletionOptions:
maxTokens: 4096
# vLLM 埋め込みエンドポイント
- name: BGE-M3 Embed (vLLM)
provider: vllm
model: BAAI/bge-m3
apiBase: http://vllm-server:8001/v1
roles:
- embed
注意: vLLMの apiBase はチャット用と埋め込み用でポートを分けるのが一般的です。本番環境では必ずテスト環境で動作確認してから切り替えてください。
Anthropic API直接接続
models:
- name: Claude Opus 4.7 (Max)
provider: anthropic
model: claude-opus-4-7
apiKey: ${ANTHROPIC_API_KEY}
roles:
- chat
defaultCompletionOptions:
temperature: 0.1
maxTokens: 16000
# 拡張思考(Extended Thinking)を有効化
# thinking:
# type: enabled
# budget_tokens: 8000
Autocomplete(Tab補完)の最適化
Autocompleteはコードを書きながらリアルタイムに補完候補を表示する機能です。軽量なモデルを割り当てることでレイテンシを最小化できます。
models:
- name: Qwen2.5-Coder 1.5B
provider: ollama
model: qwen2.5-coder:1.5b
roles:
- autocomplete
autocompleteOptions:
maxPromptTokens: 512 # プロンプトの最大トークン数(短いほど高速)
debounceDelay: 200 # キー入力後の待機時間(ms)
maxSuffixPercentage: 0.25 # 後続コードの参照割合
prefixPercentage: 0.85 # 前置コードの参照割合
template: "fim" # Fill-in-the-Middle テンプレート(FIMモデル用)
推奨モデル(2026年5月時点)
- 速度優先(ローカル):
qwen2.5-coder:1.5b(Ollama) - 品質優先(ローカル):
starcoder2:7b(Ollama) - クラウド:
claude-haiku-4-5(低コスト・高速)
チーム共有設定 — config.yamlをリポジトリにコミット
チーム全員が同じモデル設定・ContextProviders・ルールを使うために、プロジェクトルートの .continue/config.yaml をGitで管理します。
# プロジェクトルート .continue/config.yaml
# このファイルをGitでチーム共有する
name: team-backend-config
version: 1.0.0
schema: v1
# APIキーは必ず環境変数から取得(直接書かない)
models:
- name: Claude Sonnet (Team)
provider: anthropic
model: claude-sonnet-4-6
apiKey: ${ANTHROPIC_API_KEY}
roles: [chat, edit]
- name: vLLM Autocomplete (Team)
provider: vllm
model: qwen2.5-coder:7b
apiBase: http://internal-vllm:8000/v1
roles: [autocomplete]
context:
- provider: codebase
- provider: docs
params:
sites:
- title: Internal API Docs
startUrl: https://docs.internal.example.com/api/
# チーム共通ルール
rules:
- rule: |
コードレビューの観点でコードを分析してください。
改善点は必ず根拠を添えて説明してください。
セキュリティ上の問題が見つかった場合は優先的に報告してください。
- rule: 変数名は英語のキャメルケースで統一してください
APIキー管理のベストプラクティス
# .gitignore に追加(APIキーを含むユーザーレベル設定を除外)
echo ".continue/config.yaml.local" >> .gitignore
# 各メンバーは .env または shell profile で設定
export ANTHROPIC_API_KEY="sk-ant-..."
export OPENAI_API_KEY="sk-..."
セキュリティ・プライバシー設計(self-hosted patterns)
Continue.devがCopilotやCursorと根本的に違うのは、コードのデータフローを自分でコントロールできる点です。
データフローの比較
| ツール | コードの送信先 | ログ・学習 |
|---|---|---|
| GitHub Copilot | GitHub/Azure(強制) | オプトアウト可能だが複雑 |
| Cursor | Anysphere社サーバー | プライバシーモードあり(有料) |
| Continue + クラウドLLM | 選択したLLMプロバイダー(OpenAI等)に直接 | Continue社は関与しない |
| Continue + Ollama | ローカルのみ(外部送信ゼロ) | 完全にローカル完結 |
エアギャップ環境(インターネット非接続)での運用
# エアギャップ環境向けconfig.yaml
# 全モデルをオンプレミスOllamaに向ける
models:
- name: Llama3.1 (Offline)
provider: ollama
model: llama3.1:8b
apiBase: http://offline-gpu-server.local:11434
roles: [chat, edit]
- name: Qwen2.5-Coder (Offline)
provider: ollama
model: qwen2.5-coder:7b
apiBase: http://offline-gpu-server.local:11434
roles: [autocomplete]
- name: nomic-embed (Offline)
provider: ollama
model: nomic-embed-text
apiBase: http://offline-gpu-server.local:11434
roles:
context:
- provider: codebase # ローカルベクトル検索のみ
- provider: file
金融・医療・防衛分野の開発チームでも、このパターンで完全オフライン運用が実現できます。ただし、モデルのダウンロードは事前にオンライン環境で実行し、Ollamaのデータディレクトリを閉域環境に移送する必要があります。
Cursor / Copilot との比較
| 観点 | Continue.dev | Cursor | GitHub Copilot |
|---|---|---|---|
| ライセンス | OSS (Apache-2.0) | 独自(プロプライエタリ) | 独自(プロプライエタリ) |
| 料金(個人) | 無料(Solo plan) | $20/月〜 | $10/月〜 |
| モデル選択 | 完全自由(BYOM) | 複数から選択 | GPT-4o / Claude / Geminiから選択 |
| ローカルモデル | Ollama完全対応 | 一部対応(実験的) | 非対応 |
| コードの送信先 | LLMプロバイダーに直接 | Anysphere社経由 | Microsoft/GitHub経由 |
| IDE | VS Code + JetBrains | VS Codeフォーク専用 | VS Code + JetBrains + 多数 |
| 自動補完精度 | 70%(クラウド時) | 高い(43ms p99) | 高い(55ms p99) |
| エージェントモード | MCP対応 Agent | Composer/Agent | Copilot Chat |
| チーム設定共有 | config.yaml Git管理 | チームルール | 組織ポリシー |
実際に構築してみた判断基準: コードを外部に出せない要件があるならContinue + Ollama一択です。精度よりもプライバシー優先のチームに最適で、大手クラウドサービスのプロプライエタリツールとは根本的に異なるアーキテクチャを持っています。
Cline / Goose との比較(IDE組み込み vs CLI型エージェント)
AIコーディングツールは大きく「IDE組み込み型」と「CLI型エージェント」に分類されます。
| 観点 | Continue.dev(IDE組み込み) | Cline(IDE組み込み) | Goose(CLI型) |
|---|---|---|---|
| 起動場所 | VS Code / JetBrains内 | VS Code内 | ターミナル |
| 主な用途 | Chat・Edit・Autocomplete | 自律コーディング(ファイル操作含む) | 複合タスク自動化 |
| ファイル操作 | Agent経由(MCP) | 直接操作(強力) | シェルコマンド実行 |
| 既存ワークフローとの統合 | 高い(IDEの中に収まる) | 高い | 低い(ターミナル切り替えが必要) |
| 自律度 | 低〜中(人間がChat) | 高(自律でファイル編集) | 高(バッチ実行可) |
Continue.devはIDEのワークフローを崩さずにAIを使いたい人向けです。Clineは自律的なコード生成・リファクタリングを任せたい場合に強く、GooseはCLI上で長時間の自動化タスクを回す場合に向いています(Goose完全ガイドを参照)。
MCPサーバーを活用した統合エコシステムの詳細についてはMCP Server実装ガイドも参考にしてください。
【要注意】よくある失敗パターン4選
失敗1: APIキーをconfig.yamlに直接書く
# ❌ NG: APIキーを直書き(Gitにコミットすると漏洩)
models:
- name: GPT-4o
provider: openai
model: gpt-4o
apiKey: sk-proj-xxxxxxxxxxxxxxxx # ← 絶対NG
# ✅ 正解: 環境変数を参照
models:
- name: GPT-4o
provider: openai
model: gpt-4o
apiKey: ${OPENAI_API_KEY}
プロジェクト共有の .continue/config.yaml にAPIキーを直接書くと、Git履歴を含めた全員に漏洩します。必ず環境変数(${VAR_NAME})で参照してください。
失敗2: Autocompleteに重いモデルを使う
Autocompleteはキーを押すたびにAPIコールが走ります。gpt-4o や claude-opus を割り当てると、コスト爆発とレイテンシ悪化が同時に起きます。Autocompleteには必ず軽量モデル(1B〜7Bクラス)かローカルモデルを使いましょう。
失敗3: @codebaseが遅い原因を放置する
@codebaseはプロジェクトのコードをベクトル化してセマンティック検索します。node_modules・distフォルダなどをインデックス対象から除外しないと、初回インデックス作成に数十分かかります。
# .continue/config.yaml でignoreパターンを設定
context:
- provider: codebase
params:
ignore:
- "node_modules/**"
- "dist/**"
- "*.min.js"
- ".git/**"
失敗4: チームメンバーが別々のモデルを使う
各自がユーザーレベルの ~/.continue/config.yaml を好き勝手に設定すると、チームで再現性のある動作が得られません。プロジェクトルートに .continue/config.yaml を置いてGit管理し、「このリポジトリではこのモデルを使う」を明確にすることが重要です。
まとめ — Continue.devが最適な場面
Continue.devは以下のチームに特に推奨できます。
- コードを外部サーバーに送れないセキュリティ要件がある(金融・医療・行政)
- すでにOllamaやvLLMで自社モデルを運用しており、IDEから使いたい
- Cursor/Copilotの月額コストを削減しながら同等の体験を得たい
- VS Code / JetBrains両方のIDEを使うチームで設定を統一したい
- モデルの種類にこだわりがあり、特定のLLMプロバイダーに固定されたくない
逆に、「とにかく精度が高いオートコンプリートが欲しい」「GitHub Actionsとの統合が最優先」という場合はCopilotやCursorの方が現時点では一歩リードしています。
ただし、AIコーディングアシスタントの世界では半年で情勢が変わります。OSSであるContinue.devはコミュニティとともに急速に進化しており、2026年時点でGitHubスター32,400・250万インストールという数字がその勢いを示しています。
まずはVS CodeにインストールしてOllama + qwen2.5-coder:7bで試してみることをお勧めします。コードを外に出さずに、今日から無料でAIコーディングアシスタントを使い始められます。
関連記事: Cline vs Aider vs Claude Code 比較 / Smithery MCP Server活用ガイド
この記事を読んで導入イメージが固まってきた方へ
UravationではAIエージェント導入の研修・コンサルを行っています。Continue.devを含むOSS AIツールの社内展開支援もお気軽にご相談ください。
動作環境: Continue.dev v0.9+, VS Code 1.90+, JetBrains 2024.1+
最終確認日: 2026年5月6日