vscode 的 AI 协助插件 Tabnine / Codeium

4.1、Tabnine

  • 描述:Tabnine 是一款基于深度学习技术的代码自动补全工具。该插件支持多种编程语言,包括 Python、JavaScript、TypeScript、Java 和 Go 等。它可以根据您输入的代码段和上下文信息,预测并推荐可能的代码补全选项,从而提高编写代码的效率。

  • 优点

l 在预测代码补全选项方面非常准确。

l 支持多种编程语言,并提供了丰富的 API 文档和样例代码。

l 可以在本地运行,不需要连接云服务

  • 缺点:

l 普通版本:代码提示功能很少。

l Pro版本:对于一些复杂的代码补全选项,也需要长时间进行预测,且每月收费$11。

l 如果是离线模式,内存占用非常高(我会经常把它禁用掉),对数据安全没有疑虑的开发者可以考虑远程服务模式

4.2、Aixcoder

  • 描述:Aixcoder 是一款基于机器学习技术的智能代码补全工具。该插件支持多种编程语言,包括 C++、Python、Java、JavaScript 和 TypeScript 等。它可以根据您的代码上下文信息,为您提供精准的代码补全建议,从而快速提高编码效率。

  • 优点:

l 支持多种编程语言。

  • 缺点:

l 识别率很低;经常识别不出来需要提示的内容。

l 对于复杂度高点的代码补全选项;需要的时间更长。

4.3、Codeium

  • 描述:Codeium 是一款能够将您的代码转换成可视化图表的插件。该插件支持多种编程语言,包括 JavaScript、Python、Java 和 C++ 等。它提供了单行或多行代码生成、内置聊天和搜索等核心功能。

  • 优点:

l 代码智能提示:Codeium能够实时智能提示代码,代码提示完全基于人工智能自动完成,生成速度快,延时较低,帮助程序员更快地编写代码。

l 代码自动完成:Codeium能够自动完成代码,减少程序员的敲击次数,提高编码效率。

l 代码重构:Codeium可以自动重构代码,帮助程序员更好地管理和维护代码。

l 代码调试:Codeium内置了调试器,能够帮助程序员快速发现和解决代码中的问题。

l 版本控制:Codeium支持多种版本控制系统,包括Git、SVN等,方便程序员管理和维护代码。

l 团队协作:Codeium支持多人协作开发,能够提高团队的工作效率。

l 代码分析:Codeium能够对代码进行分析,帮助程序员发现和解决代码中的潜在问题。

l 智能搜索:Codeium可以对程序员的搜索关键词进行智能分析和推荐,帮助程序员更快地找到他们需要的信息。

l 人工智能聊天:Codeium拥有人工智能聊天的功能,可以回答程序员的问题和提供技术支持,帮助他们更好地应对编程和计算机科学方面的挑战。

l 对于复杂的、陈旧的代码片段;它可以提供相应的代码注释和解释功能。

l 高级版本可私有化部署(收费)

l 对于个人用户完全免费。

  • 缺点:

l Search模块目前只适配了Vscode

l 可能需要科学上网;需要登陆后使用

l 高级版本收费信息还在订阅中。
Codeium在vscode中的集成使用步骤及体验详情如下:
备注:实验基于Vue2.x;Vscode V1.78.2版本
5.1、在 VSCode 上安装(推荐)步骤如下:
5.1.1、在Visual Studio Code中,点击扩展选项卡并搜索“Codeium",安装扩展。
安装完扩展后,不用重启VS Code。

5.1.2、登录
在下图左侧1号位置的图表就是Codeium扩展入口,点击即可打开,第一次使用需要登录Codeium账户。

默认装完插件在右下角2号位置处会弹窗提示登录Codeium账户,直接进入注册/登录即可。

如果没留意,弹窗几秒消失之后,可以从下图3号位置处点击个人账号最下面有个菜单【使用Codeium Auth登录】从这里打开网页登录即可。

这样整个安装步骤就完成了。

5.2、Codeium功能介绍和用法介绍
5.2.1、可以ai聊天(支持中文对话);询问编码思路之类的
5.2.2、对于老代码没有注释的;可以用它辅助添加注释
5.2.3、对方法的解释
5.2.4、代码补全;学习上下文逻辑,补全代码
5.2.5、根据注释写代码
5.2.6、其他功能(绿色背景表示比较有用的功能)
v 向代码中添加注释和文档字符串

v 给方法添加添加日志记录语句,以便轻松调试

v 可以精简代码;删除调试语句,提高代码可读性;并解释清理废弃代码原因。

v 用codeium精简后的代码,如下:

v 给出修改原因

v 大致意思:标准化变量名称;通过简化嵌套的if语句和删除不必要的缩进,提高了可读性。

v 检查诸如空指针引用、未处理的异常等错误

v 添加TODO语句

v 使此代码具有强类型;可以理解为将js转化为Ts;实例如下:

v 对方法的详细注释;有的甚至每一行一个注释;这样有点适得其反。

针对Codeium在实际编码过程中的使用体验,罗列如下:

1、个人开发中安装Codeium插件,可以辅助日常开发;在一个方法写完后,可以用Codeium检查和发现简单的错误(空指针、单词拼写等),及时改掉;如果有需要,可以用它辅助编写单元测试。

2、在日常开发中,遇到一些api不是很熟悉时,Codeium会根据上下文,给予代码提示、补全代码。

3、在维护老项目时,对于较长的方法,可以借助Codeium生成适当的注释说明,更加快速的接手和开发。

4、开发中,当遇到没思路时,可以询问Codeium的Chart,寻找灵感。

5、Codeium可以支持私有化部署(收费),保证了代码的安全性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/14010.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GitHub的原理及应用详解(三)

本系列文章简介: GitHub是一个基于Git版本控制系统的代码托管平台,为开发者提供了一个方便的协作和版本管理的工具。它广泛应用于软件开发项目中,包括但不限于代码托管、协作开发、版本控制、错误追踪、持续集成等方面。 GitHub的原理可以简单…

每周一算法:Prim算法求最小生成树

题目链接 [最短网络] 题目描述 Farmer John 被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场。当然,他需要你的帮助。 FJ 已经给他的农场安排了一条高速的网络线路,他想把这条线路共享给其他…

第4章 网络层

4.1网络层的功能 1.异网互联:使用路由器连接数据链路层和物理层均不同的网络。【路由器连接的设备物理层,数据链路层和网络层可以不同】 2.转发:从一个端口输入保存后选择另一个端口转发【微观】 3.路由选择:选择合适的路由线路【宏观】 4.SDN的基本概念: 数据平…

【shell】脚本案例2

shell案例: 选择mysql版本 在上面的示例中,没有办法在选择了水果后退出,它会一直让我们选择。如果我们希望选择后就退出,则需要在脚本添加 break 打印九九乘法表 打印三角形(10行10列) 循环输出0~10之…

目前流行的前端框架有哪些?

目前流行的前端框架有很多,它们可以帮助开发者快速构建高质量的前端应用程序。本文将介绍一些目前比较受欢迎的前端框架,并分析它们的优缺点。 React React 是一个由 Facebook 开发的开源前端JavaScript库,用于构建用户界面,尤其…

Ollama本地运行 Mistral-7B-Instruct-v0.3

Ollama本地运行 Mistral-7B-Instruct-v0.3 0. 引言1. 运行 mistral:7b-instruct-v0.3-q8_02. 简单问个问题 0. 引言 Mixtral 5月23日发布了 Mistral-7B-Instruct-v0.3,支持 function calling,今天简单运行一下。 1. 运行 mistral:7b-instruct-v0.3-q8_…

头歌03-最长公共子序列

给定两个无序的序列 X{x_1,x_2,⋯,x_m } 和 Y{Y_1,Y_2,⋯,Y_n } ,求 X 和 Y 长度最长的公共子序列。 序列的子序列是指:从给定序列中随意地(不一定连续)去掉若干个字符(可能一个也不去掉)后所形成的字符序列。如果序列…

【AI如何帮你编写测试用例并输出表格格式】

1、工具:顺便使用一款生成式AI即可,此处用的是ChatGPT,Kimi这两个工具试验。 2、首先要拿到需求文档,根据需求文档向AI发出如下指令(Prompt) “请根据下面这段需求,编写测试用例: …

在CentOS上手动配置静态IP地址及多网卡路由策略

在管理服务器时,手动配置静态IP地址是一项基本而关键的任务,尤其是在涉及多网卡的复杂网络环境中。静态IP配置确保了服务器的稳定访问,有助于避免由于IP地址动态变化引起的潜在问题。本文将探讨如何在CentOS系统中手动设置静态IP地址&#xf…

python从0开始学习(十二)

目录 前言 1、字符串的常用操作 2、字符串的格式化 2.1 格式化字符串的详细格式(针对format形式) ​编辑 总结 前言 上一篇文章我们讲解了两道关于组合数据类型的题目,本篇文章我们将学习新的章节,学习字符串及正则表达式。 …

字节跳动(校招)算法原题

大模型"价格战"越演越烈 昨天的 文章 提到,自从 5 月 15 号,字节跳动发布了击穿行业底价的豆包大模型后,各大厂家纷纷跟进降价,而且都不是普通降价,要么降价 90% 以上,要么直接免费。 今天是豆包…

【Linux】centos7下载安装Python3.10,下载安装openssl1.1.1

目录 centos7下载安装Python(版本3.10.14) (1)网页下载python压缩包,并解压缩 (2)编译安装 Python在make altinstall时,报错及解决 (3)将安装目录和可执…

2024电工杯数学建模A题思路+模型+代码

2024电工杯数学建模A题思路模型代码,开赛后第一时间更新,更新见文末名片 以下为2023年电工杯A提思路: A题: 电采暖负荷参与电力系统功率调节的技术经济分析。 典型住户电采暖负荷用电行为分析: a) 分析典型房间温变过程微分方程…

EM算法求解高斯混合模型参数公式推导

高斯混合模型介绍 高斯混合模型(Gaussian Mixture Model,简称GMM)是一种经典的概率模型,被广泛应用于数据挖掘、模式识别和机器学习等领域。它采用多个高斯分布组合来对数据进行建模,每个高斯分布对应于数据中的一个子…

ROCm上运行情感分析:使用卷积神经网络

15.3. 情感分析:使用卷积神经网络 — 动手学深度学习 2.0.0 documentation (d2l.ai) 代码 import torch from torch import nn from d2l import torch as d2lbatch_size 64 train_iter, test_iter, vocab d2l.load_data_imdb(batch_size)def corr1d(X, K):w K.s…

分布式任务调度内的 MySQL 分页查询优化

作者:vivo 互联网数据库团队- Qiu Xinbo 本文主要通过图示介绍了用主键进行分片查询的过程,介绍了主键分页查询存在SQL性能问题,如何去创建高效的索引去优化主键分页查询的SQL性能问题。 对于数据分布不均如何发现,提供了一些SQL…

C语言初阶——5操作符

一、算数操作符 除了% 操作符之外,其他的几个操作符可以作用于整数和浮点数。对于/ 操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除 法。% 操作符的两个操作数必须为整数。返回的是整除之后的余数。 1、类型转换 C语言…

Simplicity Studui V5 新安装后无法Product Updates

之前(2021年)在SiliconLabs官网下载了SSV5,安装包我也保存在硬盘了,最近换了台电脑安装SSV5后安装 SDK之前必须Product Updates,但死活安装不上,老是提示发生了错误。来来回回卸载安装几十遍,后…

每日新闻掌握【2024年5月24日 星期五】

2024年5月24日 星期五 农历四月十七 TOP大新闻 卫龙因缺斤少两致歉并开展自查 5月23日,卫龙官方账号发布致消费者的一封信。信中提到:针对近日消费者反馈的15g魔芋爽存在克重不足的情况我们表示诚挚的歉意。产品质量是卫龙的重中之重。卫龙已经与相关消…

瓦解信息茧房,IPWO打破“墙”的限制

国外与国内的网络之间隔着一道无形的“墙”,这面“墙”让我们避免了海外不法分子的窥视,保护了我们的网络隐私。但是,“墙”的存在同样阻止了我们访问全球网络,获取海外资源,形成巨大的信息茧房。 越来越多的人渴望撕开…