Claude Code 初体验 - Windows
1. 前言

Cursor 和 Claude Code 都是编程神器,它们的主要区别是什么呢?
Cursor 主要对不同的AI模型进行整合,提供友好的代码编辑体验,包括OpenAI 的 GPT 系列、Google 的Gemini系列、Anthropic 的 Claude 系列等。
假如使用 Claude系列模型,
Cursor需要把数据在 Cursor服务器绕一圈,然后到达Anthropic服务器;
但Claude Code 数据直接达到自家的Anthropic服务器,没有拦截,没有预处理,没有后处理。
既然Cursor中也能使用 Claude模型,为什么还要去麻烦搭建Claude Code 的专有环境来使用呢?
因为Claude 更系统、更宏观,在复杂场景具有更强的整合处理能力:
Cursor:懂代码;Claude:懂电脑(=懂代码+系统级电脑操作)
Cursor:写代码;Claude:写代码 -> 配环境 -> 跑流程
Claude 具有系统级操作能力:文件系统操作、包管理、版本控制、脚本执行 等ubuntu系统级的所有能力,它“会用电脑”,不只是“懂代码”。
由于 Claude Code 不支持在 Windows 中直接使用,因此需要以 ubuntu 作为代理来使用。配置的操作步骤比Cursor麻烦很多。
依据 Claude Code官方文档:Intro to Claude - Anthropic ,实操过程记录如下。
2. 安装 VSCode
从官网下载vs code 并安装:https://code.visualstudio.com/download#
然后 vs code 中安装扩展: WSL 、 Claude Code for VSCode

3. 安装 Ubuntu
启用WSL
确保电脑的虚拟化已经启用:

安装 wsl :

关闭所有VPN网络(一般关闭后无法正常访问谷歌), 然后以管理员身份 打开 PowerShell ,执行命令:wsl –install ,该命令会安装 Ubuntu 应用,安装成功后会弹出欢迎窗口:

关闭这个窗口,然后从 开始菜单中,输入 ubuntu 找到对应的应用启动:

4. 启动 Ubuntu
首次启动ubuntu后,看到的是命令交互窗口:

根据提示,输入一组新的账号、密码,输入完后按 Enter即可。
注意:输入密码时屏幕上不会有任何显示(没有星号,光标也不动),这是正常的。
5. 更新 Ubuntu
依次执行以下命令:
sudo apt update && sudo apt upgrade -y


curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash –

sudo apt-get install -y nodejs

验证安装是否成功,看到版本号表示成功:
node -v
npm -v

6. 在 Ubuntu 安装 Claude Code
依次执行以下命令:
sudo npm install -g @anthropic-ai/claude-code

added 3 packages in 9s 表示成功安装,检测一下安装的版本
claude --version

同时,把 npm 更新到最新版本:
sudo npm install -g npm@latest

7. 在 Ubuntu 启动 Claude Code
使用命令 claude 直接启动,
启动发生了错误:

如果遇到这个错误,表示网络不可用。此时我们需要配置 ubuntu 的网络:
启动VPN网络, 并设置为 允许局域网连接 :

然后再次启动 claude, 看到成功了,通过键盘上下键选择喜欢的主题,然后回车确认:

然后默认会自动弹出网页,如下图:

如果不能自动弹出,则把下图第一个红色框选位置的链接拷贝到网页打开会看到上图。
(注意:这个网页能够正常显示认证码的前提是,在这个浏览器已经在VPN模式下成功登录了anthropic 官方网站并已购买付费服务)。
将地址拷贝出来粘贴到下图命令位置中,回车后看到提示登陆成功“Login successful”:

然后通过快捷键 Ctl+C (如果不行,就操作2次)恢复到正常命令模式:

然后设置永久代理,执行以下命令:
sed -i '/resolv.conf/d' ~/.bashrc
sed -i '/https_proxy/d' ~/.bashrc
sed -i '/http_proxy/d' ~/.bashrc
sed -i '/all_proxy/d' ~/.bashrc
echo "export hostip=$(ip route | grep default | awk '{print $3}')" >> ~/.bashrc
echo "export https_proxy="http://${hostip}:7890"" >> ~/.bashrc
echo "export http_proxy="http://${hostip}:7890"" >> ~/.bashrc
echo "export all_proxy="socks5://${hostip}:7890"" >> ~/.bashrc

8. 在 Ubuntu 创建 VSCode 启动入口
为了在 ubuntu 可以通过命令 vscode 直接打开 windows系统安装的 vscode ,需要执行以下命令:
清理掉所有失败的别名配置:
sed -i '/alias code=/d' ~/.bashrc
创建一个名为 vscode 的“快捷方式”:
ln -s "/mnt/c/Users/wanbi/AppData/Local/Programs/Microsoft VS Code/bin/code" ~/.npm-global/bin/vscode
验证“快捷方式”是否创建成功:
ls -l ~/.npm-global/bin/vscode
用新的命令启动 VS Code:
vscode .

9. 在 VSCode 安装 WSL

10. 完整启动步骤
10.1. 启用VPN网络(确保可以正常访问谷歌);
10.2. 打开 Ubuntu 终端;
10.3. cd 到项目文件夹 (cd /mnt/d/test/pro1),它对应到windows系统的D:\test\pro1,注意: cd /mnt/d/test/pro1 命令中盘符d一定要小写,否则ubuntu找不到路径;
10.4. 运行命令: vscode .
此时我们看到 vscode 以一种特殊的模式打开了,左下角会显示蓝色标记 “WSL:Ubuntu”:

10.5. 再次安装 Claude Code for VSCode
但是此时,我们刚才在 windows环境下手动直接启动vscode的时候,看到已经安装好的插件,此时发生了变化,多了按钮 “Install In WSL:Ubuntu”,因为 vscode 对于通过WSL扩展进来的ubuntu环境进行了隔离,他们互不干扰,属于不同的环境,我们点击它安装即可。

10.6. 启动 Claude Code
这时候,我们在代码文件右上角看到了图标按钮 “Run Claude Code”:


然后在红色框框位置,就可以对它施号发令了。
11. 初体验 Claude Code
在一个空项目中,对于需求“帮我实现一个登陆功能,要界面美观大方活泼“,分别用 Claude Code 和 Cursor来实现。
11.1. Claude Code
新建一个空的WPF项目,目录位于C:\Users\wanbi\source\repos\WpfApp7,
然后启动 ubuntu :

通过命令 进入该项目目录,然后启动vscode:

在VSCode中,对它说一句 “帮我实现一个登陆功能,要界面美观大方活泼“,然后它的处理结果演示(右侧是ClaudeCode的处理过程):

在VS中看到的可视化效果如下:

编译结果:在不干预任何代码的情况下,连续出了4个错误,才成功跑起来:

与预期的差异:
整个安装过程比使用Cursor复杂相当的多,本来预想的是对于一个空项目,它可以完全无误地、创造性地有更多发挥的空间,可以一次性运行成功,但是连续出错4次,并且运行后的功能细节差很多,不能拖动,没有实现边角透明,录入提示连基本的对齐都没做到,甚至没有一个可以点击的登陆按钮,对于4次犯错,其实问题比较基础,但是每次它都调整的比较慢,用时比较久。比起整个复杂的部署过程,还是有些失望的。
11.2. Cursor
相同的命令让Cursor来实现:“帮我实现一个登陆功能,要界面美观大方活泼“(右侧是Cursor的处理过程):


结果:启动前出错2次,启动后出错1次,窗口可拖拽,实现的功能包含了更多的细节。

Claude Code 初体验 - Windows的更多相关文章
- Docker学习<一>--初体验Windows环境下安装
背景 今天想试用spring boot与jwt协议的实现,配套就需要使用redis,但redis似乎windows环境版本部署起来不是那么舒心,果断尝试使用docker. 下载 下载地址: 稳定版:h ...
- Windows Embedded Compact 7初体验
Windows Embedded Compact 7初体验 Windows Embedded Compact 7已经出来半年多了,一直没时间搞.最近它又出了Refresh的版本,电脑也换了个1T的硬盘 ...
- Windows Azure 初体验
最近看到windows azure 在做活动,只需花一块钱就可以体验一个月的windows azure. 于是,我就注册了一个账号也尝试一把云时代,传送门. 注册很简单的,成功后可以看到这个界面. 然 ...
- EF Code First 初体验
Code First 顾名思义就是先代码,再由代码生成数据库的开发方式. 废话不多说,直接来一发看看:在VS2010里新建一个空白解决方案,再依次添加两个类库项目:Model.DataAccess和一 ...
- FE—— Code First 初体验 01(转)
EF Code First 初体验 Code First 顾名思义就是先代码,再由代码生成数据库的开发方式. 废话不多说,直接来一发看看:在VS2010里新建一个空白解决方案,再依次添加两个类库项 ...
- 痞子衡嵌入式:走进二维码(QR Code)的世界(2)- 初体验(PyQt5.11+MyQR2.3+ZXing+OpenCV4.2.0)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是走进二维码(QR Code)的世界专题之初体验. 接上篇 <走进二维码(QR Code)的世界(1)- 引言> 继续更文,在 ...
- Microsoft IoT Starter Kit 开发初体验
1. 引子 今年6月底,在上海举办的中国国际物联网大会上,微软中国面向中国物联网社区推出了Microsoft IoT Starter Kit ,并且免费开放1000套的申请.申请地址为:http:// ...
- YII学习,初体验 ,对YII的一些理解.
先说点没用的: 不会选择,选择后不坚持,不断的选择.这是人生中的一个死循环,前两一直迷茫.觉得自己前进方向很不明朗.想去学的东西有很多.想学好YII,想学PYTHON 想学学hadoop什么的,又想研 ...
- cucumber java从入门到精通(1)初体验
cucumber java从入门到精通(1)初体验 cucumber在ruby环境下表现让人惊叹,作为BDD框架的先驱,cucumber后来被移植到了多平台,有cucumber-js以及我们今天要介绍 ...
- RPC框架基础概念理解以及使用初体验
RPC:Remote Procedure Call(远程服务调用) RPC是做什么的 通过RPC框架机器A某个进程可以通过网络调用机器B上的进程方法,就像在本地上调用一样. RPC可以基于HTTP或者 ...
随机推荐
- RAFT光流估计
RAFT Introduction RAFT: Recurrent All-Pairs Field Transforms for Optical Flow:观其名便知道这是一篇关于光流估计的论文. 模 ...
- 利用标准IO函数接口实现计算一个本地磁盘某个文件的大小,文件名通过命令行进行传递
利用标准IO函数接口实现计算一个本地磁盘某个文件的大小,文件名通过命令行进行传递 方法一:使用ftell函数直接获取光标偏移量 相关标准库函数 SYNOPSIS #include <stdio. ...
- 未给任务“SignFile”的所需参数“CertificateThumbprint”赋值.
问题重现 一个项目发布时错误如下错误: 解决方法 打开项目属性-签名 方式一 [取消勾选]为 ClickOnce 清单签名 - 简单粗暴 方式二 [勾选]为 ClickOnce 清单签名 创建测试证书 ...
- datasnap的Restful的接口方法
//Restful接口测试 //GET function Test(Value: string): string; //POST function updateTest(Value: string; ...
- 加减法计算在RB中的应用(比如计算库存)(should be equal as integers指令的使用)
订单测试过程中,对库存的校验是很关键的步骤 下面这个案例即实现对订单前后库存检查.公式计算.结果匹配,输出测试结果.具体脚本如下图 步骤如下: 1.获取订单前的库存 2.订单流程 3.获取订单后的库存 ...
- Go 切片的扩容规则是怎么样的
切片是动态数组,容量是根据元素动态增加的. 本来想看看源码怎么写的,发现切片追加元素的方法是内置的,看起来还挺麻烦 源码位于 builtin.go 中: // The append built-in ...
- Mysql数据库常用操作和Mysql大数据高效迁移方案
1.数据迁移: 1.数据量较少时可使用mysqldump和mysql命令导出和导入 # 导出指定数据库系统 mysqldump -u _username -p _dbname > _sqlfil ...
- vue报错:Property or method "xxx" is not defined on the instance but referenced during render.
vue报错:Property or method "attendanceDetaill" is not defined on the instance but referenced ...
- hadoop集群搭建(亲测笔记)
------步骤: 准备3台机器 同步时间 配置主机名 配置主机名ip映射 免密登录 关闭防火墙 搭建zookeeper集群 搭建hadoop 准备3台机器 我通过VMware workstation ...
- ES-问题:memory locking requested for elasticsearch process but memory is not locked
错误信息: [2019-11-21T00:29:51,557][ERROR][o.e.b.Bootstrap ] [elk-1] node validation exception ...