JetBrains AI Coimmits教程

AI Commits 是 JetBrains 系列 IDE(如 IntelliJ IDEA、PyCharm、WebStorm、GoLand 等)中的一个插件,它利用 LLM(如 OpenAI、Anthropic、Gemini 等)自动根据 git diff 生成提交消息,支持自定义提示与多种模型接入,使提交信息更加智能与高效。该插件目前(v2.14.1)预设了很多国外主流的大模型,比如OpenAI、Anthrpic、Gemini等,国内的大模型目前只看到百度千帆的。至于其他没有预设的大模型我们可以尝试通过更改OpenAI的预设配置进行搭建。

为什么选OpenAI的预设进行更改?

因为很多厂家会对标OpenAI API去搭建自己开放平台的API,也就是说他们的API格式和OpenAI的API格式是兼容的,主要是 Chat Completions API 这一套。所以在遇到没有预设的模型的情况下,推荐尝试更改OpenAI的预设配置,让它指向我们所需模型的预设配置。稳妥起见,可以先查阅一下兼容性。

本文将以DeepSeek API为例演示搭建流程以及使用操作。之所以选用DeepSeek的主要有三点好处:不需要挂梯子充值方便价格感人

申请API key

注册并登录DeepSeek的开放平台,在API keys中创建一个API key。

注意:这个key只有在你创建时显示,所以一开始就得复制出来保存好,要不然后续丢了就只能删了重建了。

安装

到JetBrains IDE的插件市场搜索并安装AI Commits。安装后需要重启IDE才会生效。

需要注意的是IDE的版本不要太老,我之前有遇到过在WebStorm 2023版本中遇到生成的Commit信息是中文乱码的问题。后续更新到最新的WebStorm 2025.1.1就没问题了。这些兼容性问题可能在后续更新的时候被修复,但建议还是保持IDE与插件都是最新的。

配置

进入到设置页面,找到Tools -> AI Commits

新增LLM Client

点击左上角的模型新增。然后更改对应的配置信息:

vbnet 复制代码
// 名称,随便取
Name: "DeepSeek",
// 主机地址
Host: "Https://api.deepseek.com/v1",
// 你的API key
Token: "Your API Key",
// 模型,deepseek-chat 和 deepseek-reasoner
Model: "deepseek-chat"

填写后记得点击Verify检查一下是否正确。

配置信息来源

模型价格参考:

新增Prompt

可以根据新增面板下方的提示信息去填写提示词的内容,下面提供两份提示词供大家参考:

  1. 我自己在用的提示词:

Write an insightful but concise Git commit message in a complete sentence in present tense for the following diff without prefacing it with anything, the response must be in the language {locale} and must NOT be longer than 74 characters. The sent text will be the differences between files, where deleted lines are prefixed with a single minus sign and added lines are prefixed with a single plus sign. Avoid overly verbose descriptions or unnecessary details. Carefully determine the most appropriate commit type, referring to Conventional Commits. Return chinese: -feat: Introduces a new feature to the codebase.

-fix: Patches a bug in your code.

-docs: Changes only documentation (e.g., README, inline docs).

-style: Changes that do not affect the meaning of the code (e.g., formatting, white-space, missing semicolons).

-refactor: Code changes that neither fix a bug nor add a feature (e.g., restructuring code).

-perf: Code changes that improve performance.

-test: Adds or updates existing tests without affecting production code.

-build: Changes that affect the build system or external dependencies (e.g., npm, Webpack).

-ci: Changes to configuration files and scripts related to continuous integration.

-chore: Routine tasks or maintenance (e.g., dependency updates) that don't modify src or test files.

-revert: Reverts a previous commit. the file name of the main change file are after the commit type, and the format like: "feat(fineName): message..."

  1. 网上别人的提示词

使用 {locale} 语言写一个简明、清晰、信息丰富的提交信息,提交信息的格式必须是下面这种形式规范,并且以纯文本形式提供回答,回答的内容不需要包含在代码块中

xml 复制代码
<type>(<scope>): <subject>
​
<body>
​
<footer>

其中各种形式规范的定义如下:

  1. 提交类型(type):描述提交的目的或类型,一般使用下面几种常见类型之一:
  • feat: 引入新功能或增强功能。

  • fix: 解决和修复错误或问题。

  • chore: 对非用户界面元素进行更改。

  • refactor: 重新组织或优化代码而不改变行为。

  • ci: 调整CI/CD流程。

  • test: 增强或修改测试套件。

  • docs: 更新或修改文档。

  • revert: 回滚到以前的状态。

  1. 范围(scope)(可选):描述变更的影响范围,某个功能模块、组件或者分支的名称。
  2. 主题(subject):简明扼要地描述变更的内容,一般限制在50个字符以内。
  3. 主体(body)(可选):详细描述变更的内容,可以使用多行。
  4. 页脚(footer)(可选):包含一些元信息,比如关联的 Issue 编号、变更的关闭类型等。 例如一个示例返回如下
markdown 复制代码
feat(推广计划): 新增推广计划增删改接口和页面
  1. 新增推广计划后端接口
  2. 新增推广计划前端页面
  3. 新增推广计划逻辑功能
无相关 issue
​

这是 git diff --staged 命令的输出结果: {diff}

选择对应配置

使用

勾选Commit内容,然后点击下方Commit AI的图标,AI生成后会自动填充到Commit Message中。

AI自动生成的不一定都是准确可靠的,这和我们的Prompt、AI模型配置、提交文件的个数与关联性都有一定关系。所以建议生成后最好是看一下是否准确,必要的时候需要对其进行调整,然后最好不要一次性勾选太多要Commit的内容,最好是少量多次的提交。

如果频繁的发生生成的信息不可靠的话建议对Prompt、AI模型配置(Model、Temperature)进行调整,或者更换为其它厂家的大模型。

最后我们可以到DeepSeek开放平台的用量信息查看我们的消费情况。

相关推荐
neoooo5 小时前
JetBrains Commit 界面进化:从“模态弹窗”到“侧边面板”的轻盈变奏
后端·intellij idea·jetbrains
新智元2 个月前
CS 博士求职 8 个月 0 offer,绝望转行!斯坦福入学停滞,全美仅增 0.2%
人工智能·openai·jetbrains
界面开发小八哥2 个月前
JetBrains IDE v2025.1 升级,AI 智能+语言支持齐飞
ide·人工智能·pycharm·go·jetbrains
葱段2 个月前
【Compose】Android Compose 监听TextField粘贴事件
android·kotlin·jetbrains
Jaising6662 个月前
JetBrains AI 打零工(三)——Junie 常用交互模式分析
ai编程·intellij idea·jetbrains
Jaising6662 个月前
JetBrains AI 打零工(二)——遗留系统维护第一步,重建 README
ai编程·jetbrains
龙智DevSecOps解决方案2 个月前
游戏开发中的CI/CD优化案例:知名游戏公司Gearbox使用TeamCity简化CI/CD流程
ci/cd·游戏开发·jetbrains·teamcity
晓数4 个月前
“平价”微智码初尝试
人工智能·jetbrains
龙智DevSecOps解决方案4 个月前
CI/CD解决方案TeamCity在游戏开发中的应用价值与优势分析
ci/cd·游戏开发·jetbrains·持续集成·teamcity