Sublime Text 2代码片段中的toLowerCase或capitalize函数

10

在创建Sublime Text 2片段时,是否可能定义一些类似于capitalize()toLowerCase()函数?

例如:

<snippet>
<content><![CDATA[
<?php
class ${1} extends Datamapper
{
    var \$has_one = array();
    var \$has_many = array();
    var \$table = '${1}s';
    //constructor and other stuff next...
}
?>
]]></content>
<tabTrigger>dmm</tabTrigger>
</snippet>

这段代码片段帮助我动态创建Datamapper ORM模型。当我输入dmm时,会触发该片段,我的光标会同时放置在类名和$table的赋值位置。第一个光标需要大写,而第二个光标则不需要。我可以强制更改片段中的大小写吗?比如说使用{1.toLowerCase}之类的方式。

这只是一个简单的例子,但我也想到了其他情况可以使用这种方法。

1个回答

18
你可以使用替换Perl格式字符串语法
我已经测试过这段代码:
<snippet>
<content><![CDATA[
<?php
class ${1} extends Datamapper
{
    var \$has_one = array();
    var \$has_many = array();
    var \$table = '${1/(.+)/\L\1/g}s';
    //constructor and other stuff next...
}
?>
]]></content>
<tabTrigger>dmm</tabTrigger>
</snippet>

问候,阿曼多


1
我正在尝试使用这段代码,但它会导致ST崩溃...难道只需要复制粘贴就可以了吗? - Pier
1
嗨@Pier。我已经使用最新版本的Sublime Text 2(build 2200)进行了测试,创建了一个新的代码片段(工具 > 新建代码片段...),并将其存储在默认文件夹(Packages/User)中。 - aanton

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接