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开放平台的用量信息查看我们的消费情况。

相关推荐
法欧特斯卡雷特17 天前
告别 Terminal!IDEA 也可以爽用 Claude Code 了?
agent·ai编程·jetbrains
程序员鱼皮1 个月前
刚刚,IDEA 免费版发布!终于不用破解了
java·程序员·jetbrains
overstarry1 个月前
Goland 通过 ACP 连接 Claude Code
人工智能·claude·jetbrains
AlenLi4 个月前
在本地快速部署模型并在IDE上使用的二三事
ai编程·jetbrains
狼爷4 个月前
破解 JetBrains 的学生,后来都成了它的 “推销员”:一场用习惯换市场的长期战
java·jetbrains
ForteScarlet4 个月前
Kotlin 2.2.20 现已发布!下个版本的特性抢先看!
android·开发语言·kotlin·jetbrains
neoooo5 个月前
JetBrains Commit 界面进化:从“模态弹窗”到“侧边面板”的轻盈变奏
后端·intellij idea·jetbrains
新智元7 个月前
CS 博士求职 8 个月 0 offer,绝望转行!斯坦福入学停滞,全美仅增 0.2%
人工智能·openai·jetbrains