使用 Claude Code 與 JetBrains IDEs(包括 IntelliJ、PyCharm、WebStorm 等)整合
Claude Code 透過專用外掛程式與 JetBrains IDEs 整合,提供互動式差異檢視、選擇內容共享等功能。
支援的 IDEs
Claude Code 外掛程式適用於大多數 JetBrains IDEs,包括:
- IntelliJ IDEA
- PyCharm
- Android Studio
- WebStorm
- PhpStorm
- GoLand
功能
- 快速啟動:使用
Cmd+Esc(Mac)或Ctrl+Esc(Windows/Linux)直接從編輯器開啟 Claude Code,或點擊 UI 中的 Claude Code 按鈕 - 差異檢視:程式碼變更可直接在 IDE 差異檢視器中顯示,而不是在終端機中
- 選擇內容共享:IDE 中的目前選擇或分頁會自動與 Claude Code 共享。
Read拒絕規則會阻止此共享以符合檔案 - 檔案參考快捷方式:使用
Cmd+Option+K(Mac)或Alt+Ctrl+K(Linux/Windows)插入檔案參考,例如@src/auth.ts#L1-99 - 診斷共享:IDE 中的診斷錯誤(例如 lint 和語法錯誤)會在您工作時自動與 Claude 共享
安裝
該外掛程式在您的 IDE 整合終端機中執行 claude 命令並連接到它。它不包含自己的 CLI 副本,因此請安裝兩個部分:
- 安裝 Claude Code CLI
如果您還未安裝 CLI,請按照快速入門進行安裝。當
claude不在您的 PATH 中時,外掛程式會顯示'無法啟動 Claude Code'通知。 - 安裝 JetBrains 外掛程式
從 JetBrains Marketplace 安裝 Claude Code 外掛程式,然後重新啟動您的 IDE。
如果 claude 安裝在您的 IDE 找不到的位置,請在外掛程式的 Claude 命令設定中設定完整路徑。
Claude Code 適用於任何付費 Claude 訂閱(Pro、Max、Team 或 Enterprise)或 Claude Console 帳戶,無需 API 金鑰。當您第一次執行 claude 時,系統會提示您登入 Claude Code。
安裝外掛程式後,您可能需要完全重新啟動 IDE 才能使其生效。
使用方式
從您的 IDE
從 IDE 的整合終端機執行 claude,所有整合功能將處於活躍狀態。
從外部終端機
在任何外部終端機中使用 /ide 命令,將 Claude Code 連接到您的 JetBrains IDE 並啟動所有功能:
claude
/ide
如果您希望 Claude 能夠存取與 IDE 相同的檔案,請從與 IDE 專案根目錄相同的目錄啟動 Claude Code。
設定
Claude Code 設定
透過 Claude Code 的設定來設定 IDE 整合:
- 執行
claude - 輸入
/config命令 - 將差異工具設定為
auto以在 IDE 中顯示差異,或設定為terminal以在終端機中保留差異
外掛程式設定
透過前往 Settings → Tools → Claude Code [Beta] 來設定 Claude Code 外掛程式:
一般設定
- Claude 命令:指定自訂命令以執行 Claude,例如
claude、/usr/local/bin/claude或npx @anthropic-ai/claude-code - 抑制找不到 Claude 命令的通知:略過有關找不到 Claude 命令的通知
- 啟用使用 Option+Enter 進行多行提示:僅限 macOS。啟用時,Option+Enter 會在 Claude Code 提示中插入新行。如果遇到 Option 鍵被意外捕獲的問題,請停用此選項。需要終端機重新啟動。
- 啟用自動更新:自動檢查並安裝外掛程式更新,在重新啟動時套用
對於 WSL 使用者:將 wsl -d Ubuntu -- bash -lic "claude" 設定為您的 Claude 命令(將 Ubuntu 替換為您的 WSL 發行版名稱)
ESC 鍵設定
如果 ESC 鍵無法在 JetBrains 終端機中中斷 Claude Code 操作:
- 前往 Settings → Tools → Terminal
- 執行下列其中一項:
- 取消勾選「使用 Escape 將焦點移至編輯器」,或
- 點擊「設定終端機快捷鍵」並刪除「切換焦點至編輯器」快捷方式
- 套用變更
這將允許 ESC 鍵正確中斷 Claude Code 操作。
特殊設定
遠端開發
使用 JetBrains 遠端開發時,您必須透過 Settings → Plugin (Host) 在遠端主機上安裝外掛程式。
外掛程式必須安裝在遠端主機上,而不是在您的本機用戶端機器上。
WSL 設定
如果您在 WSL2 上使用 Claude Code 搭配 JetBrains IDE,並看到「未偵測到可用的 IDEs」,原因通常是 WSL2 的 NAT 網路或 Windows 防火牆阻止了 WSL2 與在 Windows 主機上執行的 IDE 之間的連線。WSL1 直接使用主機的網路,不受影響。
允許 WSL2 流量通過 Windows 防火牆
這是建議的修復方式,因為它保持您現有的 WSL2 網路模式。
- 尋找您的 WSL2 IP 位址
從您的 WSL shell 內執行:
```bash theme={null} hostname -I ``` 記下子網路,例如 `172.21.123.45` 在 `172.21.0.0/16` 中。 - 建立防火牆規則
以系統管理員身份開啟 PowerShell 並執行以下命令,調整 IP 範圍以符合您的子網路:
```powershell theme={null} New-NetFirewallRule -DisplayName "Allow WSL2 Internal Traffic" -Direction Inbound -Protocol TCP -Action Allow -RemoteAddress 172.21.0.0/16 -LocalAddress 172.21.0.0/16 ``` - 重新啟動您的 IDE 和 Claude Code
關閉並重新開啟兩者,以使新規則生效。
將 WSL2 切換為鏡像網路
鏡像網路需要 Windows 11 22H2 或更新版本。如果您使用 Windows 10,請改用上述防火牆規則。
將以下內容新增到您 Windows 使用者目錄中的 .wslconfig:
[wsl2]
networkingMode=mirrored
然後從 PowerShell 使用 wsl --shutdown 重新啟動 WSL。
疑難排解
外掛程式無法運作
如果外掛程式已安裝但 Claude Code 功能未出現在您的 IDE 中:
- 確保您從專案根目錄執行 Claude Code
- 檢查 JetBrains 外掛程式在 IDE 設定中是否已啟用
- 完全重新啟動 IDE(您可能需要執行多次)
- 對於遠端開發,確保外掛程式已安裝在遠端主機上
IDE 未被偵測
如果執行 claude 顯示「未偵測到可用的 IDEs」:
- 驗證外掛程式已安裝並啟用
- 完全重新啟動 IDE
- 檢查您是否從整合終端機執行 Claude Code
- 對於 WSL 使用者,請參閱上方的 WSL 設定
找不到命令
如果點擊 Claude 圖示顯示「找不到命令」:
- 透過在終端機中執行
claude --version驗證 Claude Code 已安裝 - 在外掛程式設定中設定 Claude 命令路徑
- 對於 WSL 使用者,使用設定部分中提到的 WSL 命令格式
安全考量
當 Claude Code 在啟用 acceptEdits 權限模式的 JetBrains IDE 中執行時,它可能能夠修改可由您的 IDE 自動執行的 IDE 設定檔。這可能會增加在 acceptEdits 模式下執行 Claude Code 的風險,並允許繞過 Claude Code 對 bash 執行的權限提示。
在 JetBrains IDEs 中執行時,請考慮:
- 對編輯使用手動核准模式
- 特別注意確保 Claude 僅與受信任的提示一起使用
- 注意 Claude Code 有權限修改的檔案
如需 IDE 外的 Claude Code 安裝或登入問題,請參閱疑難排解安裝和登入。
內建 IDE MCP 伺服器
當外掛程式處於活動狀態時,它會執行一個本機 MCP 伺服器,CLI 會自動連接到該伺服器。這就是 CLI 如何在 IDE 的原生差異檢視器中開啟差異、讀取您目前的選擇以進行 @-提及,以及將檢查診斷拉入對話中的方式。
伺服器名稱為 ide,並且從 /mcp 中隱藏,因為沒有任何內容可配置。不過,如果您的組織使用 PreToolUse hook 來允許列表 MCP 工具,您需要知道它存在。
選擇和開啟檔案內容。 連接時,CLI 會在您傳送的每個提示上包含您目前的編輯器選擇和活動檔案的路徑作為內容。當發生這種情況時,文字記錄會顯示 ⧉ Selected N lines from <file> 行。若要排除敏感檔案(例如 .env),請為其路徑新增 Read 拒絕規則。匹配的拒絕規則可防止該檔案的選定文字和開啟檔案通知到達 Claude。
傳輸和驗證。 伺服器在 OS 指派的暫時連接埠上進行監聽,該連接埠不可配置。傳輸是未加密的 ws://;在迴圈上,任何可以捕獲流量的程序也可以從鎖定檔案讀取權杖,因此 TLS 不會對本機攻擊者增加保護。每次 IDE 啟動都會產生一個新的隨機驗證權杖,將其寫入 ~/.claude/ide/<port>.lock 的鎖定檔案,CLI 必須將其作為 X-Claude-Code-Ide-Authorization 標頭呈現才能連接。如果設定了 CLAUDE_CONFIG_DIR,鎖定檔案會改為寫入 $CLAUDE_CONFIG_DIR/ide/。
向模型公開的工具。 伺服器裝載多個工具,但只有一個對模型可見。其餘的是 CLI 用於自己的 UI 的內部 RPC,例如開啟差異和讀取選擇,並在工具清單到達 Claude 之前被篩選出來。
| 工具名稱(如 hooks 所見) | 它的作用 | 唯讀 |
|---|---|---|
mcp__ide__getDiagnostics |
傳回 IDE 的檢查診斷,即編輯器中顯示的錯誤和警告。可選擇性地限定於一個檔案。 | 是 |
JetBrains 外掛程式不會向模型公開程式碼執行工具。
監聽介面。 伺服器繫結到的網路介面由 Settings → Tools → Claude Code [Beta] → Networking (Advanced) 下的 Accept connections from all network interfaces 控制。禁用該設定時,伺服器僅在 127.0.0.1 上進行監聽,無法從其他主機到達。啟用時,連接埠可從您的本機網路到達。該設定存在於 CLI 無法透過迴圈到達 IDE 的情況,例如具有預設 NAT 網路的 WSL2 或遠端 IDE 設定;請參閱 WSL 配置以了解該情況。
啟用 Accept connections from all network interfaces 會使 IDE MCP 連接埠可從您的本機網路到達。連接仍需要來自鎖定檔案的驗證權杖,但由於傳輸是未加密的 ws://,當設定開啟時,工作階段流量和該權杖都會以明文形式跨越網路。僅在迴圈確實無法運作時才開啟它。對於 WSL2,偏好鏡像網路,以便 Windows 迴圈介面與 Linux VM 共享,且通訊端可以保持在迴圈上。