草庐IT

用GPT-4写代码不用翻墙了?Cursor告诉你:可以~~

小殊小殊 2023-04-20 原文

目录

一、介绍

二、使用方法

三、其他实例

1.正则表达式

 2.自动化测试脚本

 3.聊聊技术


一、介绍

        Cursor主要功能是根据用户的描述写代码或者进行对话,对话的范围仅限技术方面。优点是不用翻墙、不需要账号。Cursor基于GPT模型,具体什么版本不祥,有人说是GPT-4,但是官方没有证实,但这并不影响Cursor的强大。目前Cursor是免费的,但是偶尔会出现"Maximum Capacity",据我观察并不频繁;如果不想看见这个提示可以付费,每月20美金,具体怎么支付我就不介绍了,反正你也不会花钱。

        下载地址:Cursor | Build Fast

        Cursor可以干什么?

        1.写代码,可以写一些相对独立的逻辑代码块,实现一些逻辑算法是他的强项。

        2.改bug,无论是Cursor自己写的还是粘进去的代码都能改,把报错给他,它就可以自动改代码了,当然主要是改一些独立的算法或者逻辑比较优秀,如果你觉得改的不好,可以跟它聊聊,了解一下报错原因。

        3.对话,可以跟它聊技术方面的所有话题,回答基本靠谱,用于学习一些新的技术很友好。如果想撩他,你会得到下面的结果:

 

        4.值得注意的是Cursor本身并不具备某种语言的运行环境,让它写完代码还有乖乖粘贴到IDE中。

        5.如果Cursor的回答是英文的,不要找语言设置功能,因为没这功能,直接跟他说“用中文告诉我”就行。

二、使用方法

        Cursor页面很简洁,常用的就两个功能:写代码(Ctrl+K)和对话(Ctrl+L),我下面我举一个例子说明一下两种功能的用法,其实很简单。

         点击机器人图标,然后点击“Generate”按钮(Ctrl+K)

        输入你的需求,尽量把需求写的详细,如“用Pytorch+LeNet生成图像分类算法” ,Cursor随即开始生成代码。

        如果逻辑简单代码短就没有问题,如果代码太长没有生成完(如上图),可以选中最后一行然后Ctrl+K,输入“继续”,就可以生成完剩下的代码了。

         继续生成完的代码如下,点击Accept All就可以了。

         将代码复制到IDE中直接运行即可,但是在windows这段代码是报错的,报错信息如下:

         没关系,到Cursor中,全选代码然后Ctrl+K,将报错复制进去

         然后Cursor就会开始自己修改代码了。

         点击Accept All,代码改完就能运行了。

       如果想了解这个报错,不想让他直接改,代码全选然后Ctrl+L,将异常粘进去,可以看到解释。记得加一句“用中文解释这个报错”。

         解释如下:

         如果对某些代码不明白,也可以选中代码直接问他,如:

三、其他实例

        还有如下几个我用过的例子。

1.正则表达式

        这对我来说可以说非常实用了,我再也不用瞎编正则表达式了。我的输入是

用java写程序 功能是从html中提取出img和video的src属性

         结果如下:

 2.自动化测试脚本

        可以用Cursor生成一些简单的自动化测试脚本,如果有特别复杂的逻辑,则需要把逻辑写清楚,或者先用Cursor写一个骨架,然后自己继续写。比如我的输入是

用python+selenium写web页面测试脚本,被测试的页面有及格input元素,它们的id分别为 "user_name""email""address",其中 "user_name"和"email"是必填项,"address"是选填项,提交地址为http://xxx.com

        结果如下:

 3.聊聊技术

        我问了一些spring cloud方面小白的问题:

        Cursor还有很多应用场景,我只发现了冰山一角,更多精彩内容,需要自己发现咯。

        还想了解更多关于ChatGPT?跳转:ChatGPT应用场景与工具推荐

有关用GPT-4写代码不用翻墙了?Cursor告诉你:可以~~的更多相关文章

  1. ruby - 为什么我可以在 Ruby 中使用 Object#send 访问私有(private)/ protected 方法? - 2

    类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc

  2. ruby - 如何在 buildr 项目中使用 Ruby 代码? - 2

    如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby​​

  3. ruby - 使用 Vim Rails,您可以创建一个新的迁移文件并一次性打开它吗? - 2

    使用带有Rails插件的vim,您可以创建一个迁移文件,然后一次性打开该文件吗?textmate也可以这样吗? 最佳答案 你可以使用rails.vim然后做类似的事情::Rgeneratemigratonadd_foo_to_bar插件将打开迁移生成的文件,这正是您想要的。我不能代表textmate。 关于ruby-使用VimRails,您可以创建一个新的迁移文件并一次性打开它吗?,我们在StackOverflow上找到一个类似的问题: https://sta

  4. ruby-on-rails - Rails 源代码 : initialize hash in a weird way? - 2

    在rails源中:https://github.com/rails/rails/blob/master/activesupport/lib/active_support/lazy_load_hooks.rb可以看到以下内容@load_hooks=Hash.new{|h,k|h[k]=[]}在IRB中,它只是初始化一个空哈希。和做有什么区别@load_hooks=Hash.new 最佳答案 查看rubydocumentationforHashnew→new_hashclicktotogglesourcenew(obj)→new_has

  5. ruby - 我可以使用 Ruby 从 CSV 中删除列吗? - 2

    查看Ruby的CSV库的文档,我非常确定这是可能且简单的。我只需要使用Ruby删除CSV文件的前三列,但我没有成功运行它。 最佳答案 csv_table=CSV.read(file_path_in,:headers=>true)csv_table.delete("header_name")csv_table.to_csv#=>ThenewCSVinstringformat检查CSV::Table文档:http://ruby-doc.org/stdlib-1.9.2/libdoc/csv/rdoc/CSV/Table.html

  6. ruby - 我可以使用 aws-sdk-ruby 在 AWS S3 上使用事务性文件删除/上传吗? - 2

    我发现ActiveRecord::Base.transaction在复杂方法中非常有效。我想知道是否可以在如下事务中从AWSS3上传/删除文件:S3Object.transactiondo#writeintofiles#raiseanexceptionend引发异常后,每个操作都应在S3上回滚。S3Object这可能吗?? 最佳答案 虽然S3API具有批量删除功能,但它不支持事务,因为每个删除操作都可以独立于其他操作成功/失败。该API不提供任何批量上传功能(通过PUT或POST),因此每个上传操作都是通过一个独立的API调用完成的

  7. ruby-on-rails - 浏览 Ruby 源代码 - 2

    我的主要目标是能够完全理解我正在使用的库/gem。我尝试在Github上从头到尾阅读源代码,但这真的很难。我认为更有趣、更温和的踏脚石就是在使用时阅读每个库/gem方法的源代码。例如,我想知道RubyonRails中的redirect_to方法是如何工作的:如何查找redirect_to方法的源代码?我知道在pry中我可以执行类似show-methodmethod的操作,但我如何才能对Rails框架中的方法执行此操作?您对我如何更好地理解Gem及其API有什么建议吗?仅仅阅读源代码似乎真的很难,尤其是对于框架。谢谢! 最佳答案 Ru

  8. ruby - 有人可以帮助解释类创建的 post_initialize 回调吗 (Sandi Metz) - 2

    我正在阅读SandiMetz的POODR,并且遇到了一个我不太了解的编码原则。这是代码:classBicycleattr_reader:size,:chain,:tire_sizedefinitialize(args={})@size=args[:size]||1@chain=args[:chain]||2@tire_size=args[:tire_size]||3post_initialize(args)endendclassMountainBike此代码将为其各自的属性输出1,2,3,4,5。我不明白的是查找方法。当一辆山地自行车被实例化时,因为它没有自己的initialize方法

  9. ruby - 是否可以覆盖 gemfile 进行本地开发? - 2

    我们的git存储库中目前有一个Gemfile。但是,有一个gem我只在我的环境中本地使用(我的团队不使用它)。为了使用它,我必须将它添加到我们的Gemfile中,但每次我checkout到我们的master/dev主分支时,由于与跟踪的gemfile冲突,我必须删除它。我想要的是类似Gemfile.local的东西,它将继承从Gemfile导入的gems,但也允许在那里导入新的gems以供使用只有我的机器。此文件将在.gitignore中被忽略。这可能吗? 最佳答案 设置BUNDLE_GEMFILE环境变量:BUNDLE_GEMFI

  10. ruby - 模块嵌套代码风格偏好 - 2

    我的假设是moduleAmoduleBendend和moduleA::Bend是一样的。我能够从thisblog找到解决方案,thisSOthread和andthisSOthread.为什么以及什么时候应该更喜欢紧凑语法A::B而不是另一个,因为它显然有一个缺点?我有一种直觉,它可能与性能有关,因为在更多命名空间中查找常量需要更多计算。但是我无法通过对普通类进行基准测试来验证这一点。 最佳答案 这两种写作方法经常被混淆。首先要说的是,据我所知,没有可衡量的性能差异。(在下面的书面示例中不断查找)最明显的区别,可能也是最著名的,是你的

随机推荐