基于ai的代码漏洞检测_基于AI的所有语言的代码完成系统

TabNine是一款跨语言的AI代码补全工具,利用深度学习帮助开发者更快、更轻松地编写代码。它在理解代码模式后提供自定义建议,支持多种IDE如VS Code、IntelliJ等。通过示例展示了其注释驱动的代码完成、类扩展、函数参数自动补全等功能,提高编程效率。
摘要由CSDN通过智能技术生成

基于ai的代码漏洞检测

救援时的深度学习。 在本文中,我将讨论TabNine ,这是一种适用于所有语言的AI代码完成系统,重点是JavaScript。

TabNineCodota拥有和运营的插件 ,后者还提供Java代码完成功能的插件。


什么是TabNine?

TabNine帮助开发人员使用一些魔术来编写代码。 它基于深度学习系统,可帮助您编写代码:

  • 快点
  • 更轻松
  • 清洁器

它是主要IDE的免费 (是, 免费 )插件,例如:

  • IntelliJ
  • 药香
  • VS代码
  • 升华
  • IntelliJ
  • 暴风雨
  • VIM
  • 原子

和许多其他:

它是如何工作的?

TabNine为您的代码建立索引并找到统计模式,以根据您自己编写代码的方式创建自定义建议。

请看以下示例:

如图所示,TabNine在编写它时会自动学习我的变量声明模式,并建议我与我将要编写的代码最匹配。 这样,如果使用定义良好的命名约定,则可以加快变量声明的速度。

TabNine在编写时提供了不同的解决方案,并根据他找到的最佳匹配项显示一个百分比值:

这是一个简单的示例,展示了TabNine如何帮助您编写代码,接下来的示例将展示此惊人工具的更复杂且类似于普通的用例!

注意:本文是用MarkDown编写的,TabNine正在帮助我编写它! 太酷了!


安装

TabNine是一个IDE插件,因此安装过程取决于您使用的IDE。 我将展示一些最常用的IDE的安装过程:

Visual Studio Code按CTRL + P打开命令提示符,运行以下命令:

ext install TabNine.tabnine-vscode

手动或通过安装后提示重新加载VS Code。 IntelliJ Idea按Ctrl + Alt + S打开设置弹出窗口在Plugins / Marketplace Search TabN下并安装手动重新加载IDE 您只需搜索并安装TabNine的 AtomUnder 软件包

您可以在此处检查其他IDE的安装过程。

例子

让我们深入了解如何使用TabNine以及为什么 。 我可以向您展示很多示例,但我将重点介绍一些特定的用例。

注释驱动的代码完成

使用TabNine,我们可以使用jsdoc来动态生成函数和复杂对象。 首先定义接口,然后定义实现,这可能会很有用。

以这个例子为例,我们要定义一个求和函数:

/**
 * @description return a sum between a and b
 * @name        sumBy
 * @param       {number} a
 * @param       {number} b
 * @return      {number} the sum between a and b
 */

TabNine将阅读jsdoc参数,并建议您正确的代码定义。
我可以输入Alt +空格键(或Tab键)来编写函数:


类的发展和扩展

您也可以将此工具与类定义一起使用。 举个例子:

/**
 * @description Animal class
 */
class Animal  {
  /**
   * @constructor
   * @param {string} name - name of the animal
   * @param {boolean} quadruped
   */
  constructor (name, quadruped) {
    this .name = name;
    this .quadruped = quadruped;
  }

  /**
   * @description returns the name of the animal
   * @returns {string} - name of the animal
   */
  get name() {
    return this .name;
  }

  /**
   * @description sets the name of the animal
   * @param {string} name - name of the animal
   */
  set name(name) {
    this .name = name;
  }
}

我们想用Cat类来扩展这个基本类,TabNine将学习Animal类并建议方法实现和注释:

功能参数自动补全

通常,在Javascript中,不键入就很难完成函数参数。 TabNine在这种情况下很有用,因为它可以从您的代码中学习并建议方法实现:

TabNine会自动显示方法sumBydiffBy的参数,因此您不必直接检查方法实现即可检查方法接受的参数类型。

TabNine和打字稿

TabNine行为在JavaScript和TypeScript之间没有太多区别。 由于键入,TabNine将为您提供更精确的建议,因此将获得类型赋予您的代码的所有优点:

如您所见,与foo函数相比,我以不同的顺序和类型定义了param1param2param3
TabNine正在识别变量类型并向您建议正确的顺序。

谢谢:

  • Codota让我写这篇文章并成为他们的一个了不起的项目
  • clideo.com ,一个很棒的在线视频编辑工具(您也可以用它制作模因mes)
  • onlineconverter.com ,将视频转换为GIF等等!


翻译自: https://hackernoon.com/an-ai-based-code-completion-system-for-all-languages-a12g3y3y

基于ai的代码漏洞检测

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值