【问题标题】:Sublime Text autocomplete function with variable in parentheses?Sublime Text自动完成功能,括号中有变量?
【发布时间】:2016-04-22 17:50:57
【问题描述】:

如果我已经写好了

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

【问题讨论】:

  • 选择$_POST['cid']并输入左括号,最后会自动以右括号结束
  • @Thamizhan 是的,但是当它自动完成函数时,它会将两个括号放在末尾,并且不包装变量。

标签: php autocomplete sublimetext3 sublimetext


【解决方案1】:

您可以创建一个接受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},允许您在整个 sn-p 中分配描述性预选区域,可以使用 TabShift + Tab


此外,您可以将其中一个占位符替换为$SELECTION,例如:${1:$SELECTION},如果您从command palette 或@987654332 执行sn-p,这会将当前选定的文本作为参数传递@。


插入sn-p:

  • 选择要作为$SELECTION 参数传递的文本
  • 使用 Ctrl + Shift + P 启动命令面板
  • sublime-snippet 文件中键入Snippet: ,后跟&lt;description&gt; 键的值

有关 sn-ps 的更多信息,请参阅:

SublimeText / Unofficial Docs / Snippets

【讨论】:

  • 没想到加个sn-p。很好的建议。虽然,我可能不会假设有第二个参数,如果可能的话,将&lt;content&gt; 更改为:${2:functionName}(${1:$SELECTION})
  • @GreeKatrina:testFunction(${1:$SELECTION}) 可以。如果您希望能够使用 Tab 键选择和导航特定文本,则只需使用 ${#:placeholder} 段。
猜你喜欢
  • 2013-12-27
  • 1970-01-01
  • 1970-01-01
  • 2015-09-13
  • 2015-03-14
  • 1970-01-01
  • 2018-05-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多