精华内容
下载资源
问答
  • 一个sublime的插件,支持自动补全功能
  • sublime-text3-自定义代码补全

    千次阅读 2017-07-19 09:07:57
    自定义代码补全

    自定义代码补全

    打开sublime-text3 选择菜单栏:工具->新代码段 按以下模板填充。

    /*
    content:在CDATA中填补全内容
    tabTrigger:触发代码
    scope:文件类型
    description:描述信息
    下例为: 输入con按tab键 会补全为console.log();并将光标定位到()内。
    */
    <snippet>
        <content>
            <![CDATA[console.log(${1});]]>
        </content>
        <tabTrigger>con</tabTrigger>
        <scope>source.js</scope>
        <description>console</description>
    </snippet>

    写完后保存在安装目录Data/Packages/User 下面 如保存为:console.sublime-snippet。
    console是自己取的名字,
    sublime-snippet是后缀名。

    展开全文
  • 前言代码补全对于大多数开发人员来说是至关重要的,它可以有效的提高开发效率、减少拼写错误和输入代码量。我们使用的大多数开发工具都自带补全功能,或者可以通过安装插件具备补全功能。但是,以往的代码补全功能...

    前言

    代码补全对于大多数开发人员来说是至关重要的,它可以有效的提高开发效率、减少拼写错误和输入代码量。我们使用的大多数开发工具都自带补全功能,或者可以通过安装插件具备补全功能。但是,以往的代码补全功能主要基于语言本身的内置函数和上下文信息进行补全,而在候选项重要程度、代码块补全方面却不理想。与其说我们常用的自动补全工具的价值在补全方面,我更倾向于认为它的价值体现在提示

    近几年随着深度学习的抬头、火热,深度神经网络在学术领域有着很多最为先进的算法,并且在很多商业领域都得到应用。因此,有想法的研究者也尝试把深度学习引入开发工具中。

    在之前的一篇文章中,我介绍了一款人工智能自动补全工具Kite,它在自动补全效率、文档阅读等方面的确要优于绝大多数自动补全工具,而且配置简单。本文将介绍另外一款基于深度学习的自动补全工具--TabNine,虽然同是基于人工智能的开发工具,但是它们却有各自的侧重点。下面我就先介绍一下Kite与TabNine的区别,然后详细介绍一下TabNine的特点,各位根据自己的偏好选择其中一款进行配置。

    Kite与TabNine

    Kite与TabNine都是优秀的、基于人工智能的代码自动补全工具,相对于大多数自动补全插件,它都能让人感到非常惊艳,但是二者都有各自的侧重点,下面就来说一下Kite与TabNine各自的优点和缺点。

    Kite

    Kite更加倚重于预先存在的知识库,它是在预先存在的知识库上进行学习得到的补全经验,因此,不需要在开发过程中训练和学习,因此,它具备如下优点:

    • 补全速度快
    • 代码块补全功能强大
    • 简洁强大的文档阅读功能

    代码块补全功能强大为例,来说一下Kite的特点,对于大多数补全工具,包括TabNine在内,主要是补全接下来要输入的字符串,而Kite不仅可以补全字符串,还可以补全代码库。举个例子,我们要导入numpy模块,对于大多数补全工具,我们输入numpy的几个字母后,它会联想出完整的numpy,但是对于Kite,当输入import num,它会根据知识库中大多数使用者的习惯直接补全import numpy as np。同样,当我们导入matplotlib中pyplot时,当我们输入from matplotlib,它会补全from matplotlib import pyplot as plt,这样显然更加高效,节省代码量。

    没有哪个工具是完美无暇的,Kite也有缺点,我认为Kite是非常优秀的,甚至Python之父都对它赞不绝口,但是它也有3个缺点让我有点无法忍受,

    • 方案偏“重”
    • 支持语言单一
    • 占用资源

    首先说一下第一点,方案偏“重”。

    对于大多数补全工具,它们只是一个插件,比较轻量化,而Kite相对较重,需要预先下载、安装一个200M+的软件,除了在电脑上安装Kite之外,还需要在对应的编辑器/IDE安全Kite的插件,另外,每次使用Kite自动补全之前需要把Kite打开。所以,这一系列的配置、使用过程相对较“重”。

    其次说一下支持语言单一,Kite定位是一款Python自动补全工具,因此在很多特色方面都是针对Python进行优化,因此,支持语言相对单一。

    最后说一下占用资源,虽然Kite内存占用情况远远比不上Pycharm、IDEA这些臃肿的开发工具,但是在win10下也要占用将近400M的内存资源,对于大多数工具相对较高,如果电脑配置偏低,打开Kite会使得系统较为卡顿。

    TabNine

    a07bc3993ed7dd1e68f1a1a63e1cbc72.png

    和Kite不同,首先,TabNine是基于开发者过去的使用习惯进行补全,而不是预先的知识库,因此,当项目较小或者正在向其中添加新库时,它的效果不如Kite。当然,这是二者思想上的差异,TabNine之所以成功,自然有它的优点,

    • 轻量化
    • 配置简单
    • 支持语言丰富
    • 能够给出补全项的概率和地址

    给出补全项的概率和地址为例来说明一下TabNine的优点,TabNine在自动补全时会给出每个候选项的概率,并且按照概率大小进行排序,此外,会给出候选项的来源及地址,这样更加方便查询和阅读。

    另外,Kite在语言支持方面更加具有针对性,主要针对Python的自动补全,而TabNine支持的编程语言更加丰富,而不是针对某一特定语言。

    TabNine的缺点也非常明显,

    • 补全速度慢
    • 依赖语言服务

    首先说一下补全速度慢,TabNine在使用过程中需要大量的计算资源进行学习,因此它会带来高延迟。因此TabNine在专业版和企业版中提供了TabNine Cloud服务,提供GPU计算资源,当然,这都是需要付费的。

    其次说一下依赖语言引擎,TabNine默认情况是关闭语义补全的,如果要开启语义补全需要安装不同编程语言对应的服务,例如Python需要安装python-language-server,每一种编程语言都需要配置对应的服务,可以选择繁琐的手动配置,针对这一点TabNine也提供了较好的解决方案,在编辑器中输入TabNine::sem,它会自动开启语义补全在开启过程中会按照对应语言的服务。

    TabNine

    前面概括性的介绍了一下TabNine与Kite各自的优缺点,这里我就详细的介绍一下TabNine强大之处与原理。

    优势

    前面已经简单的介绍了TabNine的优点,

    • 轻量化
    • 配置简单
    • 支持语言丰富
    • 能够给出补全项的概率和地址

    这些非量化的评价指标不够直观,从另外一个可量化的指标来说一下TabNine的强大之处,

    • 支持22种编程语言
    • 支持7类编辑器

    支持的编程语言

    TabNine支持Python, JavaScript, Java, C++, C, PHP, Go, C#, Ruby, Objective-C, Rust, Swift, TypeScript, Haskell, OCaml, Scala, Kotlin, Perl, SQL, HTML, CSS和Bash这22种编程语言。

    支持的编辑器

    首先要注意,我前面所说的是7类编辑器,而不是7款,它支持vs code、IntelliJ、Sublime、Vim、Emacs、Atom、Jupyter Notebook共7类编辑器。

    其中IntelliJ是一个系列,其中包括IDEA、Pycharm、Android Studio等。

    Vim包括Vim(Deopleto)、Vim(Coc)。

    原理

    TabNine是基于OpenAI的GPT-2模型,在GitHub上200万个文件上进行训练得出,它的训练目标是通过之前给出的标记预测接下来的标记(token),为了实现这个目标,它学习了复杂的行为,例如动态类型语言的推断。

    然后说一下GPT-2模型,它是一个在自然语言领域名气不亚于BERT的网络模型,它使用了Transformer网络作为基础,这个模型最初是用于解决自然语言处理问题(NLP),尽管纯粹的自然语言和代码补全有很多不同之处,但是自然语言和代码补全在语义上还是有一些可借鉴的地方,例如对于英语的理解。TabNine就利用这一点用于代码补全中函数名、参数、返回类型等方面的推断。

    TabNine配置

    TabNine配置相对于Kite较为简单,只需要在简单的几步即可以完成。需要再重复一遍的是,TabNine默认是不开启语言补全的,如果要开启语义补全需要安装配置对应语言的服务、引擎,当然,这对于TabNine也很简单,只需要在编辑器输入TabNine::sem即可,TabNine支持vs code、IntelliJ、Sublime、Vim、Emacs、Atom、Jupyter Notebook共7类编辑器,我在这里就挑选几个使用较多的编辑器/IDE讲解一下。

    vs code

    方式一:手动安装

    d70e44ee6f27053ebddd74ce960d2153.gif
    1. 打开vs code
    2. 点击插件管理
    3. 搜索tabnine
    4. 点击安装

    这种方式比较简洁明了,首推这一种方法。

    方式2:命令安装

    1. 打开vs code
    2. 快捷键Ctrl+P
    3. 输入ext install TabNine.tabnine-vscode
    4. 确认

    IntelliJ Platform

    1. 打开设置
    2. 找到Plugins
    3. 在marketplace搜索TabNine安装

    Sublime Text

    caf1e0239bbefb6ba4a2817486792604.gif
    1. 快捷键Ctrl+Shift+P
    2. 输入Install Package
    3. 选择Package Control:Install Package
    4. 搜索TabNine确认

    Vim

    方式一:Vundle

    1. 首选需要配置插件管理器Vundle
    2. 在.vimrc中添加Plugin 'zxqfl/tabnine-vim'
    3. 随便打开一个vim,输入:PluginInstall

    方式二:Git

    1. 克隆项目git clone --depth 1 https://github.com/zxqfl/tabnine-vim
    2. 把set rtp+=~/tabnine-vim添加到.vimrc(~/tabnine-vim是克隆到本地的路径,需要根据自己的路径修改)

    TabNine命令配置

    就如同前面提到的,如果没有开启语义补全,需要在编辑器中输入命令开启语义补全,TabNine支持一些命令配置方式,主要有如下几个,

    1. TabNine::sem开启语义补全
    2. TabNine::no_sem关闭语义补全
    3. TabNine::config打开配置页面
    4. TabNine::version查看版本信息

    福利

    914aaea27fa59f63594019aa7f22451f.png

    我在公众号分享了Python、机器学习、计算机视觉、强化学习等领域相关的学习资源、电子文档。此外,还整理了一些高效的实用工具,如果需要可以关注公众号【平凡而诗意】,回复相应关键字获取~

    展开全文
  • sublime代码自动补全

    千次阅读 2018-07-14 08:47:23
    html标签自动补全,在preferences.sublime-settings里面加上:作者:茉花链接:https://www.zhihu.com/question/21628492/answer/131097215来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请...

    html标签自动补全,在preferences.sublime-settings里面加上:

    作者:茉花
    链接:https://www.zhihu.com/question/21628492/answer/131097215
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    "auto_complete_triggers":
    [
    {
    "characters": "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.<",
    "selector": "text.html"
    },
    {
    "characters": "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.<",
    "selector": "text.xml"
    },
    {
    "characters": "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.<",
    "selector": "text.php"
    },
    {
    "characters": "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.<",
    "selector": "text.css"
    },
    {
    "characters": "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.<",
    "selector": "text.js"
    }
    ],
    加上这个就好了

    智能提示插件有sublimeCodeIntel-master\Emmet Css Snippets\AndyJS2-master


    展开全文
  • 2 tab代码自动补全设置 (1)下载package control 下载链接 得到如下文件。 (2)安装package control 第一步:打开sublime --》 依次点击perference --》Browse package 第二步:导入package 第三步:重启...

    1 sublime下载

    官网下载

    在这里插入图片描述
    跟着步骤点击下一步即可。
    在这里插入图片描述

    2 tab代码自动补全设置

    (1)下载package control

    下载链接
    在这里插入图片描述
    得到如下文件。
    在这里插入图片描述

    (2)安装package control

    第一步:打开sublime --》 依次点击perference --》Browse package
    在这里插入图片描述
    第二步:导入package
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    第三步:重启一下sublime
    打开sublime --》preferences,出现如下两项,说明package导入成功。
    在这里插入图片描述

    (3)安装Emmet插件

    在这里插入图片描述
    在这里插入图片描述
    在安装插件的控制台点击并输入Emmet
    在这里插入图片描述
    安装完成即可实现代码自动补全。

    演示
    (html和java的代码自动补全)
    在这里插入图片描述

    展开全文
  • 机器之心报道Kite 是一个著名的 Python 代码补全工具,支持在一些 IDE 上作为插件,帮助开发者提升代码效率。Kite 官方宣布将会增加「Intelligent Snippets...
  • python的tensorflow代码补全慢,找不到想要的补全代码? 有一款能力强大、将深度学习应用于代码补全的产品,一款源自中国的工具——aiXcoder,它的研发者们来自于北京大学。 aiXcoder 支持 Java、C++/C、Python、PHP...
  • 近日,一位来自加拿大的大四学霸,开发了一款”Deep TabNine“代码补全工具,实现了这一大胆的想法。支持的语言它支持23种编程语言、5种编辑器,使用简单,效果惊艳。不少使用过的网友...
  • 利用sublimeCodeIntel插件可以实现自动提示python3代码、跳转追踪自定义函数、查看系统函数等.功能还是相当强大的。 选择 Perference -> Package Settings -> SublimeCodeIntel -> Settings-User ...
  • 跨平台支持Win/Mac/Linux,支持32与64位,支持各种流行编程语言的语法高亮、代码补全等…… 语法高亮、代码提示补全、代码折叠、自定义皮肤/配色方案、多便签页: SublimeText2 支持但不限于 C, C++, C#, ...
  •   今天小编推荐一款代码补全工具,堪称代码神器,他叫TabNine。   TabNine支持23种编程语言、5种编辑器,使用简单,效果惊艳。不少使用过的网友说:TabNine是他们用过的最好的代码补全工具,这是属于程序员的...
  • 近日,一位来自加拿大的大四学霸,开发了一款”Deep TabNine“代码补全工具,实现了这一大胆的想法。它支持23种编程语言、5种编辑器,使用简单,效果惊艳。不少使用过...
  • 原标题:大四学生开发AI代码补全神器:支持23种语言及5大编辑器 新智元原创来源:tabnine编辑:鹏飞【新智元导读】基于GPT-2的代码补全工具,支持23种编程语言和5种代码编辑器,几乎不需要配置安装即可使用,用过的...
  • 代码自动补全 目前版本的代码补全功能包括以下几项: gmt模块名称: 输入gmt然后按空格就会提示所有的gmt模块命令和相应的解释说明,可以按上下键进行选择,选中后按Tab键就可以自动补全命令。 图8: gmt模块自动...
  • 关于SublimeText如何快速设置代码自动补全,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。【推荐课程:SublimeText使用教程】 实现效果: 大家也可以通过以下链接下载所需要的版本。 ...
  • 本文以 Windows 7 64 位...成功搭建开发环境后,发现 LiteIDE 没有代码智能提示,这极为不方便啊~ 在 Githubnfs/gocode下载 gocode 源代码,重新编译成 exe 文件,覆盖 LiteIDE 的就行。 1,将下载的 gocode-maste...
  • 纯属个人娱乐,还是喜欢 pycharm ,毕竟代码补全和代码提示做的超级好。除了启动的时候慢一点,还需要建立一个工程才可以写代码,在某些情况下可能就是需要写几行测试代码,sublime 绝对是好的选择。 配置 python ...
  • Sublime插件

    2017-09-03 08:48:44
    Sublime插件使用记录 Python: 代码补全 SublimeCodeIntel Jedi - Python autocompletion Python编译 Tools->Build System->Python 然后Ctrl+B就可以编译当前python文件了
  • Facebook新发表的代码补全模型准确率超50%,动动手指就能写几百行代码! 代码补全(code AutoCompletion)就是在写代码的时候,IDE能够预测出下一段要写的代码,也是写代码时候选择使用IDE的重要原因。 最近的相关...
  • 1、安装Sublime Text 2 2、安装Package Control。 运行Sublime,按下 Ctrl+`(`在Tab键上边),然后输入以下内容: import urllib2,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404' + 'e330c659d4bb41d3bdf022e94...
  • 以前使用VisualStudio和Sublime代码的时候有很完善的代码提示,但是最近开始使用Eclipse弄JAVA的时候发现它的代码提示不是很习惯。上网找了一些资料,修改了代码提示的方式,记录在博客上供大家查阅。 本文主要...
  • sublime text 配置Java环境

    千次阅读 2018-07-30 15:18:37
    1.1 新建Java源文件 新建文本文件,编辑其中的字符,保存路径:D:\__code\test\Test.java。 public class Test { public static void main(String[] args) { System.out.println("Test 测试"); } }...
  • 假期因为疫情出不去,于是在家重新学习Java,实在不想使用Eclipse(太笨重),于是学习了一下使用Sublime编译运行Java,在网上看了几篇教程,做个总结记录一下。 1.安装好JDK并配置好环境变量 直接百度Java环境变量...
  • Sublime Text 官网:https://www.sublimetext.comSublime Text 是一款具有代码高亮、语法提示、自动补全且响应快速的轻量级编辑器,同时指出插件扩展,用它来编写代码,绝对是一种享受。现在我们要做的是把它扩展成...
  • 代码编辑器Sublime Text

    2016-02-24 22:44:30
    Sublime Text 是一个代码编辑器,也是HTML和散文先进的文本编辑器。漂亮的用户界面和非凡的功能,例如:迷你地图,多选择,Python插件,代码段等等。完全可自定义键绑定,菜单和工具栏等等.漂亮的用户界面和非凡的...
  • sublime text 3破解版在支持语法高亮、代码补全、代码片段(Snippet)、代码折叠、行号显示、自定义皮肤、配色方案等所有其它代码编辑器所拥有的功能的同时,又保证了其飞快的速度! sublime text 3 for 迷城拥有漂亮...
  • Sublime Text 是一个代码编辑器(Sublime Text 2是收费软件,但可以无限期试用),也是HTML和散文先进的文本编辑... Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定
  • { "shell_cmd": "javac \"$file\" &... java \"${file_base_name}\" && start cmd /c \"del /q /s \"$file_path\\*.class\"\"", "file_regex": "^(...*?):([0-9]*):?([0-9]*)", "selector": "source.java" }
  • 很多时候,我们仅仅需要输入一个空格、等号或一个分号结束,可有了代码补全,就会事与愿违了。比如我们想定义如下:String str;但在实际中当你敲完str时,按“;”,结果会变成:String string。那我们有没有办法来...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,682
精华内容 1,072
关键字:

java代码补全sublime

java 订阅