前言
AI编程大概有以下几种分类
- 聊天方式提问
- 代码提示插件
- 集成AI的IDE
- 终端CLI
聊天方式提问
常见的有
- 豆包
- 千问
- DeepSeek
个人推荐使用千问,在一些新版本框架或组件的使用上,千问回答的相对更准确,可能是它训练的数据集相对较新。
代码提示插件
lingma
Qoder
Trae
CodeGeeX
个人推荐使用lingma,它和Idea的兼容性较好,不会出现其他插件和IDE自带的提示冲突的情况。
集成AI的IDE
Trae
字节跳动出品
TRAE - The Real AI Engineer | TRAE - The Real AI Engineer
国产免费,使用起来有些卡。
Cursor
相对比较好用,但是比较贵。
CodeBuddy
腾讯出品
终端CLI
Claude Code
国内使用账号容易被禁用。
OpenCode
开源版Claude Code
iFlow CLI
阿里出品
Gemini Cli
谷歌出品、国内不能直接使用。
LSP和MCP
LSP 是一种标准化协议,用于在代码编辑器(如 VS Code、Vim、JetBrains IDE 等)和“语言服务器”之间传递代码语义信息。
MCP 是一种新兴协议(仍在发展中),旨在标准化 AI 模型与开发环境之间的上下文交换。它关注的是:如何把“整个项目”的相关信息高效、安全地传递给 AI 模型。
| 协议 | 全称 | 目标 | 关注点 | 成熟度 |
|---|---|---|---|---|
| LSP | Language Server Protocol | 让编辑器理解代码 | 代码级语义(语法、类型、结构) | ✅ 成熟,广泛支持 |
| MCP | Model Context Protocol | 让 AI 理解项目 | 项目级上下文(架构、任务、规范) | 🚧 新兴,生态发展中 |
示例
你想让 AI 为以下 Python 函数写单元测试:
1 | def calculate_tax(income: float) -> float: |
LSP 会告诉 AI
income是float类型- 函数返回
float - 当前文件导入了哪些模块
MCP 会告诉 AI
- 项目使用
pytest(通过pyproject.toml判断) - 测试文件通常放在
tests/目录 - 其他测试用例的命名风格(如
test_calculate_tax) - 是否有 mock 依赖(本例没有)