🐱 算神的小窝 🤓

通过Ollama和VSCode的Continue插件使用本地大模型实现AI辅助代码编写.md


CreationTime:7/10/2024 4:21:39 PM LastAccessTime:2/4/2025 7:24:22 PM


通过Ollama和VSCode的Continue插件使用本地大模型实现AI辅助代码编写

Github Copilot 确实好用,不过需要收费了,还有就是某些不便使用网络情况下一般的AI插件就不怎么好用了。本文将介绍通过Ollama和VSCode的Continue插件使用本地大模型AI来辅助代码编写

Ollama

安装Ollama

可参考此篇文章

在Windows上使用Ollama并配置远程访问.md

下载模型

我这里将要使用的模型为deepseek-coder-v2

直接在命令行中运行:

ollama run deepseek-coder-v2

它会跟你一个 >>> 的命令提示符,然后就可以和它沟通了

使用Continue与IDE集成

安装 Continue 插件

直接从 Extension Marketplace 安装即可 https://marketplace.visualstudio.com/items?itemName=Continue.continue

安装完成后在 VSCode 左侧侧栏中会增加一个图标,这就是它的主界面了。

配置本地 AI 模型

Continue 默认只提供了几种线上 AI 模型的试用,如果需要更改,需要在 Continue 主界面中点击右下角的齿轮图标,进入配置界面,会打开 $HOME/.continue/config.json,需要在该文件的字段中增加以下字段:

{
  "models": [
    {
      "title": "deepseek-coder-v2",
      "provider": "ollama",
      "model": "deepseek-coder-v2"
    },
    {
      "title": "codegeex4",
      "provider": "ollama",
      "model": "codegeex4"
    },
    {
      "title": "qwen2",
      "provider": "ollama",
      "model": "qwen2"
    },
    {
      "title": "glm4",
      "provider": "ollama",
      "model": "glm4"
    }
  ],
  "customCommands": [
    {
      "name": "test",
      "prompt": "{{{ input }}}\n\nWrite a comprehensive set of unit tests for the selected code. It should setup, run tests that check for correctness including important edge cases, and teardown. Ensure that the tests are complete and sophisticated. Give the tests just as chat output, don't edit any file.",
      "description": "Write unit tests for highlighted code"
    }
  ],
  "tabAutocompleteModel": {
    "title": "deepseek-coder-v2",
    "provider": "ollama",
    "model": "deepseek-coder-v2"
  },
  "allowAnonymousTelemetry": true,
  "embeddingsProvider": {
    "provider": "transformers.js"
  }
}

其中models节,为chat窗口中的模型,它们将直接反映在下方的模型列表中,且第一个为使用快捷键时的默认模型。

tabAutocompleteModel节则是配置使用tab键进行自动补全时用的模型,我这里就是deepseek-coder-v2

使用Continue进行AI辅助代码编写

Continue 主要有两种使用方式:

1. Ctrl + L 选中代码

选中需要的代码,按下 Ctrl + L 快捷键后,Continue 界面就会弹出来,并将选中的代码插入到聊天框中,这时候你可以让它帮你编写单元测试,或者检查可能存在的 bug。

2. Ctrl + I 插入代码

在代码的任意位置按下 Ctrl + I,会弹出一个小的 prompt 输入框,你可以输入需求让它快速生成。

An unhandled error has occurred. Reload 🗙