QodeAssist
Qt Creator 的 AI 编程插件,支持代码补全、多面板对话、内联重构和项目级工具调用
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
Qt Creator 的 AI 编程插件,支持代码补全、多面板对话、内联重构和项目级工具调用
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下这样的场景:你正在 Qt Creator 里啃一块硬骨头——某段信号槽连接逻辑死活调不通,代码补全给不出有用建议,Google 搜了半天 Stack Overflow 翻了两页还是没思路。传统方案下,你大概要切出 IDE、去 ChatGPT 复制粘贴上下文、再贴回代码——来回折腾,效率感人。
QodeAssist 解决的就是这个问题。它直接把 AI 能力塞进 Qt Creator:代码补全、多面板对话、内联重构建议、项目级工具调用,全部在一个 IDE 里完成,不需要切换上下文。
这个插件由俄罗斯开发者 Petr Mironychev 创建,GitHub 斩获 420 stars、57 forks,支持 Qt Creator 14.x 到 20.x 全版本,获得了 87 次发布迭代和 695 次代码提交——无论从哪个维度看,都是一个维护活跃、社区认可度高的精品项目。
Qt Creator 是 Nokia/Digia/Qt Company 主导的跨平台 C++ IDE,专门针对 Qt 框架优化,社区庞大。但长期以来,Qt Creator 的智能补全和代码理解能力相比 VS Code、CLion 都有明显差距,AI 编程浪潮到来后更是被拉开了距离。
开发者 Petr Mironychev 在使用中痛感"为什么没有人给 Qt Creator 做一个像样的 AI 插件",于是自己动手,从零搭建了这套系统。项目的核心设计理念是**"本地优先 + 云端兼容"**:既支持 Ollama、LM Studio、llama.cpp 等本地大模型运行(隐私友好、零 API 费用),也支持 Claude、OpenAI、Google AI、DeepSeek 等云端服务。
QodeAssist 基于 Qt Creator 的插件系统构建,依赖 QtCreator::Core、QtCreator::LanguageClient、QtCreator::TextEditor、QtCreator::CppEditor 等核心组件。它将自己注册为 Qt Creator 的 Language Client,模拟 LSP(Language Server Protocol)协议与 LLM 通信,实现代码补全功能。
CMakeLists.txt 显示项目采用 C++20 标准,构建系统为 CMake,依赖 Qt6 全家桶(Core、Gui、Quick、Widgets、Network、Svg),同时引入了 GoogleTest 单元测试框架。
源码被拆分为多个功能独立的子目录:
| 模块 | 职责 |
|---|---|
sources/ | 主程序入口 |
ChatView/ | 多面板对话 UI |
UIControls/ | 自定义 UI 控件 |
context/ | 项目上下文管理(文件读取、编程语言识别) |
settings/ | 配置管理(通用设置 + 代码补全设置) |
pluginllmcore/ | LLM 核心逻辑(Provider 注册、Prompt 管理) |
logger/ | 请求性能日志 |
test/ | GoogleTest 单元测试 |
LLMClientInterface 是核心桥接类,负责:
handleCompletion)ContextManager 整合项目文件、打开文件、代码前后缀)支持 FIM(Fill-in-the-Middle)模型(如 Codestral、Qwen2.5-Coder)和普通 Chat 模型,通过不同的 Prompt 模板适配。
支持 17 种模板类型(OpenAI、Claude、Mistral、Llama2、Llama3、ChatML、Alpaca、CodeLlama、Qwen、DeepSeek 等),模板文件存于 templates/ 目录,按统一接口封装,使新增模型适配成本极低。
两种触发模式:
支持 FIM 模型直接补全(▌ 标记插入位置),也支持 Chat 模型通过特殊 Prompt 指令实现补全。
reasoning_content 参数(Claude 思考过程可见)快捷键 Ctrl+Alt+R 唤起内联重构面板,内置指令("改进代码"、"替代方案")并支持自定义指令库。
内置工具集覆盖文件操作、构建、诊断、终端命令:
| 工具 | 功能 |
|---|---|
list_project_files | 列出项目文件 |
find_file | 按名搜索文件 |
read_file | 读取文件内容 |
search_project | 项目内全文/符号搜索 |
create_new_file | 创建新文件 |
edit_file | 替换文件内容 |
build_project | 触发构建并返回编译器输出 |
get_issues_list | 读取 linter/编译器诊断 |
execute_terminal_command | 执行 Shell 命令(需确认) |
todo_tool | 多步骤任务进度追踪 |
支持 Agent Skills 开放格式——为 Claude Code、Cursor 等平台编写的 skills 可直接复用。Skills 存于 .qodeassist/skills/、.claude/skills/、~/.claude/skills/ 等位置,通过 load_skill 或 /skill_name 加载,支持自动加载(always-on: "true")。
QodeAssist 不是 Web 应用,而是原生 C++ 插件。安装方式有三种:
方式一:扩展商店(推荐)
Qt Creator → 扩展 → 添加仓库:
https://github.com/Palm1r/extension-registry/archive/refs/heads/qodeassist.tar.gz
版本与 Qt Creator 主版本号对应(qtc20/qtc19/qtc18)。
方式二:QodeAssistUpdater(Beta) 命令行工具,自动检测 Qt Creator 版本并校验 SHA256。
方式三:源码编译
需要 CMake >= 3.16、Qt Creator 开发包、Qt6 全组件,克隆后 mkdir build && cd build && cmake .. && make。
QodeAssist 的出现填补了 Qt Creator 生态在 AI 编程辅助领域的空白。它不仅是一个插件,更是一种示范:IDE 插件化架构可以让 AI 能力低成本落地到任何垂直领域。相比通用的 Cursor/Windsurf,QodeAssist 对 C++/QML 语境的理解更深(Context Layers 按语言分层、Qt 特定的文件结构感知),补全质量理论上更优。
作者在 GitHub 上建立了 Discord 社区、持续发布 87 个版本、文档覆盖 11 种语言(英语、简体中文、繁体中文、捷克语、丹麦语、德语、法语、日语、波兰语、俄语、乌克兰语、瑞典语)——这种维护热情在个人开发者项目中极为罕见。
项目链接:https://github.com/Palm1r/QodeAssist