Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

搭配 Cursor 使用 PRECC

PRECC 最初是為 Claude Code 設計的 PreToolUse 鉤子,但底層的技能庫——cargo-wrong-dirgit-wrong-dirnpm-wrong-dirjj-translate 等——並不綁定特定編輯器。只需一小段 shell 程式片段,就能將你在 Cursor 整合終端機中輸入的每一條指令都路由經過 precc-hook,讓那些為 Claude Code 節省 token 的改寫規則同樣也能在 Cursor 上發揮效用。

Requires precc ≥ 0.3.45. Earlier versions don’t plant the integration scripts under <data_dir>/integrations/cursor/. Run precc update to upgrade if you have an older release.

涵蓋範圍

此整合會攔截你在 Cursor 終端機中手動輸入的指令。在 zsh 上會於按下 Enter 之前自動改寫命令列;而在 bash 上只能發出警告(DEBUG trap 是在指令定型之後才觸發)。Cursor 的代理bash -c 子行程派生的指令並不會載入你的互動式 shell 初始化檔,因此鉤子看不到這些指令;要彌補此缺口需要 PATH 墊片,目前此目錄尚未提供。Cursor 的非 shell 工具呼叫(檔案編輯、程式碼搜尋)同樣不在涵蓋範圍內。

安裝

zsh(自動改寫)

source ~/.local/share/precc/integrations/cursor/precc-preexec.zsh

執行一次 precc init — 它會將腳本放置於上述路徑(使用來自 precc 儲存空間的 <data_dir>,因此 CLAUDE_CONFIG_DIR 與其他設定檔隔離機制皆會被遵循)。然後將 source 那一行加入 ~/.zshrcprecc-hookjq 必須位於 PATH 中;若其中任一缺失,腳本會乾淨地不執行任何動作。

bash(僅警告)

source ~/.local/share/precc/integrations/cursor/precc-preexec.bash

執行一次 precc init — 它會將腳本放置於上述路徑。然後將 source 那一行加入 ~/.bashrcDEBUG trap 會將建議的改寫輸出到 stderr 但不會實際套用;您可以手動複製該建議。

驗證

在 Cursor 的終端機中執行 cd /tmp(或任何不在 Rust 專案內的位置),然後輸入一條 Rust 建構指令並按下 Enter。在 zsh 上,緩衝區應就地變更為 PRECC 改寫後的形式(通常是 cd PATH && … 之類的前置)。在 bash 上則應在 stderr 看到一行 [precc] suggested rewrite: …

注意事項

  • 會增加 precc-hook 的逐鍵敲擊延遲。鉤子的目標是 p50 <5 ms,但在快取冷啟動時 p99 會較高;詳見本書中關於鉤子延遲的說明。
  • 此路徑沒有遙測資料。鉤子會以它偵測到的 agent_class 來回報,而那不會是 claude-code——你在 Cursor 上節省的 token 不會出現在公開統計頁面上。
  • 改寫原因會透過 zle -M 閃現一個按鍵的時間。安靜,不會干擾操作。
  • 若要涵蓋代理產生的指令,下一步規劃是加入 PATH 墊片(在 ~/.precc/bin/cargo~/.precc/bin/git、… 放置包裝器)。