JetBrains AI Assistant 将生成式 AI 编码能力、自主多步 Agent 以及深度语义代码智能直接集成到 JetBrains 开发环境中,支持包括 IntelliJ IDEA、PyCharm、WebStorm、GoLand、CLion、Rider、PhpStorm、RubyMine、RustRover、DataGrip 和 DataSpell 在内的全系 IDE。与独立的聊天界面或通用的文本预测器不同,该助手深度连接 IDE 内部的项目索引、抽象语法树(AST)和版本控制系统,提供具备上下文感知的代码生成、多行自动补全、后续修改建议(Next Edit Suggestions)、自动化测试编写以及结构化重构。成功部署和配置 JetBrains AI Assistant 需要软件开发者和工程技术主管确认 IDE 版本先决条件、完成个人或企业层级的安装与许可证激活、调优编辑器内补全参数、建立代码库级别的项目规则,并围绕模型供应商及外部模型上下文协议(MCP)工具配置安全边界。
IDE 兼容性与版本先决条件
在启用 JetBrains AI Assistant 之前,开发者必须确保本地环境满足特定的运行时、平台与组织要求。
支持的环境与 IDE 版本基线
JetBrains AI Assistant 以插件形式分发,适用于 JetBrains 产品系列。支持的 IDE 需要满足特定的基线版本:
- 商业版 JetBrains IDE:兼容所有商业 IDE 的 2023.3 或更高版本,包括 IntelliJ IDEA Ultimate、PyCharm Professional、WebStorm、CLion、GoLand、Rider、PhpStorm、RubyMine、RustRover、DataGrip 和 DataSpell。
- 社区版 IDE:开源社区版(如 IntelliJ IDEA Community Edition 或 PyCharm Community Edition)要求 2024.1.1 或更高版本。若要在社区版中绑定组织级 JetBrains AI 订阅,团队必须运行 2024.2.1 或更新版本。
- 跨平台支持:支持 64 位 Windows、macOS(Intel 和 Apple Silicon)以及与宿主 IDE 标准系统要求相匹配的 Linux 工作站。
计算拓扑:云端 LLM 与本地硬件
默认情况下,JetBrains AI Assistant 通过由 JetBrains AI 服务或第三方 API 供应商托管的云端大语言模型执行推理。在此配置下,开发者工作站几乎不会产生额外的 CPU、GPU 或电池开销。
然而,对于采用自托管开源权重模型(如 Ollama 或私有 OpenAI 兼容推理端点)的团队,必须在工作站上分配专用算力,包括充足的专用显存(VRAM,通常根据参数量化级别需要 8 GB 至 24 GB),以支持低延迟的实时 Token 流式传输。
组织先决条件
对于使用雇主或教育机构分配的 IDE 许可证的开发者,AI 功能的访问权限在组织层级进行管控:
- 组织管理员必须在企业 JetBrains Account 管理控制台中启用 JetBrains AI 服务。
- 如果组织实施了严格的知识产权治理或安全合规策略,管理员可在开发者初始化激活前分配共享点数池或指定已批准的第三方供应商。
安装与激活 JetBrains AI Assistant
JetBrains AI Assistant 插件在个人安装环境中默认未启用,且在显式安装并激活之前绝不会访问专有源代码。
安装途径
开发者可通过支持的 IDE 中的三个主要入口安装该插件:
- JetBrains Marketplace(设置界面):
- 在 Windows/Linux 上通过快捷键
Ctrl+Alt+S打开Settings,或在 macOS 上通过Cmd+,打开Preferences。 - 在左侧侧边栏中选择
Plugins,并切换到Marketplace标签页。 - 在搜索栏中搜索
AI Assistant。 - 在官方 JetBrains 插件条目上点击
Install,若出现提示则重启 IDE。
- 在 Windows/Linux 上通过快捷键
- AI Chat 工具窗口:
- 点击右侧工具窗口停靠栏中的
AI Chat图标。 - 点击空工具窗口中显示的
Install Plugin按钮,触发后台静默安装。
- 点击右侧工具窗口停靠栏中的
- JetBrains AI 窗口标题栏小组件:
- 在现代 IDE 界面标题栏中,找到
JetBrains AI状态小组件。 - 点击
Let's Go,即可自动下载并初始化插件。
- 在现代 IDE 界面标题栏中,找到
许可证层级与激活场景
安装完成后,开发者必须使用相应的许可模式激活插件。JetBrains 在激活场景下支持多种身份验证方式:
| 激活方式 | 需要订阅 | 可用功能 | 主要计费实体 |
|---|---|---|---|
| JetBrains AI 订阅 | 是(Free、Pro、Business、Ultimate、Enterprise) | 完全访问所有云端模型、内置 Agent、内联代码补全及后续修改建议 | JetBrains(每月配额或企业共享点数池) |
| 自带密钥(BYOK) | 否(使用第三方 API 密钥) | 所选第三方模型支持的内联补全和聊天功能 | 第三方供应商(OpenAI、Anthropic、Google Vertex AI) |
| 供应商账户(OAuth) | 否(通过供应商 OAuth 登录) | 仅限所认证 Agent 的专用访问权限(例如 Claude Agent、GitHub Copilot) | 专用 Agent 供应商 |
| ACP 兼容 Agent | 否 | 通过 Agent Client Protocol 与自定义外部 Agent 对接 | 独立 Agent 供应商 |
| 本地 / 自定义模型 | 否 | 本地运行的推理服务器所支持的功能(例如 Ollama、vLLM) | 自托管基础设施 |
许可证层级细分
- AI Free:提供对轻量级云端模型的基础访问权限,每月赠送有限的 AI 点数,自动授予订阅过期的用户或免费层级用户。
- AI Pro:标准个人订阅,提供充裕的每月配额、优先模型路由,并支持前沿大语言模型(包括 GPT-4o、Claude 3.5 Sonnet 和 Gemini 1.5 Pro)。拥有 JetBrains All Products Pack 或 dotUltimate 的用户常享有 AI Pro 特权。
- Pro Trial:30 天全功能评估许可证,在首次激活时自动绑定到新的 JetBrains Account。
- AI Business / Enterprise:面向团队的大规模方案,具备集中计费、用户分配控制、共享点数池,并支持通过 JetBrains AI Enterprise 实现本地混合部署。
法律协议与条款接受
在初始激活交互期间,开发者必须查阅并接受 JetBrains AI 服务条款和可接受使用政策。这些条款以法律形式明确:发送用于推理的源代码均按临时短暂方式处理,绝不会被保留用于训练基础公开基座模型。
IDE 核心配置与行为设置
该插件的全局配置选项集中在 Settings | Tools | AI Assistant(macOS 上为 Preferences | Tools | AI Assistant)。参考设置参考文档有助于开发者使工具契合自身的编码习惯。
Settings / Preferences
├── Tools
│ └── AI Assistant
│ ├── General Features (Name suggestions, pasted code, PR summaries)
│ ├── Providers & API keys (BYOK, OAuth, Model selection)
│ ├── Rules (Project-specific instructions)
│ ├── Prompt Library (Custom prompt templates)
│ ├── Skills (Debugger and runtime tools)
│ └── Agents (ACP agent registries)
└── Editor
└── General
└── Code Completion
└── Inline (Cloud completion, Next Edit Suggestions)
自动化功能开关
开发者可以切换特定的辅助行为开关,以防止突兀或干扰性的提示:
- Provide AI-generated name suggestions:在就地符号重构(
Shift+F6)期间,提供符合上下文语境的变量、函数和类标识符建议。 - Suggest converting pasted code to target file language:自动检测粘贴至编辑器中的异构代码(例如将 Python 代码片段粘贴到 Java 文件中),并提示将其语法转换为目标文件的语言。
- Generate a title for the shelved changelist:基于差异分析,为静默搁置的 Git 变更集自动生成精炼的描述性标题。
- GitHub Plugin: Generate PR summaries:通过内置 GitHub 工具窗口创建或审查 PR 时,检查提交和修改的文件以生成结构化的 Pull Request 描述。
自然语言定制
默认情况下,AI Assistant 使用系统语言区域或英语回复。在多语言环境中工作的团队可以在 Settings | Tools | AI Assistant | Natural Language 下指定首选自然语言,以确保解释、文档注释(Docstring)和提交信息均以所需的工作语言生成。
消息裁剪阈值(Message Trimming Threshold)
在处理庞大代码库时,附加多个源文件可能会迅速耗尽大上下文窗口。在 Settings | Tools | AI Assistant 下,开发者可以配置 Message Trimming Threshold(以模型总上下文窗口的百分比表示)。如果附加的数据载荷超过此阈值,AI Assistant 会自动裁剪外层非关键结构,同时保留相关的函数签名和调用点,从而避免超出上下文窗口的 Token 溢出异常。
配置编辑器内代码补全与后续修改建议
JetBrains IDE 针对代码补全采用了双引擎架构:本地设备端补全与远程云端补全。
本地整行补全与云端多行补全对比
理解不同补全机制的区别对于实现最优配置至关重要:
- 整行代码补全(Full Line Code Completion):完全在开发者工作站本地运行,采用随 IDE 直接打包的轻量级特定语言神经网络模型。它完全离线执行,网络延迟为零,不消耗 AI 点数,也不会将代码传出本地机器。
- 云端代码补全(Cloud Code Completion):由 AI Assistant 云端大模型驱动。它根据更广阔的文件上下文生成多行代码结构、完整方法体、算法逻辑以及附带的文档注释。
配置内联补全参数
要微调内联补全,请导航至 Settings | Editor | General | Code Completion | Inline:
- Enable Cloud-Based Multi-Line Completions:勾选此项,允许 AI Assistant 在键入时跨一行或多行显示灰色虚影文字(Ghost Text)。
- Next Edit Suggestions (NES):启用后,AI Assistant 会分析近期的修改并预测接下来的编辑,提出后续改动建议并允许开发者直接跳转到关联位置(例如在修改方法签名后同步更新接口实现)。
- Trigger Delay (Debounce):配置触发云端补全请求前所需的按键暂停等待时间。高网络延迟或使用计费移动网络的开发者可以调大该延迟,以减少不必要的 API 往返请求。
按键快捷键与采纳控制
可以使用标准快捷键采纳或关闭内联虚影建议:
- 采纳完整建议:按
Tab键。 - 采纳下一个单词:按
Ctrl+向右箭头(Windows/Linux)或Option+向右箭头(macOS),逐词采纳补全内容。 - 采纳下一行:按
Ctrl+向下箭头或分配的自定义快捷键,分步纳入建议内容。 - 放弃建议:按
Esc或继续键入不匹配的字符。 - 手动触发:如果关闭了自动内联建议,可随时按
Alt+\(Windows/Linux)或Option+\(macOS)按需手动触发补全。
AI Chat、上下文管理与项目规则
AI Chat 工具窗口充当交互式结对编程环境,能够跨文件、堆栈跟踪和项目历史进行推理。
使用 Mention 引用上下文
开发者无需在聊天输入框中手动复制粘贴源代码片段,而是应使用 @ 符号提供精准的上下文引用:
@file:path/to/File.java:将指定项目文件的内容嵌入到提示词载荷中。@symbol:ClassName#methodName:注入特定类、接口或函数的声明、文档注释和具体实现。@folder:src/main/services:传递目录结构与模块接口。@commit:hash:提供 Git 提交差异和元数据,用于代码审查与回归分析。
使用 /docs 检索官方文档
需要 IDE 使用指导的开发者可以在聊天提示中直接使用 /docs 命令查询 JetBrains 官方文档。例如输入:
/docs how do I configure remote Docker debugging for GoLand?
此命令将对 JetBrains 官方产品文档触发检索增强生成(RAG)查询,返回操作规范指引,并附带可直接跳转至 IDE 设置对话框的深层链接。
自定义提示词库(Prompt Library)
团队通常需要反复执行特定架构模式,例如创建仓储类、构建 HTTP 客户端 Mock 或迁移旧版框架。开发者可以通过 Settings | Tools | AI Assistant | Prompt Library 将这些提示词标准化:
- 点击添加(
+)按钮创建新的自定义提示词模板。 - 定义描述性标题(例如
Generate Spring Data JPA Repository)。 - 输入模板文本,使用
$SELECTION等动态占位符指代选中的代码。 - 将该提示词添加到编辑器上下文菜单中,实现一键快速调用。
通过项目规则强制规范(ai-rules.md)
为防止 AI Assistant 生成违背仓库约定规范的代码,团队可以在 Settings | Tools | AI Assistant | Rules 中设置持久项目规则,或在代码库根目录下提交 Markdown 文件 .jetbrains/ai-rules.md。
一份高效的规则文件能够在架构边界、代码规范和测试模式方面对助手进行规范约束:
# Project Architectural Guidelines
## Technology Stack
- Java 21 LTS with Spring Boot 3.3
- Build Tool: Gradle with Kotlin DSL
- Testing: JUnit 5, AssertJ, and Testcontainers (avoid Mockito for integration tests)
## Code Conventions
- Prefer immutable records for Data Transfer Objects (DTOs).
- Enforce explicit constructor injection; do not use field-level `@Autowired`.
- All public REST controllers must return `ResponseEntity<T>` with OpenAPI 3 annotations.
- Handle database operations asynchronously via R2DBC where reactive pipelines are present.
## Security Constraints
- Never log raw authorization tokens, customer personally identifiable information (PII), or passwords.
- Enforce parameter binding on all SQL and JPQL queries to prevent injection vulnerabilities.
AI Assistant 会自动读取 .jetbrains/ai-rules.md 并将其约束条件追加至该仓库内派发的所有提示词中,从而确保生成的代码严格符合团队规范。
编码 Agent、ACP 与模型上下文协议(MCP)
最新版本的 JetBrains AI Assistant 已经从被动的代码补全建议拓展到主动、自主的 Agent 工作流。
自主编码 Agent
在 Settings | Tools | AI Assistant | Agents 下,开发者可以配置专门的编码 Agent:
- Junie:JetBrains 自研 Agent,专为多文件重构、自主 Bug 修复和测试用例生成而设计。Junie 会制定分步执行计划、修改文件、执行本地终端命令或测试运行器,并向开发者展示整合后的 Diff 供人工审查。
- Claude Agent 与 OpenAI Codex:通过供应商账户或 API 密钥接入,用于端到端执行编码任务的集成。
- Agent Client Protocol (ACP):标准化协议,允许开发者无需编写复杂的 IDE 插件即可直接将自建或专有的第三方 Agent 集成到 IDE 中。
模型上下文协议(MCP)工具集成
通过 MCP 工具,AI Assistant 能够与外部环境、数据库、容器引擎及企业问题跟踪系统联动。
为保证系统安全性,开发者必须在 Settings | Tools | AI Assistant 下显式配置文件数据库权限:
- Read database schemas:允许 MCP Agent 查看表结构、列类型和索引,以构建准确的 SQL 查询。
- Modify database schemas:控制 Agent 是否能够生成并执行 DDL 迁移语句(
CREATE、ALTER、DROP)。 - Read database data:允许 Agent 执行查询并检查查询结果,以排查数据问题。
- Modify database data:要求在 Agent 执行
INSERT、UPDATE或DELETE语句之前获得明确授权。
第三方供应商与自定义模型(BYOK)
希望集中管理 AI 支出或利用内部模型网关的企业组织,可以通过自带密钥(BYOK)配置,将 AI Assistant 与 JetBrains 托管的云端订阅解耦。
配置第三方供应商
导航至 Settings | Tools | AI Assistant | Providers & API keys:
- 点击
Add Provider并从支持的商业供应商中进行选择:- OpenAI:需要拥有访问权限的 OpenAI 平台 API 密钥,可使用
gpt-4o或o1等模型。 - Anthropic:需要支持
claude-3-5-sonnet或claude-3-opus的 Anthropic API 密钥。 - Google Cloud Vertex AI:通过应用默认凭据(ADC)或服务账户密钥进行身份验证。
- OpenAI:需要拥有访问权限的 OpenAI 平台 API 密钥,可使用
- 输入认证凭据并测试连接延迟。
- 为不同功能角色分配模型(例如:分配轻量快速模型用于内联代码补全,分配具有更强推理能力的大模型用于 AI Chat 和重构)。
连接本地与自定义端点
针对隔离网络环境(Air-Gapped)或私有数据中心,开发者可以选择使用自定义模型:
+-------------------------------------------------------------+
| Local Workstation |
| |
| +------------------------+ +-----------------------+ |
| | JetBrains IDE | | Ollama Server | |
| | (AI Assistant Plugin) | ---> | (http://localhost: | |
| | | <--- | 11434/v1) | |
| +------------------------+ +-----------------------+ |
+-------------------------------------------------------------+
- 启动暴露兼容 OpenAI API 的本地推理服务器(如 Ollama、vLLM 或 LM Studio)。
- 在
Providers & API keys下,添加 Custom OpenAI-Compatible 供应商。 - 配置 Base URL(例如 Ollama 的
http://localhost:11434/v1)并指定已加载的模型标识符(如qwen2.5-coder:32b或deepseek-coder-v2)。 - 验证本地代码补全能够顺畅流式推送到编辑器中,且无外部 WAN 流量外发。
数据治理、隐私合规与企业管控
在商业环境中部署 AI 编程助手需要透明的数据隐私保护和审计屏障。
数据传输与模型训练边界
JetBrains 在其官方文档和信任中心(Trust Center)中明确界定了数据处理边界:
- 零基座模型训练:客户的源代码、上下文载荷以及生成的补全内容绝不会被 JetBrains 或其模型合作伙伴保留或用于训练基座模型。
- 短暂即时处理(Ephemeral Processing):通过 JetBrains AI 服务路由的提示词仅在内存中缓存以供推理执行和日志合规记录,处理完成后即被销毁清除。
- 数据共享选择性加入:
Send detailed code-related data(发送详细代码相关数据)设置默认处于关闭状态。即使手动启用,遥测数据也会经过脱敏匿名化,且仅用于评估 JetBrains IDE 功能表现。
企业防火墙、代理与 SSL 检查
在企业安全边界内运行的开发者工作站必须放行出站安全通信:
- 网关端点:将指向
*.jetbrains.com和指定第三方模型端点的出站 HTTPS(端口 443)与 WebSocket(WSS)连接加入白名单。 - 企业 SSL 检查:如果企业安全设备使用内部证书颁发机构(CA)拦截并解密 TLS 连接,开发者必须将企业 CA 证书导入宿主 IDE 的受信任证书库(
Settings | Tools | Server Certificates),以避免 TLS 握手失败。
配额监控与停用选项
窗口标题栏中的 JetBrains AI 状态小组件提供了使用指标的实时可见性:
- 订阅配额:追踪剩余的每月 AI 点数,并显示每月配额重置日期。
- 充值点数(Top-Up Credits):在高负载 Agent 任务耗尽基础配额时,允许个人开发者或团队按需购买额外点数包。
- 共享点数池管理:连接到企业许可证服务器时,动态显示点数消耗情况。
如果开发者需要停用 AI Assistant,可通过小组件菜单临时为单个项目禁用该功能、仅关闭云端补全而保留本地整行代码补全,或者在整个 IDE 安装环境中彻底卸载该插件。