Mat*_*ski 14 javascript vim jquery autocomplete tern
我喜欢vim,并希望继续使用它进行Web开发,尽管我正在努力设置我的.tern_project文件,其中包含我需要自动完成的正确库.我对JavaScript比较陌生,但到目前为止我所做的更容易学习.
我找不到很多例子,我试图阅读文档,但我不知道它是否有用.到目前为止,我的.tern_project文件如下所示:
{
"libs": [
"browser",
"ecma6"
],
"plugins": {
"requirejs": {
"baseURL": "./",
"paths": {}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我真的不知道插件是做什么的,但我现在把它们留在了,在库中,ecma6真的帮助了我所有的数组方法(即forEach等).现在我的问题是如何将console.table()等内容添加到自动完成功能?
我需要将哪个库添加到.tern_project文件中?
此外,我愿意接受更好的Web开发环境的建议.
dNi*_*tro 36
在这一点上,你所拥有的只是tern的默认完成!您的.tern_project对tern建议的完成没有任何影响,因为tern配置文件是.tern-project ; 它的短跑不是下划线.所以先重新命名.
.tern-project是一个json配置文件,通过两个属性告诉tern它应该建议什么样的完成:libs和plugins.
插件与libs没有太大的不同,他们告诉tern除了lib之外还建议你指定这些完成.
例如,在.tern-project文件中,您选择使用requirejs插件.因此,如果您使用requirejs库作为模块加载器并帮助编写客户端模块化代码,那么它将完成其他模块的变量,函数和方法.
console是节点的全局.并且要完成节点内容,您应该添加节点插件.所以你的.tern-project文件应该是这样的:
{
"libs": [
"browser",
"ecmascript"
],
"plugins": {
"node": {}
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,我用来ecmascript代替ecma6.在以前的版本中,tern有ecma5和ecma6libs,但在最新版本中,这两个被合并在一个名为:的lib中ecmascript.
可用的燕鸥库列表:
您总是可以从tern js repository defs目录中获取更新的lib列表
可用的tern 插件列表:
您总是可以从tern js repository plugin目录中获取更新的插件列表
随着你的javascript技能的增长,你可以添加和使用libs和插件,看看你得到了什么完成.另请注意,您可以拥有多个.tern-project文件.Tern将始终向上搜索根目录并使用最近的目录.所以你可以在项目的基础上配置完成.