带有括号中变量的 Sublime Text 自动完成功能?

Sublime Text autocomplete function with variable in parentheses?

如果我已经写好了

$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。

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


保存下面的代码 @:

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},允许您在整个代码段中分配描述性预 selected 区域,可以使用 Tab[=57 进行导航=] & Shift + Tab


此外,您可以将其中一个占位符替换为 $SELECTION,例如:${1:$SELECTION},如果您执行该代码段,它会将当前 selected 文本作为参数传递来自 command palettekey-binding.


要插入代码段:

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

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

SublimeText / Unofficial Docs / Snippets