我正在尝试使用nodejs和tern打印自动完成js文件.Ternjs拥有我见过的最糟糕的文档.
var tern = require("tern")
var ternServer = new tern.Server({})
var requestDetails = {
"query": {
"type": "completions",
"file": "myfile.js",
"end": {"line":0,"ch":3},
"types":true,
"includeKeywords":true,
"sort":true,
"guess":true,
"docs":true,
"urls":true,
"origins":true,
"lineCharPositions":true,
"caseInsensitive":true
},
"files": [
{
"type": "full",
"name": "myfile.js",
"text": 'req'
}
]
}
ternServer.request(requestDetails, function(error, success){
console.log(success);
});
Run Code Online (Sandbox Code Playgroud)
它不工作,但如果我使用con它提供继续和const.但不是在那之后.在原子插件中,它提供了模块自动完成功能.我错过了什么.
这也是.tern-project文件
{
"ecmaVersion": 6,
"libs": [
"browser",
"jquery",
"requirejs",
"commonjs"
],
"plugins": {
"complete_strings": {
"maxLength": 15
},
"node": {},
"lint": {},
"doc_comment": {
"fullDocs": true,
"strong": true
}
} …Run Code Online (Sandbox Code Playgroud) 我喜欢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开发环境的建议.
我只是将Tern与我选择的编辑器集成在一起,到目前为止,这种体验非常令人难以置信.
然而,使体验更直观的一件事是能够利用我现有的前端和后端依赖管理系统(即文件bower.json和package.json文件),而不必.tern-project手动管理文件.
有没有现成的方法呢?
我已经安装了sublime_tern包来帮助我完成MeteorJS的开发.安装此软件包后,每次启动Sublime时我都会得到:plugin_host意外退出.我该怎么做才能解决这个问题?
我在版本1.1.0(快照)上使用Eclipse Mars和Tern IDE for ES6支持.我在箭头函数和const-exports上得到验证错误,如此屏幕截图所示:
我完成了这些描述,但错误不会消失:https : //github.com/angelozerr/tern.java/wiki/Tern-&-ECMAScript6-support https://github.com/angelozerr/tern.java/维基/燕鸥棉短绒
我不知道Tern插件真的支持什么,但是根据http://ternjs.net/上的文档,Tern应该支持自0.14以来的箭头功能.然而,github上的IDE页面只提到了类,导入和承诺支持(对于支持ES6的插件,这在我眼中是基本的).
是否有人使用Eclipse(或多或少)全功能支持开发ES6?我有点像独角兽......
我正在尝试设置tern_for_vim插件,以便在JavaScript中具有良好的自动完成功能.在编辑".js"文件时,"Ctrl + X Ctrl + O"会提供很好的语义结果,然后选择"backbone.js"和其他库.但是,当我在HTML文件中编辑JS块时,这不起作用,我只看到基于缓冲区的标准完成.我无法弄清楚问题是什么.如何解决这个问题?
我想在我的项目中设置tern-vim并点击此链接https://github.com/ternjs/tern_for_vim/blob/master/doc/tern.txt.安装完成后,我在项目的根目录下创建了一个.tern-project文件,如下所示.
{
"libs": [
"browser",
"jquery"
],
"loadEagerly": [
"importantfile.js"
],
"plugins": {
"requirejs": {
"baseURL": "./",
"paths": {}
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我用vim命令打开一个js文件时,我不能使用如下的任何tern命令:
|:TernDoc|...................... Look up Documentation
|:TernDocBrowse|................ Browse the Documentation
|:TernType|..................... Perform a type look up
|:TernDef|...................... Look up definition
|:TernDefPreview|............... Look up definition in preview
|:TernDefSplit|................. Look up definition in new split
|:TernDefTab|................... Look up definition in new tab
|:TernRefs|..................... Look up references
|:TernRename|................... Rename identifier
Run Code Online (Sandbox Code Playgroud)
我会得到Not an editor command错误.我是否需要进行任何其他配置?
我正在尝试将以下vim 模式行添加到我的全局.tern-config文件中:
// vim: set ft=json:
{
plugins: {
...
Run Code Online (Sandbox Code Playgroud)
但是,Tern 服务器无法启动,出现以下错误:
Failed to start server:
Bad JSON in /Users/XXXXX/.tern-config: Unexpected token / in JSON at position 0
Run Code Online (Sandbox Code Playgroud)
我怀疑这个错误的原因是JSON 缺乏对注释的支持。我应该注意到我的.eslintrc文件中的相同模式行有效。
如何在我的.tern-config文件中包含 vim 模式行?
我有最新版本的Emacs和Tern但我使用插件时遇到问题.当我使用任何与Tern相关的命令时,我从编辑器中获取此命令:
Wrong type argument: listp, "Could not start Tern server
env: node: No such file or directory.
"
Run Code Online (Sandbox Code Playgroud)
据我所知,Tern使用NodeJ来完成它的工作,我也有最新版本的NodeJ,但我不知道为什么会出现这个错误.
tern ×10
javascript ×4
vim ×4
json ×2
node.js ×2
app-config ×1
autocomplete ×1
eclipse ×1
ecmascript-6 ×1
emacs ×1
jquery ×1
sublimetext ×1
sublimetext2 ×1
sublimetext3 ×1