找出这个函数的调用位置?

时间:2015-10-13 13:40:44

标签: javascript sublimetext3 sublimetext sublime-text-plugin

我希望能够快速浏览文件或外部函数的所有调用。目前我在所有文件方法中使用搜索。但有没有办法看到这种方法的用途。

可选:我也想回到其他方向。假设有这样的方法调用:

makeBread();

现在我想看看这个功能是做什么的。所以不知何故跳到它的声明。

2 个答案:

答案 0 :(得分:1)

查找调用

尝试使用文本搜索来查找调用可能会轻易背叛您。考虑一下:

function myFunction() {
    console.log("Hello :)");
}

document.getElementById("page-title").addEventListener("click", myFunction);

我想你明白这是怎么回事 - 如果你想获得一个调用列表,最好的办法就是在运行时使用console.trace

function myFunction() {
    console.trace();
    console.log("Hello :)");
}

查找函数的功能

可以在运行时覆盖该功能。动态语言不能像静态语言那样进行分析(C ++,Java)。你想知道这个功能是做什么的吗?在运行时在控制台中打印它:

console.log(makeBread.toString());

查找声明

同样,console.trace会告诉你它通过的每个功能的行。你也可以将堆栈跟踪作为数组 - 但要注意这会大大减慢执行速度,所以不要在生产中执行。

结论

正如我所说,你无法检查动态语言,其中任何东西都可以使用任何IDE可靠。大多数IDE提供了很好的提示,只是将它们与运行时调试相结合。考虑对运行的应用程序进行调试比查看死代码更有趣。

更多阅读

如果您想制作一些调节器表达式,这将非常方便:http://www.bryanbraun.com/2014/11/27/every-possible-way-to-define-a-javascript-function

控制台对象:https://developer.mozilla.org/en-US/docs/Web/API/Console 使用堆栈跟踪:https://stackoverflow.com/a/635852/607407

答案 1 :(得分:1)

不是原生的,但有插件,是

具有此功能的流行插件是 SublimeCodeIntel

  

SublimeCodeIntel还允许您只需点击一下即可跨文件跳转符号定义。然后返回。

对于Mac OS X:

  • 跳转至定义= Control+Click
  • 跳转至定义= Control+Command+Alt+Up
  • 返回= Control+Command+Alt+Left
  • 手动代码智能= Control+Shift+space

对于Linux:

  • 跳转至定义= Super+Click
  • 跳转至定义= Control+Super+Alt+Up
  • 返回= Control+Super+Alt+Left
  • 手动代码智能= Control+Shift+space

适用于Windows:

  • 跳转至定义= Alt+Click
  • 跳转至定义= Control+Windows+Alt+Up
  • 返回= Control+Windows+Alt+Left
  • 手动代码智能= Control+Shift+space