0

JAVASCRIPT:

A = {
    x : funciton(){

    },
    y : function(){

    }
}

我想要什么?

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

示例 - DocBlockr插件自动获取方法的名称/参数,在该方法之前通过 hittin/**和 hit创建块Enter

我知道如何编写基本片段,但不确定片段是否可以从文件中获取名称或标记。甚至不确定是否可能。

注意 - 我自己做不了太多,因为我不知道从哪里开始。

4

2 回答 2

0

使用 Snippets 是不可能的。他们不能“查看”周围的代码并基于此执行操作。你必须为此编写一个 Sublimetext-plugin 。

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

于 2014-04-17T11:02:49.047 回答
0

注意:这并不能直接回答问题,但它可能会解决您的问题 - 如果碰巧您只是需要它来进行调试。我会把它作为评论提交,但还没有足够的声誉。

尝试这个:

arguments.callee.name

但是请注意:

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