前言
昨天在服務器上配置好了 Claude code,發現其編碼性能和效率都非常不錯。
然而,嘗試用它修改帶 UI 界面的客戶端程序時頗為不便,因為服務器沒有圖形化界面,無法直接將應用界面直接顯示到開發機上,調試起來頗為不便。
因此,本文在 windows 系統上部署 Claude code,讓開發體驗更為絲滑。
WSL方案
由于 Claude code(原本) 只支持 Linux 和 MacOS 系統,因此在 windows 中可以通過 WSL 配置一套 Ubuntu 系統。
當然,也可以用 VMvare 這類虛擬機軟件,但性能開銷比 windows 自帶的 wsl 高很多。
首先可以在 windows 的微軟商店中下載 ubuntu 系統,這里以Ubuntu 22.04
為例,其它系統也可以。
也可以直接用 wsl 安裝,但我的 win10系統用wsl直接安裝存在一點小問題,于是選擇直接在商店下載安裝。
wsl --install -d Ubuntu-22.04
安裝完后,重啟電腦,進入軟件界面,會提示新建用戶名和密碼。
之后,在 Cursor 中,安裝一個 WSL 的插件。
安裝完后,就可以直接打開 WSL 的終端,它會自動將當前項目掛載到系統中。
然后,就可以參照前文,到鏡像站去創建key,進行相同步驟的配置。
鏡像站地址:https://anyrouter.top/register?aff=kUGb
配置完之后,它就能正確讀取文件內容。
Windows原生部署方案
然而,當我折騰完時,突然發現它的更新公告:
What's new:? Added support for native Windows (requires Git for Windows)? Added support for Bedrock API keys through environment variable AWS_BEARER_TOKEN_BEDROCK? Settings: /doctor can now help you identify and fix invalid setting files? `--append-system-prompt` can now be used in interactive mode, not just --print/-p.? Increased auto-compact warning threshold from 60% to 80%
它現在可以直接原生支持windows系統了。
在安裝號 npm 的前提下,可以直接安裝:
npm install -g @anthropic-ai/claude-code --ignore-scripts
安裝完后,用命令啟動:
npx win-claude-code@latest
如果能正常啟動,參照前文相同的方式配置環境變量,就可以再終端使用了。
由于 windows 的啟動命令和其它系統有所不同,可以創建一個別名。
在用戶目錄下創建一個claude.bat
輸入以下內容:
@echo off
npx win-claude-code@latest %*
保存后,將該路徑添加到用戶Path
環境變量。
重啟終端,就可以直接用claude
啟動了。
配置完后,就可以優雅得在 Cursor 中搭配使用。
Claude code 使用技巧
參考 Claude 官方文檔,在讓它修改代碼前,建議讓它先熟悉一下項目文件,對后續提問創造有利的上下文條件。
此外,CLI 還有以下參考命令和參數,可以應對會話恢復、權限跳過等常用情況。
CLI 命令參考:
命令 | 描述 | 示例 |
---|---|---|
claude | 啟動交互式 REPL | claude |
claude "query" | 啟動 REPL,并使用初始提示詞 | claude "explain this project" |
claude -p "query" | 使用 SDK 查詢并退出 | claude -p "explain this function" |
cat file | claude -p "query" | 處理管道內容 | cat logs.txt | claude -p "explain" |
claude -c | 繼續最近的一次對話 | claude -c |
claude -c -p "query" | 使用 SDK 繼續最近對話 | claude -c -p "Check for type errors" |
claude -r "<session-id>" "query" | 通過 ID 恢復對話會話 | claude -r "abc123" "Finish this PR" |
claude update | 更新到最新版本 | claude update |
claude mcp | 配置 Model Context Protocol (MCP) 服務器 | 詳見 Claude Code MCP 文檔 |
CLI 參數:
參數(Flag) | 描述 | 示例 |
---|---|---|
--add-dir | 添加 Claude 可以訪問的額外工作目錄(路徑必須為有效目錄) | claude --add-dir ../apps ../lib |
--allowedTools | 設置無需提示即可允許使用的工具列表(可配合 settings.json 使用) | "Bash(git log:*)" "Bash(git diff:*)" "Read" |
--disallowedTools | 設置無需提示即可禁止使用的工具列表(可配合 settings.json 使用) | "Bash(git log:*)" "Bash(git diff:*)" "Edit" |
--print , -p | 以非交互模式輸出 Claude 響應(適合腳本使用,詳見 SDK 文檔) | claude -p "query" |
--output-format | 指定輸出格式(可選項:text 、json 、stream-json ) | claude -p "query" --output-format json |
--input-format | 指定輸入格式(可選項:text 、stream-json ) | claude -p --output-format json --input-format stream-json |
--verbose | 啟用詳細日志模式,顯示完整交互過程(調試推薦) | claude --verbose |
--max-turns | 在非交互模式下限制 Agent 回合數 | claude -p --max-turns 3 "query" |
--model | 設置當前會話所使用的模型(如 sonnet 、opus 或模型全名) | claude --model claude-sonnet-4-20250514 |
--permission-mode | 啟動時設置權限模式(詳見權限模式文檔) | claude --permission-mode plan |
--permission-prompt-tool | 在非交互模式下指定一個 MCP 工具來處理權限請求提示 | claude -p --permission-prompt-tool mcp_auth_tool "query" |
--resume | 恢復指定會話(通過 ID 或交互方式選擇) | claude --resume abc123 "query" |
--continue | 在當前目錄加載最近對話 | claude --continue |
--dangerously-skip-permissions | 跳過權限請求提示(請謹慎使用) | claude --dangerously-skip-permissions |