我喜欢vim,并希望继续使用它来进行Web开发,尽管我正努力使用需要进行自动补全的正确库来设置.tern_project文件。我对JavaScript相对陌生,但到目前为止,它使学习变得更加容易。

我找不到很多示例,并且尝试阅读documentation,但我对它的帮助还不够了解。到目前为止,我的.tern_project文件如下所示:

{
  "libs": [
    "browser",
    "ecma6"
  ],
  "plugins": {
    "requirejs": {
      "baseURL": "./",
      "paths": {}
    }
  }
}

我真的不知道插件是做什么的,但是我暂时把它们留在了库中,ecma6确实对我使用了所有数组方法(例如forEach等)都有帮助。现在我的问题是如何添加诸如console.table()之类的内容到自动完成功能?

我需要将哪个库添加到.tern_project文件?

另外,我也乐于接受有关更好的Web开发环境的建议。

最佳答案

  • 此时,您所拥有的只是tern的默认完成!!!您的.tern_project对tern建议的完成没有任何影响,因为tern配置文件是 .tern-project ;它的破折号不下划线。所以先重命名。

    .tern-project 是一个json配置文件,它通过两个属性告诉tern应该建议什么完成: libs 插件

  • 插件没什么不同,它们告诉tern还建议您除了libs外还建议您指定这些补全。

    例如,在您的.tern-project文件中,您选择使用requirejs插件。因此,如果您使用requirejs library(它是一个模块加载器)并帮助编写客户端模块化代码,则它会完成其他模块的变量,函数和方法。

  • 控制台是节点的全局节点。并且要完成节点的工作,您应该添加节点插件。因此您的.tern-project文件应类似于:
    {
      "libs": [
        "browser",
        "ecmascript"
      ],
      "plugins": {
        "node": {}
      }
    }
    

    请注意,我已使用ecmascript代替ecma6。在以前的版本中,tern具有ecma5ecma6库,但在最新版本中,这两个库合并在一个名为ecmascript的库中。

  • 可用tern 列表libs :
  • 浏览器
  • ecmascript
  • jQuery
  • 反应
  • 下划线

  • 您总是可以从tern js repository defs directory获取库的更新列表。

    可用的tern 插件列表:
  • commonjs
  • complete_strings
  • doc_comment
  • es_modules
  • 节点
  • requirejs
  • webpack

  • 您总是可以从tern js repository plugin directory获取更新的插件列表。

    随着您的JavaScript技能的增长,请添加并使用库和插件,并查看完成的内容。还要注意,您可能有多个.tern-project文件。 Tern将始终向上搜索到根目录并使用最接近的根目录。因此您可以根据项目配置完成。

    关于javascript - 在.tern_project文件中使用TernJS找出Vim自动完成的JavaScript库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41371789/

    10-09 17:24