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的更多相关文章

  1. Docker学习<一>--初体验Windows环境下安装

    背景 今天想试用spring boot与jwt协议的实现,配套就需要使用redis,但redis似乎windows环境版本部署起来不是那么舒心,果断尝试使用docker. 下载 下载地址: 稳定版:h ...

  2. Windows Embedded Compact 7初体验

    Windows Embedded Compact 7初体验 Windows Embedded Compact 7已经出来半年多了,一直没时间搞.最近它又出了Refresh的版本,电脑也换了个1T的硬盘 ...

  3. Windows Azure 初体验

    最近看到windows azure 在做活动,只需花一块钱就可以体验一个月的windows azure. 于是,我就注册了一个账号也尝试一把云时代,传送门. 注册很简单的,成功后可以看到这个界面. 然 ...

  4. EF Code First 初体验

    Code First 顾名思义就是先代码,再由代码生成数据库的开发方式. 废话不多说,直接来一发看看:在VS2010里新建一个空白解决方案,再依次添加两个类库项目:Model.DataAccess和一 ...

  5. FE—— Code First 初体验 01(转)

    EF Code First 初体验   Code First 顾名思义就是先代码,再由代码生成数据库的开发方式. 废话不多说,直接来一发看看:在VS2010里新建一个空白解决方案,再依次添加两个类库项 ...

  6. 痞子衡嵌入式:走进二维码(QR Code)的世界(2)- 初体验(PyQt5.11+MyQR2.3+ZXing+OpenCV4.2.0)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是走进二维码(QR Code)的世界专题之初体验. 接上篇 <走进二维码(QR Code)的世界(1)- 引言> 继续更文,在 ...

  7. Microsoft IoT Starter Kit 开发初体验

    1. 引子 今年6月底,在上海举办的中国国际物联网大会上,微软中国面向中国物联网社区推出了Microsoft IoT Starter Kit ,并且免费开放1000套的申请.申请地址为:http:// ...

  8. YII学习,初体验 ,对YII的一些理解.

    先说点没用的: 不会选择,选择后不坚持,不断的选择.这是人生中的一个死循环,前两一直迷茫.觉得自己前进方向很不明朗.想去学的东西有很多.想学好YII,想学PYTHON 想学学hadoop什么的,又想研 ...

  9. cucumber java从入门到精通(1)初体验

    cucumber java从入门到精通(1)初体验 cucumber在ruby环境下表现让人惊叹,作为BDD框架的先驱,cucumber后来被移植到了多平台,有cucumber-js以及我们今天要介绍 ...

  10. RPC框架基础概念理解以及使用初体验

    RPC:Remote Procedure Call(远程服务调用) RPC是做什么的 通过RPC框架机器A某个进程可以通过网络调用机器B上的进程方法,就像在本地上调用一样. RPC可以基于HTTP或者 ...

随机推荐

  1. RAFT光流估计

    RAFT Introduction RAFT: Recurrent All-Pairs Field Transforms for Optical Flow:观其名便知道这是一篇关于光流估计的论文. 模 ...

  2. 利用标准IO函数接口实现计算一个本地磁盘某个文件的大小,文件名通过命令行进行传递

    利用标准IO函数接口实现计算一个本地磁盘某个文件的大小,文件名通过命令行进行传递 方法一:使用ftell函数直接获取光标偏移量 相关标准库函数 SYNOPSIS #include <stdio. ...

  3. 未给任务“SignFile”的所需参数“CertificateThumbprint”赋值.

    问题重现 一个项目发布时错误如下错误: 解决方法 打开项目属性-签名 方式一 [取消勾选]为 ClickOnce 清单签名 - 简单粗暴 方式二 [勾选]为 ClickOnce 清单签名 创建测试证书 ...

  4. datasnap的Restful的接口方法

    //Restful接口测试 //GET function Test(Value: string): string; //POST function updateTest(Value: string; ...

  5. 加减法计算在RB中的应用(比如计算库存)(should be equal as integers指令的使用)

    订单测试过程中,对库存的校验是很关键的步骤 下面这个案例即实现对订单前后库存检查.公式计算.结果匹配,输出测试结果.具体脚本如下图 步骤如下: 1.获取订单前的库存 2.订单流程 3.获取订单后的库存 ...

  6. Go 切片的扩容规则是怎么样的

    切片是动态数组,容量是根据元素动态增加的. 本来想看看源码怎么写的,发现切片追加元素的方法是内置的,看起来还挺麻烦 源码位于 builtin.go 中: // The append built-in ...

  7. Mysql数据库常用操作和Mysql大数据高效迁移方案

    1.数据迁移: 1.数据量较少时可使用mysqldump和mysql命令导出和导入 # 导出指定数据库系统 mysqldump -u _username -p _dbname > _sqlfil ...

  8. 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 ...

  9. hadoop集群搭建(亲测笔记)

    ------步骤: 准备3台机器 同步时间 配置主机名 配置主机名ip映射 免密登录 关闭防火墙 搭建zookeeper集群 搭建hadoop 准备3台机器 我通过VMware workstation ...

  10. 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 ...