Continue.dev on Ubuntu — VSCode/NeovimにローカルLLMを統合するAI補完

Continue.dev on Ubuntu — VS Code/NeovimにローカルLLMを統合するAI補完 開発環境

この記事のポイント

  • Continue.dev は VS Code / Neovim 向けの無料AI補完拡張。バックエンドに Ollama を指定するとコードが一切外部に出ない
  • Ubuntu 24.04 の標準 apt には Node.js 18.19.1 が含まれ、追加リポジトリなしで動作要件を満たす(実測確認)
  • 一方 Ubuntu 22.04 の標準 apt は Node.js 12.22.9 しか入らず要件を満たさない(実測確認)
  • Ollama のインストールは curl 1行。Tab補完には FIM 対応の qwen2.5-coder:1.5b(実測986MB)がおすすめ
  • ~/.continue/config.yamlprovider: ollama を書くだけで接続完了。実測でFizzBuzz補完が 154 tokens/sec で返ってきた

「GitHub Copilot を使いたいけど月額が気になる」「社内コードをクラウドに送りたくない」——そう感じている方に、Continue.dev が刺さります

Continue.dev は VS Code や Neovim に後付けできるAI補完の拡張機能です。バックエンドに Ollama(ローカルでLLMを動かすツール)を指定すると、コードが一切外部に出ないまま Tab キーで補完が走り、サイドパネルでコードの質問もできます。料金は0円です。

本記事では Ubuntu 24.04 LTS を前提に、Ollama のインストールから Continue.dev の接続設定・動作確認までを、実際にコマンドを叩いて取得した出力とともに解説します。Ubuntu 22.04 と 24.04 の Node.js バージョン差も、両方の公式イメージで実測したデータで示します。

目次

  1. 前提環境と必要なもの
  2. Ollama をインストールする
  3. コード補完モデルを取得する
  4. VS Code / Neovim に Continue を入れる
  5. config.yaml で Ollama を接続する
  6. 実際にコード補完を動かして計測する
  7. よくあるエラーと解決策
  8. まとめ

前提環境と必要なもの

Continue.dev 自体は VS Code 拡張なので、追加のランタイムを意識する場面は少ないのですが、内部ツールが Node.js 18 以上を必要とします。ここがディストリのバージョンで詰まりやすいポイントなので、最初に実測で確認しておきます。

下表は ubuntu:22.04ubuntu:24.04 の公式 Docker イメージで apt-cache policy nodejs を実行し、標準 apt に入る Node.js の候補バージョンを比較した実測結果です。

Ubuntu 22.04 vs 24.04 の標準Node.jsバージョン比較(実測)
Ubuntu 22.04 vs 24.04 の標準Node.jsバージョン比較(実測)
項目 内容
検証OS Ubuntu 24.04.4 LTS(Noble Numbat)/ 22.04(Jammy)公式Dockerイメージ
Node.js(24.04 標準) v18.19.1(apt 標準リポジトリ、追加リポジトリ不要・実測)
npm(24.04 標準) 9.2.0(apt 標準・実測)
Node.js(22.04 標準) v12.22.9 ← 要件を満たさない(実測)
Ollama 0.30.8(本記事の検証時点)
エディタ VS Code(Continue 拡張)/ Neovim

注意:Ubuntu 22.04 を使っている場合

実測のとおり、Ubuntu 22.04 の標準 apt には Node.js 12.22.9 しか入らず、Continue.dev の内部ツールが要求する Node.js 18 以上を満たしません。22.04 のまま使う場合は NodeSource リポジトリ 経由で Node.js 20.x を追加してください。これから新規に環境を作るなら、素のまま要件を満たす 24.04 LTS を選ぶのが圧倒的にラクです。

Ollama をインストールする

Continue.dev のローカルLLMサーバーには Ollama が最も手軽です。インストールは公式スクリプト1行で終わります。




ubuntu@linuxlab: ~
$ curl -fsSL https://ollama.com/install.sh | sh
>>> Installing ollama to /usr/local
>>> Downloading Linux amd64 bundle
>>> Ollama is now running as a systemd service

$ ollama –version
ollama version is 0.30.8

Linux では Ollama が systemd(サービスを自動起動する仕組み)に登録されるので、再起動後も localhost:11434 でAPIが動き続けます。実際にAPIが応答しているかは curl で確認できます。下は本記事の検証で実際に返ってきた応答です。




ubuntu@linuxlab: ~
$ curl http://localhost:11434/api/version
{“version”:”0.30.8″}

$ curl http://localhost:11434
Ollama is running

ブラウザで http://localhost:11434 を開いても Ollama is running と表示されれば正常です。下は検証で実際にブラウザからアクセスして撮影した画面です。Continue.dev はこの同じエンドポイントを内部で叩いてモデルを呼び出します。

ブラウザでlocalhost:11434にアクセスし「Ollama is running」を確認(実測)
ブラウザでlocalhost:11434にアクセスし「Ollama is running」を確認(実測)

コード補完モデルを取得する

Continue.dev では「チャット用モデル」と「Tab補完用モデル」を別々に設定できます。Tab補完は推論が速い小さいモデルを選ぶのがコツです。

まず試すなら qwen2.5-coder:1.5b がおすすめです。コード専用に学習されており、FIM(Fill-In-the-Middle=前後のコードの真ん中を埋める補完)に対応しているので、Tab補完にうってつけです。ollama pull で取得後、/api/tags で実サイズを確認したところ 986MB でした。




ubuntu@linuxlab: ~
$ ollama pull qwen2.5-coder:1.5b
pulling manifest
pulling 8d… 986 MB / 986 MB ████████████ 100%
success

下の表は、検証環境の Ollama から http://localhost:11434/api/tags を叩いて取得した、実際にインストール済みのモデル一覧(実サイズ)です。Continue のコード補完で使いやすいものを抜粋しています。

/api/tags から取得したOllamaモデル一覧(実測サイズ)
/api/tags から取得したOllamaモデル一覧(実測サイズ)

ブラウザで /api/tags を開くと、こうしたモデルのメタ情報がJSONで返ってきます。下は実際の応答を撮影したものです。

/api/tags のJSONレスポンス(実測)
/api/tags のJSONレスポンス(実測)

正直、CPUだけのVPSだと1.5Bでも体感は速くありません。Tab補完に限るなら qwen2.5:0.5b(実測398MB)のような超軽量モデルでレスポンスを優先するのも手です。GPUがあるなら 1.5B 以上でも快適に動きます。

VS Code / Neovim に Continue を入れる

VS Code なら、拡張機能パネル(Ctrl+Shift+X)で「Continue」を検索し、Continue(公開者:Continue)をインストールします。コマンドラインからも入れられます。




ubuntu@linuxlab: ~
$ code –install-extension Continue.continue
Extension ‘Continue.continue’ was successfully installed.

インストール後、左サイドバーに Continue のアイコンが現れます。クリックするとチャットパネルが開き、エディタ上では Tab キーで補完が走るようになります。

Neovim ユーザーは公式の continue.nvim プラグインを使います。設定ファイル ~/.continue/config.yaml は VS Code と共通なので、片方で設定すればもう片方でもそのまま使えます。

config.yaml で Ollama を接続する

Continue の設定ファイルは ~/.continue/config.yaml に置かれます(古いバージョンでは config.json でしたが、指定するキーの考え方は同じです)。このファイルに Ollama を使う設定を書きます。

config.yaml の Ollama 接続設定例
config.yaml の Ollama 接続設定例
  • provider: ollama:Ollama をバックエンドに使うことを指定します
  • apiBase: http://localhost:11434:Ollama が動いているアドレス。VPS上の Ollama を使う場合はそのIPアドレスに変更します
  • tabAutocompleteModel:Tab補完専用のモデルを別途指定できます。チャット用より小さいモデルを使うとレスポンスが速くなります

保存すると Continue が自動で Ollama API に接続します。サイドパネルのモデル選択に設定した名前が出れば接続成功です。チャットは Ctrl + L、インラインの修正依頼は Ctrl + I で呼び出せます。

実際にコード補完を動かして計測する

Continue の Tab補完は、裏側で Ollama の /api/generateFIM プロンプトを投げています。同じことを curl で再現し、補完の中身と速度を実測してみました。

「FizzBuzz 関数の途中まで書いて、残りを埋めてもらう」というFIM補完を qwen2.5-coder:1.5b に依頼したところ、FizzBuzzのロジックを正しく補完し、3回計測で平均 154.0 tokens/sec(最小152.7〜最大155.0)で返ってきました。

Ollama FIMコード補完の実測(qwen2.5-coder:1.5b / 154 tokens/sec)
Ollama FIMコード補完の実測(qwen2.5-coder:1.5b / 154 tokens/sec)

計測環境について

上の 154 tokens/secGPU(Apple Silicon / Metal)で計測した値です。CPUのみのVPSではこれより大幅に遅くなります。VPSで動かす場合は、Tab補完には 0.5B〜1.5B の軽量モデルを使い、後述のデバウンス設定でレスポンスを調整するのが現実的です。

ここまでの流れを1枚にまとめると、セットアップの全体像は次のようになります。

Continue.dev × Ollama セットアップ全手順(概念図)
Continue.dev × Ollama セットアップ全手順(概念図)

参考までに、Ubuntu 24.04 で Node.js を apt から入れたときの実際のログも載せておきます。追加リポジトリなしで v18.19.1 が入ることが確認できます。

Ubuntu 24.04 で apt install nodejs を実行した実ログ(実測)
Ubuntu 24.04 で apt install nodejs を実行した実ログ(実測)

よくあるエラーと解決策

①「Connection refused: localhost:11434」と表示される

原因と対処

Ollama が起動していません。systemctl start ollama(Linux)または ollama serve でサーバーを起動してください。curl http://localhost:11434/api/version{"version":"0.30.8"} のような応答があれば正常です。

②「Model not found」エラーが出る

設定した model 名が ollama list の出力と一致していないときに起こります。タグまで含めて正確に書く必要があります。




ubuntu@linuxlab: ~
$ ollama list
NAME ID SIZE MODIFIED
qwen2.5-coder:1.5b-base … 986 MB …
qwen2.5:0.5b … 398 MB …
# config.yaml の model にこの NAME を正確に書く

③ Tab補完が遅い(数秒以上かかる)

CPUのみの環境で大きいモデルを使うと遅くなります。tabAutocompleteModel を 0.5B〜1.5B の軽量モデルに変更するか、以下のように補完オプションを調整してください。




~/.continue/config.yaml — 補完速度調整
tabAutocompleteOptions:
debounceDelay: 500
maxPromptTokens: 512
multilineCompletions: “never”
# multilineCompletions を never にすると1行単位になり速くなる

④ Node.js のバージョンが古いと言われる

冒頭で実測したとおり、Ubuntu 22.04 の標準 Node.js(12.22.9)では Continue.dev の内部ツールが動きません。24.04 にアップグレードするか、22.04 のままなら NodeSource 経由で Node.js 20.x を追加してください。

まとめ

Continue.dev と Ollama を組み合わせると、VS Code / Neovim 上で完全にローカルなAIコード補完環境が作れます。本記事で実測した要点は次のとおりです。

  • Ubuntu 24.04 なら apt 標準で Node.js 18.19.1 が入り、追加設定なしで Continue.dev の要件を満たす(22.04 は 12.22.9 で要件未達)
  • Ollama 0.30.8 のインストールは curl 1行。localhost:11434 で「Ollama is running」を確認できれば準備完了
  • Tab補完には FIM 対応の qwen2.5-coder:1.5b(実測986MB)が好相性。GPU環境では FizzBuzz 補完が 154 tokens/sec で返ってきた
  • ~/.continue/config.yaml に provider: ollama と apiBase を書くだけで接続でき、APIキーは不要
  • VS Code と Neovim で設定ファイルは共通。どちらのエディタでも同じ Ollama バックエンドを使える

自宅やVPSで Ollama を動かして Continue.dev をつなげば、毎月の Copilot 料金がゼロになります。CPUのみのVPSでも軽量モデルなら十分実用になります。これからVPSを借りるなら、東京リージョンがありレイテンシの低い Vultr がおすすめです。

著者アイコン
著者アイコン

まずは 0.5B〜1.5B の補完モデルから試すのが現実的です。GPUがあれば 154 tokens/sec のように快適ですが、CPUのみのVPSでも軽量モデルなら待てる速度で動きます。満足できたら徐々にモデルを大きくしていくのがおすすめです。

ローカルLLMをもっと使い込みたい方は、Ollama の基本をまとめた記事もあわせてどうぞ。

コメント

タイトルとURLをコピーしました