16

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

我能找到的例子并不多,我已经尝试阅读文档,但我知道的不够多,无法提供帮助。到目前为止,我的 .tern_project 文件如下所示:

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

我真的不知道插件的作用,但我暂时将它们留在了库中,在库中,ecma6 确实帮助我处理了所有数组方法(即 forEach 等)。现在我的问题是如何将诸如console.table()之类的东西添加到自动完成中?

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

此外,我愿意接受有关更好的 Web 开发环境的建议。

4

1 回答 1

39
  • 在这一点上,你所拥有的只是 tern 的默认完成!!!您的.tern_project对 tern 建议的完成没有任何影响,因为 tern 配置文件是.tern-project;它的Dash没有下划线。所以首先重命名它。

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


  • 插件与它们告诉 tern 的没有太大区别,除了库之外,它们还建议您指定的这些完成。

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


  • 控制台是一个节点的全局。并完成节点的东西,你应该添加节点插件。所以你的.tern-project文件应该是这样的:

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

    请注意,我已经使用ecmascriptecma6. 在以前的版本中,tern hasecma5ecma6libs,但在最新版本中,这两个组合在一个名为: 的库中ecmascript

可用的 tern列表:

  • 浏览器
  • ecmascript
  • jQuery
  • 反应
  • 下划线

您总是可以从tern js 存储库 defs 目录中获取更新的库列表

可用的燕鸥插件列表:

  • 有角度的
  • 常见的
  • 完整字符串
  • doc_comment
  • es_modules
  • 节点
  • 需要js
  • 网页包

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

随着你的 javascript 技能的增长,去添加和使用库和插件,看看你得到了什么完成。另请注意,您可能有多个.tern-project文件。Tern 将始终向上搜索到根目录并使用最近的一个。因此您可以基于项目配置完成。

于 2016-12-29T10:23:16.237 回答