草庐IT

GitHub Copilot收费?不用怕!我用tabnine!

RetroFlux 2023-11-26 原文

GitHub Copilot经过1年的免费后,终于向资本家妥协,开始收费了。除了有两个月的试用期外,我们就不能使用了(其实注册很多邮箱无限试用也不是不行)。所以我们要找到一个替代方案,在这里,我想向大家推荐tabnine。

tabine官网:Code Faster with AI Code Completions | Tabnine 

接下来是如何使用上tabnine的教程

先点击官网中间的Get Tabnine,如下

 点击后出现下面的图像

如果你用哪一个IDE,就点击对应的IDE

然后会出现如何安装tabnine的教程,以VS code为例,先在VS code拓展中搜索tabnine,再点击Install,安装完后重启VScode

重启之后,在VScode中会出现要登录tabnine的提示,如下(有时会自动弹出登陆提示,有时候不会,没有的时候要自己登陆)

点击人像后再点击如下选项

最后会打开网站,如下

如果你是第一次来就要注册,点击Sign up, 输入完个人信息后,注册成功后出现

 这时候如果用邮箱注册,就要验证邮箱,去自己邮箱找到邮件,类似下图

 点击中间网址,即可验证完毕。

这时候回到VScode,这时候下面横条左下角出现tabnine starter

 可以点击进去查看是否登录,头顶是用户名(tabnine的用户名)则成功,若显示Sign up,则点击登陆一下即可

tabnine用法

按键:如下蓝色字体,接受用Tab键 ,下一个用Alt+],上一个用Alt+[

 总结:对比GitHub Copilot,tabnine免费版其实功能比较弱,只能补全较为简单的代码,甚至在我的测试下,根本无法复原tabnine给出的示例,不知道是不是没给钱的原因,如果想订阅高级的服务,下面我给出两个的费用

GitHub Copilot:有报道称10美元/月,100美元/年,我在官网找到下面的图

Tabnine:有分一年还是一个月,订阅一年可以打八折

 对比一下,会发现GitHub Copilot还是要便宜点的,所以要买还是买GitHub Copilot吧!

功能对比

下面是Tabnine自己发的一个功能对比图(很明显有抬高自己的味道)

经过我的体验和价格对比,我还是比较推荐使用GitHub Copilot,除非GitHub Copilot真收起费来,而你却又想白嫖。

有关GitHub Copilot收费?不用怕!我用tabnine!的更多相关文章

  1. ruby - 为什么我用递归得到 "stack level too deep"? - 2

    我有这个ruby代码:defget_sumnreturn0ifn似乎正在为999之前的值工作。当我尝试9999时,它给了我这个:stackleveltoodeep(SystemStackError)所以,我添加了这个:RubyVM::InstructionSequence.compile_option={:tailcall_optimization=>true,:trace_instruction=>false}但什么也没发生。我的ruby版本是:ruby1.9.3p392(2013-02-22revision39386)[x86_64-darwin12.2.1]我还增加了机器的堆栈大

  2. ruby-on-rails - 使用 Ruby 正确处理 Stripe 错误和异常以实现一次性收费 - 2

    我查看了Stripedocumentationonerrors,但我仍然无法正确处理/重定向这些错误。基本上无论发生什么,我都希望他们返回到edit操作(通过edit_profile_path)并向他们显示一条消息(无论成功与否)。我在edit操作上有一个表单,它可以POST到update操作。使用有效的信用卡可以正常工作(费用在Stripe仪表板中)。我正在使用Stripe.js。classExtrasController5000,#amountincents:currency=>"usd",:card=>token,:description=>current_user.email)

  3. ruby-on-rails - 如果我有一个来自收费的 Stripe token ,我如何获得它的收费 ID? - 2

    现在我正在使用我的Rails应用程序成功收费,但我想获取有关交易的某些详细信息,例如商品购买的描述和信用卡的最后四位数字,以显示给用户他们的收据页面。我一直在查看文档,但实际上没有任何内容可以解释如何为应用提供token并取回charge_id,然后我可以使用它来获取有关费用的其他信息的哈希值。任何帮助都是巨大的。谢谢! 最佳答案 Stripe在对费用创建调用的响应中返回费用ID。如果您使用的是Ruby库,则可以执行以下操作来获取ID:require"stripe"Stripe.api_key=''charge=Stripe::Ch

  4. ruby-on-rails - 当我用 unicorn 启动我的 Rails 应用程序时出现奇怪的错误 - 2

    当我尝试使用unicorn启动我的Rails应用程序时,我遇到了这个非常奇怪的错误。有人以前见过这个吗?[root@Web01mp_app]#unicorn_rails-cconfig/unicorn.rb-Eproduction-D-d{:daemonize=>true,:app=>#,:unicorn_options=>{:config_file=>"config/unicorn.rb",:listeners=>[]}}Exception`Errno::ENOENT'at/usr/local/lib/ruby/1.8/fileutils.rb:243-Nosuchfileordir

  5. objective-c - 不用 Mac 学习 Objective C - 2

    我没有Mac或iPhone。然而,采用C并使其更加动态地朝着smalltalk、python或ruby​​的想法发展的概念对我来说确实很有吸引力。我很乐意从Objective-C开始。Objective-C只是C的语法超集还是真的像C。比如,它可以用gcc等编译吗?我的大部分编程都是用Ruby完成的。ObjectiveC似乎比C宽容得多。您可以在C中为Ruby编写native扩展。您可以在ObjectiveC中为Ruby编写native扩展吗?除了拥有Mac/iPhone和XCode之外,我如何开始使用ObjectiveC? 最佳答案

  6. 震惊!原来查找论文这么简单?再也不用担心组会不知道汇报啥了!计算机硕士新生人手必备不可不看 - 2

    目录一种简单上手的暴力论文分析方法——以区块链为例【含项目源码】太长不看版本:最终成果:情况说明论文推荐方面论文投稿方面以下是具体的实现,有其他研究方向想自行确定的请仔细阅读,授人以鱼不如授人以渔第一章、确定对象——研究热点的中国计算机研究生第二章、思路——基于爬虫结合关键字过滤暴力获取所需论文信息第一步:从CCF推荐目录中获取网址01、背景介绍02、数据预处理03、数据写入表格第二步:从中科院分区中获取期刊对应分区第三步:从期刊/会议对应网址中爬取到子网页并进入,获取到其中的标题、年份等信息第四步:针对获取到的表格数据进行分析和整理实际爬取数据量【其实就论文的标题+对应年份】

  7. javascript - 不用jquery的动画,左右滑动 - 2

    我想在显示时将div向左滑动,在隐藏时向右滑动,但我不想使用jQuery。有没有办法在不使用javascript库的情况下制作简单的动画并支持IE7和IE8?这是我的显示/隐藏js:functionshowHide(){varElliot=document.getElementById('Daniel').style.display;if(Elliot=="block"){document.getElementById('Daniel').style.display="none";}else{document.getElementById('Daniel').style.display

  8. javascript - 如何使用嵌套路由向页面添加内容而不用 react-router-v4 删除先前路由的内容? - 2

    我正在使用react-router-v4官方文档中提供的边栏示例作为灵感https://reacttraining.com/react-router/web/example/sidebar1-所以我的应用程序的初始URL将是:localhost:3000/search-page/Lists2-我有一个可点击链接列表,点击后会在边栏上显示点击数据,发生这种情况时,URL会更新:localhost:3000/search-page/Lists/itemList1selected3-然后我按下“显示列表编号2”按钮以显示新列表4-我的目标是使用嵌套路由,当我单击“列表编号2”中的链接时。它会

  9. javascript - 为什么我用javascript innerHTML调用我的图片不显示? - 2

    我是Javascript的新手,我正在尝试一些东西。我正在使用一个函数来使用innerHTML将图像加载到表格中。但是图像不会显示,除非我在函数底部调用alert("whatever"),然后它会在警报可见时显示。我使用的代码是这样的(该函数是从外部js文件调用的)functionshow(){document.getElementById('imageHolder1').innerHTML="";}picture``我不明白为什么它不起作用,我看过的所有示例都很相似,我看不出有什么大的不同。即使我尝试不使用该标签,它也不起作用。好吧,欢迎任何帮助!提前致谢,如果您对如何执行此操作有任

  10. javascript - 不用Webpack,在客户端使用Babel转译导入导出? - 2

    我可以使用Babel编译JSX并通过全局命名空间导出变量吗?我不想运行随机的Webpack服务器。我已经全神贯注于ES6、JSX、Babel和React,对另一个使如此简单的任务复杂化的库不在乎最终我想导出我的React类并导入另一个类。从理论上讲,它应该只在满足依赖项之前阻塞,我不明白这怎么可能是一种反模式,因为我的所有代码和外部依赖项都在本地缓存。这是的默认行为标签,只是不是varmessage="helloworld";console.log(message);//undefined我可以使用ES6导出和导入,但不能使用另一个随机文件服务器 最佳答案

随机推荐