在 Sublime Text 下获得完整的 JS 自动补全

IT技术 javascript sublimetext2
2021-03-05 10:59:05

我刚刚在 Windows Vista 下安装了 Sublime Text,甚至遵循了这篇文章中给出的建议,即明确设置View > Syntax > JavaScript > JavaScript,我只能看到基于我之前输入的内容的建议。我什至安装了SublimeCodeIntel 插件,但无济于事。

据我了解,在我编写“pars”的那一刻,我应该获得“parseFloat”和“parseInt”选项,就像在 Chrome 开发人员工具中一样,对吧?

谢谢!

6个回答

建议(基本上)基于当前打开文件中的文本以及您定义的任何片段或完成(ref)。如果你想要更多的文字建议,我建议:

作为旁注,我真的建议安装 Package control以充分利用 Sublime 社区。上面的一些选项使用包控制。我还强烈推荐tutsplus Sublime 教程视频,其中包含有关在使用 Sublime 时提高效率的各种信息。

我觉得那是 tutsplus 网站的广告。也许它最初不是,但我宁愿看到不在付费墙后面的链接答案。
2021-04-27 10:59:05
呵呵,是的,我看的时候这些都是免费的。更新答案以注意这些都在付费墙后面。
2021-05-02 10:59:05
基于精彩的 Emmet 工具包被点赞和接受!这是令人兴奋的。它对 JS 的了解并不像 Chrome 网络检查器那么多,但我想这不是一件坏事。(毕竟,我想增强我的肌肉记忆。)另一方面,Emmet 为您所做的工作令人惊叹!谢谢!
2021-05-03 10:59:05
但它不是免费的:/也许是更早的。
2021-05-09 10:59:05
很高兴它有帮助。我希望你最终能看完整个教程序列;里面有很多好东西。
2021-05-11 10:59:05

Ternjs 是一种让 JS 自动完成的新选择。http://ternjs.net/

崇高插件

Sublime Text 维护得最好的 Tern 插件叫做“tern_for_sublime”

还有一个名为'TernJS'的旧插件它是无人维护的并且包含几个与性能相关的错误,这些错误会导致 Sublime Text 崩溃,所以要避免这种情况。

我没有经历过,你用的是哪个包?我正在使用github.com/marijnh/tern_for_sublime
2021-04-21 10:59:05
我真的不认为这是“咸的”,但我确实想指出您的评论是不正确的,说我链接到的插件没有得到维护。因为它在 github 上有最近的更新。
2021-04-26 10:59:05
我建议使用我在答案和评论中提供的链接中的那个。它仍然保持着。
2021-04-28 10:59:05
我已经更新了评论,希望能减少/不咸:/在阅读这些评论时,希望人们不会被“绕开”,而是朝着正确的方向前进。
2021-04-28 10:59:05
崩溃 ST3。项目未维护。
2021-05-17 10:59:05

正如已经提到的,tern.js是一个有前途的新项目,其中包含适用于 Sublime Text、Vim 和 Emacs 的插件。我已经将TernJS 用于 Sublime一段时间了,我得到的建议比标准的要好得多:

在此处输入图片说明

Tern 扫描项目中的所有 .js 文件。您可以通过在 .sublime-project 文件中添加“libs”来获得对 DOM、nodejs、jQuery 等的支持:

"ternjs": {
    "exclude": ["wordpress/**", "node_modules/**"],
    "libs": ["browser", "jquery"],
    "plugins": {
        "requirejs": {
            "baseURL": "./js"
        }
    }
}

在此处输入图片说明

对于它的value,你说你使用“tern for sublime”但它链接到ternJS插件...... Tern for Sublime -> packagecontrol.io/packages/tern_for_sublime TernJS -> packagecontrol.io/packages/TernJS
2021-04-21 10:59:05
在最后一个示例中,我没有收到“src”建议 - 我刚刚安装了 (Sublime Text 3) 并使用了您的项目设置。
2021-04-25 10:59:05
我很惊讶您获得 selectedIndex 属性,因为 createTag 将返回一个 img HTTP 标记。另外, selectedIndex 属于一个选择 HTTP 标签,而不是 img 或其父元素。你会评论你是如何得到这两个建议的吗?我相信是因为你在其他文件中使用过它们,而不是因为 JsTern 有能力在运行时解析 createElement 调用。尽管如此,建议 selectedIndex 没有任何意义。
2021-04-29 10:59:05
是否支持 ES6 (ES2015) 风格的 javascript?
2021-05-09 10:59:05
是的,tern.js 项目站点包含支持的 ES6 功能列表
2021-05-15 10:59:05

有三种方法

  • 使用 SublimeCodeIntel 插件

  • 使用 CTags 插件

  • 手动生成 .sublime-completion 文件

这篇博文(我的)中详细描述了方法:http : //opensourcehacker.com/2013/03/04/javascript-autocompletions-and-have-one-for-sublime-text-2/

很好的方法,和我的很不一样。
2021-05-09 10:59:05

我开发了一个名为JavaScript Enhancements的新插件,您可以在Package Control上找到它它在底层使用Flow(来自 Facebook 的 javascript 静态类型检查器)。

此外,它提供了智能的JavaScript自动完成(相对于我的其他插件的JavaScript完井),实时错误代码重构,也有很多的功能有关创建,发展和管理的JavaScript项目

查看Wiki以了解它提供的所有功能!

可以在css-tricks.com文章中找到此插件的介绍将 Sublime Text 3 转换为 JavaScript IDE

只是一些快速截图:

嗨洛伦佐。我对你的项目很好奇,但我想知道在自定义完成方面我有哪些选择。基本上我想要像docu> documentdocument.que>document.querySelector等建议,但从来没有完整的函数调用像arr.forEa>那样的参数和多行arr.forEach((object,index,array) => { /* newline */ });,如果这有意义的话。我可以使用 Javascript Enhancements 禁用它而不必手动编辑所有完成文件吗?我现在禁用了所有完成,因为我对我的结构有点着迷。
2021-05-15 10:59:05