问题标签 [tern]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2719 浏览

node.js - 无法在 Emacs 中启动 Tern 服务器

我有最新版本的 Emacs 和Tern,但我在使用插件时遇到了问题。当我使用任何与 Tern 相关的命令时,我会从编辑器中获取此命令:

据我所知,Tern 使用 NodeJs 来完成它的工作,我也有最新版本的 NodeJs,但我不知道为什么会出现这个错误。

0 投票
2 回答
2105 浏览

javascript - ternJS - 生成 JSON 类型定义文件

ternJS有几个。JSON 文件defs包含库的定义。有人可以向我解释如何最好地为我的 javascript 库/或仅定义对象生成我自己的吗?

我看不出有没有通用的程序呢?

0 投票
1 回答
223 浏览

javascript - tern_for_vim (ternjs) 返回 403 拒绝访问

尝试使用YouCompleteMe + TernJS在 MacVim 中完成 JavaScript 完成。

我遵循了两个插件的安装说明(我使用 Vundle 来管理 vim 插件),其中包括./install.sh在 YCM 插件文件夹和npm installTernJS 插件文件夹内的运行脚本。两者的安装似乎都已成功完成。

但是,当我键入时,我没有得到任何 JS 完成;如果我尝试手动触发 TernJS 中的某些内容(例如:TernDef),我会从本地 TernJS 服务器返回一个 HTML 错误页面,指示 403 Access Denied 错误。

如果我使用 sudo 启动 MacVim(例如。sudo mvim);一切似乎都很好。

此外,没有 sudo,我可以手动将 JSON 文档发布到 TernJS 服务器(在 vim 之外)并获得有效的响应。

我正在运行 MacVim 7.4.71(通过 Homebrew 安装;使用 python 支持编译)和节点 0.10.21(也通过 Homebrew 安装)。

关于我可以检查什么的任何想法,这样我就可以完成 TernJS 而无需使用 sudo 来启动 MacVim?

0 投票
4 回答
2524 浏览

emacs - Tern auto-complete won't start automatically

When I enter "pars" in Emacs js-mode buffer and type tern-ac-complete, I get the desired result: list of completion candidates + the documentation next to the candidate.

However, I cannot get Tern completion to be triggered automatically. The ac-auto-start is set to 3 and the auto-complete works as expected for other cases (my dictionary file, the words I already typed in, jquery-doc, etc.)

0 投票
0 回答
171 浏览

emacs - Symbol 作为变量的值是 void:ac-source-tern-completion

在 Emacs 中升级包和删除过时的包之前,我可以正常使用点补全和 tern-ac-complete。现在每次我尝试使用这两个命令时,我都会收到错误消息

Symbol 作为变量的值是 void:ac-source-tern-completion

先感谢您!

0 投票
1 回答
404 浏览

javascript - 如何在 sublime 3 中为 tern-js 设置跳转到方法定义键绑定

我已经为 sublime 3 安装了tern-js插件,但是由于某种原因,根据文档,我无法使其命令与 sublime 的键绑定(我是 sublime nube btw)一起工作。ternjs_jump_to_definition应该是一个有效的命令。

所以我把它放在默认(OSX).sublime-keymap文件中:

我也把这个..仍然没有工作:

知道出了什么问题吗?我知道安装了 tern-js .. 因为键入代码完成实际上有效Ctrl+Space

知道我做错了什么吗?我只想输入 command+ctrl+j 跳转到方法定义。

我还查看了默认的 sublime 3 跳转到方法定义(即 alt+command+down),即使我将库添加到项目中,它也仅适用于同一个文件。(我正在使用mapbox ,它在leaflet之上工作)。

在此处输入图像描述

0 投票
0 回答
646 浏览

javascript - 如何在命令行上运行 Tern?

我想试验一下Tern 项目,包括它的AngularJS 扩展。我正在尝试在命令行上运行 Tern,但它只是失败了,如下所示:

module.js:340 抛出错误;^ 错误:在 Function.Module._resolveFilename (module.js:338:15) 在 Function.Module._load (module.js: 280:25) 在 Function.Module.runMain (module.js:497:10) 在启动时 (node.js:119:16) 在 node.js:902:3

我觉得从 Cygwin 执行此操作可能存在问题。更明确地说,我将“tern/bin”目录放入我的路径并从新的 shell 运行“tern”。我已经更新了上面的错误信息,只是将我的用户 ID 更改为“myuid”。“C:\c\users...”的路径看起来很时髦。某些东西没有从 cygwin 路径正确转换为 Windows 路径。

请注意,我使用相同的 Node 安装来运行基于 Karma 的 javascript 单元测试,无论是从命令行进行交互式调试,还是从 Maven 构建脚本,都在 Cygwin shell 中。

0 投票
2 回答
1724 浏览

javascript - CodeMirror with Tern - 使用 Javascript Intellisense 自定义“类型”

tern用来为运行 的窗口提供一些增强的智能感知CodeMirror,它工作正常,但我有一个问题,我想添加一些自定义“ types”,可以这么说,以便它们旁边可以有图标在下拉菜单中。我已经把代码缩小了一点......

.json定义文件中,类型似乎是使用!type指令声明的,如下所示;

这些与 , 有点对应CSS,像这样。

好吧,这一切都很好。我可以设计那些,没问题。但是我想添加一些我自己的,并且很难做到这一点。例如,如果我只是这样做...

它只是导致整个事情不起作用;就像tern只是说nope nope nope什么,什么都不做。我已经尝试了几个小时,并且已经真正挖掘了源代码,但无法真正找到一种方法来组成我自己的类型。我想简单地给这个特定代码编辑器的用户(它不会是“完全”的 javascript,它将是 javascript,但有一些愚蠢的文字,因为它们不是编码器)一些简单的标志,使其更容易在他们。

欢迎任何建议!感谢您的时间。

更新

根据用户的要求,我发布了更多代码以尝试获得更多帮助。这就是我要的; 我有一个.json定义对象布局的文件。该对象将镜像一个实际的 C# 对象/数据库对象。(那部分不重要,只知道我有一个特定的模型)

我也在使用默认的 ternecma5.jsonjquery.jsondef 文件。在这里可以找到它们;

https://github.com/marijnh/tern/blob/master/defs/ecma5.json https://github.com/marijnh/tern/blob/master/defs/jquery.json

所以当用户点击CTRL+SPACE并看到时CHARACTER,我希望它CHARACTER旁边有一个 [] 类型。所以我认为第一步是指定字符作为类型。

character.json

发生了什么是以下屏幕。

ctrl+space 将字符定义为类型

现在我试图追查这一点,我发现了一个typeToIconaddons/tern.js(不是实际的 tern 文件,插入 codemirror 的插件文件)中调用的函数

所以我虽然AHA! This is it!!,所以我想我可以在这里添加我的类型。

我添加console.log(type);到函数中以查看输出是什么样的。虽然这从未触发,即使我点击CTRL+SPACE,我也从未看到控制台输出,所以它告诉我没有到达此代码。我不得不走得更远。

我找到了一个名为TypeParserin的函数def.js,它是实际 tern 下载的一部分。

将控制台日志放在这里给了我一些结果,它们看起来像许多可用的类型,并且在jquery.json和中定义ecma5.json

据我所知,我完全不知道如何进行。

0 投票
1 回答
1514 浏览

vim - 在 HTML 文件中使用 tern_for_vim 插件

我正在尝试设置tern_for_vim插件以在 JavaScript 中具有很好的自动完成功能。在编辑“.js”文件时,“Ctrl+X Ctrl+O”给出了很好的语义结果,拿起了“backbone.js”和其他库。但是,当我在 HTML 文件中编辑 JS 块时,这不起作用,我只看到基于缓冲区的标准完成。我不知道有什么问题。如何解决这个问题?

0 投票
1 回答
751 浏览

codemirror - CodeMirror - styling Tern intellisense labels

I'm using the Tern plugin for CodeMirror, which adds intellisense features to the editor (i.e. pops up inline hint-labels).

I want to change the hint-labels style, how to do so?