javascript - Emacs 在缓冲区中打印 javascript 对象属性或对象轮廓

标签 javascript emacs editor buffer

我有一个 javascript 对象,如下所示:

var myObj = {
    prop1 : 'abc',
    prop2: function(){
              return true;
           },
    prop3: function(){},
    ... // and so on
};

emacs 中有没有办法查看 myObj 拥有的所有属性的列表?我可以单击该属性,它会将我带到 javascript 文件中出现的位置。 M-x 发生 行中的某些内容,显示新缓冲区中出现的“可点击”事件。

我可以执行M-x list-js-props myObj,它会打开上述缓冲区。

最佳答案

我不知道有什么可以完全满足您的要求,但是您可以尝试以下一些操作:

  1. The speedbar应该向您显示函数(尽管它不显示其他属性)。

    使用M-x speedbar启动它,然后通过单击“+”图标展开节点。单击函数名称应将您带到缓冲区中的匹配项。

    如果您使用 Emacs 的 GUI 版本,Speedbar 效果最佳,因为它会启动一个新框架。如果您在控制台中工作,请查看 SrSpeedbar .

  2. 您可以使用独立的 JavaScript 分析器,例如 Tern with Auto Complete (或 with Company )快速获取建议,例如

    var myObj = {
        foo = // Hrm, what do I want?
    };
    
    otherObj. // See completions of otherObj here, find the one you want,
              // and complete.
    

    完成其他对象后,您可以使用tern-find-definition(默认绑定(bind)到M-.)转到属性的定义,并且tern-pop-find-definition(默认绑定(bind)到M-,)返回。

    注意:几周前我通过 MELPA 安装 Tern 的运气并不好。相反,我关注了 these instructions from the Tern website .

  3. 最后,js2-mode可能会提供一些帮助,尽管我找不到任何明显的东西。不过,使用 elisp 来修改您的需求可能是最容易的。

``Speedbar 在 Ubuntu 上的 Emacs 24.3.50.1 上显示我的 JavaScript 函数,开箱即用。

关于javascript - Emacs 在缓冲区中打印 javascript 对象属性或对象轮廓,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23542546/

相关文章:

JavaScript:删除 HTML 标签、修改标签/文本以及将标签重新插入

javascript - 将变量传递给 AJAX

javascript - 使用 CSS 样式和上传按钮的功能

windows - 非程序员最简单的 xml 编辑器

javascript - split方法和数组拼接js

emacs - 如何自动(重新)编译 ELPA 包?

Emacs 命令在光标上方插入和缩进行

Emacs:为每个缓冲区设置编译命令

xml - 寻找免费的 xsd 方案编辑器

c# - 为什么我的设计器属性没有在 ASPX 中序列化