Sublime Text自动完成功能,括号中是否有变量?

时间:2016-04-22 17:50:58

标签: php autocomplete sublimetext3 sublimetext

如果我已经写了这个

$company_id = isset($_POST['cid']) ? $_POST['cid'] : null;

我想在$_POST['cid']周围打一个函数调用,有没有办法将它放在自动完成函数的括号内?

而不是我输入:

$company_id = isset($_POST['cid']) ? Validate::isId()$_POST['cid'] : null;

然后必须擦除右括号,当sublime为我自动填充函数时,是否有一个快捷方式来包装参数?

$company_id = isset($_POST['cid']) ? Validate::isId($_POST['cid']) : null;

使用Mac Yosemite和SublimeText 3。

1 个答案:

答案 0 :(得分:1)

您可以创建一个接受snippet参数的自定义SELECTION

SnippetDemo

将代码保存在@:

之下

Packages/___Your_Snippet_Folder___/SnippetName.sublime-snippet

<snippet>

<tabTrigger>testFunction()</tabTrigger>
<description>testFunction</description>

<scope>source.php</scope>

<content>
testFunction(${1:$SELECTION}, ${2:PlaceHolder_2})
</content>

</snippet>

占位符的使用,例如:${1:placeholder_text_goes_here},允许您在整个代码段中指定描述性的预选区域,可以使用 Tab &amp; Shift + Tab

此外,您可以使用$SELECTION替换其中一个占位符,例如:${1:$SELECTION},如果您从command palette执行代码段,则会将当前选定的文本作为参数传递或key-binding

要插入代码段:

  • 选择要作为$SELECTION参数
  • 传递的文本
  • 使用 Ctrl + Shift + P 启动命令调色板
  • 键入Snippet:后跟<description>文件中sublime-snippet键的值

有关代码段的详细信息,请参阅:

SublimeText / Unofficial Docs / Snippets