我们说我有:
doSomeAction()
我希望将它包装成一些任意文本,以便原始文本缩进:
if myValue
doSomeAction()
end
理想情况下,我想要突出显示我的行,按下一些键绑定,并将原始文本缩进,然后将光标放在第一行,我键入if myValue
(或者其他)。
我意识到这取决于我所使用的编程语言,主要是关于在原始行之后的内容。在Ruby中,我需要end
,在Javascript中,我需要}
,而在Coffeescript中,我什么都不需要:-)我想如果它留空了,这样我就可以按{{ 1}}到达那个地方,我可以输入自己需要的东西。
答案 0 :(得分:4)
您可以为此目的创建代码段。例如:
<snippet>
<content><![CDATA[
${1:if condition}
$SELECTION${3}
${2:end}
${4}
]]></content>
</snippet>
Imporant note :Stackoverflows会显示带有空格的文本,但请记住在代码段中使用标签进行缩进:请参阅此答案底部的Tyler编辑和评论。
如您所见,它可以包含以$
分隔位置开头的多重部分,您可以使用tab
导航所有部分,这样您就可以轻松更改条件的内容或在内部添加额外的内容。您可以轻松更改结构,添加或删除部件,内容,更改默认值等。
使用菜单工具&gt;新的Snippet ,然后将给定的文件内容放在新文件中。使用(示例)文件名 wrap.sublime-snippet 将其保存在sublime Packages / User中。通常Packages / User是显示的默认文件夹,通常通过菜单首选项&gt;浏览包打开Packages文件夹。
转到菜单偏好设置&gt; Key Bindings-user 并在全局数组中添加键绑定,使用您喜欢的自由键组合并保存文件。如果你没有任何其他用户密钥绑定,这个文件内容应该是这样的(记得使用你给代码片段的名称):
[
{ "keys": ["ctrl+alt+z"], "command": "insert_snippet", "args": {"name": "Packages/User/wrap.sublime-snippet"}}
]
编辑:始终在代码段中使用标签缩进为recommended by Sublime Text help:
编写包含缩进的代码段时,请始终使用制表符。该 如果插入代码段,则会将制表符转换为空格 选项translateTabsToSpaces设置为true。