在.tern_project文件中使用ternjs弄清VIM自动完成的JavaScript库



我喜欢vim,并希望继续使用它来进行网络开发,尽管我正在努力地设置我的.tern_project文件,并使用我需要进行自动完成的正确库。我对JavaScript是相对较新的,但是到目前为止,我的学习变得容易得多。

我找不到很多示例,我试图阅读文档,但我知道足够多,无法有所帮助。到目前为止,我的.tern_project文件看起来像这样:

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

我真的不知道插件做什么,但我现在留下来了,在libs中,ecma6确实帮助我使用了所有数组方法(即foreach等)。现在我的问题是如何添加console.table()之类的内容以自动完成?

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

另外,我对更好的Web开发环境的建议开放。

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

    .tern-project 是一个JSON配置文件,它告诉Tern通过两个属性提出了什么完成: libs plugins 。<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<


  • 插件 libs 他们告诉Tern也建议您除了LIBS之外指定的这些完成。

    例如,您选择使用 requirejs 插件中的 .tern-prodject 文件。因此,如果您使用 requirejs 库,该库是一个模块加载程序,并有助于编写客户端模块化代码,则可以从其他模块中填写变量,函数和方法。


  • 控制台是节点的全局。要完成节点内容,您应该添加节点插件。因此,您的 .tern -project 文件应该是:

    {
      "libs": [
        "browser",
        "ecmascript"
      ],
      "plugins": {
        "node": {}
      }
    }
    

    NOTE 我使用了ecmascript代替ecma6。在以前的版本中,Tern具有ecma5ecma6 libs,但在最新版本中,这两个版本合并为一个lib: ecmascript

可用Tern libs 的列表:

  • 浏览器
  • ecmascript
  • jQuery
  • React
  • 下划线

您总是可以从Tern JS存储库DEFS目录

中获得更新的LIB的清单

可用Tern 插件的列表

  • Angular
  • commonjs
  • 完整_strings
  • doc_comment
  • es_modules
  • 节点
  • requirejs
  • webpack

您总是可以从Tern JS存储库插件目录中获取更新的插件列表

随着您的JavaScript技能的成长,请添加并使用LIBS和插件播放,并查看您获得的完成。另请注意,您可以拥有多个 .tern-prodject 文件。Tern将始终向上搜索到根目录,并使用最接近的目录。因此,您可以按项目配置完成。

最新更新