在sublime代码段中获取方法名称

时间:2014-04-17 09:23:42

标签: sublimetext3 sublime-text-plugin

JAVASCRIPT:

A = {
    x : funciton(){

    },
    y : function(){

    }
}

我想要什么?

我想写一个崇高的片段,当在 xy函数中调用时,应该能够获取函数名称并将其放入。

示例 - DocBlockr 插件会自动获取方法的名称/参数,然后按Hittin /**创建块并点击Enter

我知道如何编写基本代码段但不确定代码段是否可以从文件中获取名称或令牌。甚至不确定是否可能。

注意 - 由于我无法弄清楚从哪里开始,我自己做不了多少。

2 个答案:

答案 0 :(得分:0)

使用Snippets无法做到这一点。他们无法“查看”周围的代码,并根据它进行操作。你必须写一个Sublimetext-plugin来做。

查看DocBlockr的源代码应该会让你知道如何做到这一点;文件jsdocs.py包含parseFunction()getArgType()等方法,它们使用正则表达式提取函数名和参数。

答案 1 :(得分:0)

注意:这不能直接回答这个问题,但很有可能它会解决您的问题 - 如果它恰好需要它来进行调试。我会将其作为评论提交,但尚未提供足够的声誉。

试试这个:

arguments.callee.name

但请注意:

  • 这不是ST功能,它是一个 JS功能来获取功能名称
  • 这个功能实际上是不鼓励的,可能会影响性能 - 所以仅限开发模式
  • 在严格模式下实际上是禁止
  • 它不适用于您的代码段中的匿名函数 - 您需要为您的函数命名x: function x() {}
  • 某些浏览器可能不支持函数的名称属性