为phpdoc添加sublime3的自定义块引用

时间:2014-03-12 15:43:27

标签: coding-style comments sublimetext2 sublimetext sublimetext3

我试着写这样的

{ "keys": ["ctrl+shift+;"], "command": { "characters": "/**@var*/", "block": true} }

但似乎完全没有达到我尝试做的最简单的事情。

我想要的快捷方式是,一旦触发,我希望输入格式为这样的文本

/**
  *@var
  */

有谁知道如何定义这样的自定义快捷方式?

非常感谢!

1 个答案:

答案 0 :(得分:1)

有两种方法可以执行此操作,具体取决于您需要的功能。如果您只想打印 完全 您指定的内容,请创建以下代码段:

<snippet>
    <content><![CDATA[
/**
  * @var $0
  */
]]></content>
    <tabTrigger>vardoc</tabTrigger>
</snippet>

为此,请使用XML语法创建一个新文件,完全按照所示粘贴上面的内容,然后将文件保存为Packages/User/vardoc.sublime-snippet,其中Packages是您选择Preferences -> Browse Packages时打开的目录。要触发该代码段,请键入 vardoc ,然后按 Tab 。您的光标将位于代码段中$0所在的位置。

这应该可以正常工作,但是如果你需要一个新的行,你必须输入*,并且没有任何关于它的智能。相反,我推荐的是DocBlockr,这是一个Sublime Text插件,可以自动生成多种语言的文档,包括PHP。输入 /** 并点击标签输入即可显示

/**
 * |
 */

|是你的光标位置(我相信这也是一个内置的Sublime功能)。它还可以自动记录功能。如果你有

function foo(MyClass $cls, 
            Array $arr, 
            $num=42, 
            $val=false, 
            $str="sweet function, dude!") {

    return $something;
}

然后将光标放在功能定义上方的行上,然后输入 /** 并点击 Tab ,你会获得

/**
 * [foo description]
 * @param  MyClass $cls
 * @param  Array   $arr
 * @param  integer $num
 * @param  boolean $val
 * @param  string  $str
 * @return [type]
 */

突出显示[foo description],以便您输入自己的说明。再次按 Tab 将突出显示MyClassArray等,以便您可以根据需要更改它们。

您的问题更多,您可以声明变量

var $foobar = "I love unicorns";

将光标放在该声明上方并输入 /** 标签将为您提供

/**
 * [$foobar description]
 * @var string
 */

DocBlockr还有其他功能,请查看上面的链接了解详情。

我希望这有帮助!