2012-06-13 16 views
10

サブライムテキスト2スニペットを作成するときにcapitalize()またはtoLowerCase()関数を定義することはできますか?例えばtoLowerCase to Sublime Text 2スニペットの機能を

<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と入力すると、スニペットが実行され、カーソルが同時に2つの領域に配置されます。クラスの名前& $tableへの割り当て。最初のカーソルは大文字にする必要があり、2番目のカーソルは大文字にしないでください。スニペットのケースを強制できますか?何かのように{1.toLowerCase}

簡単な例ですが、これを使うことができる他の時期も考えられます。

答えて

16

あなたはsubstitutionを使用することができますし、私はこのコードをテストしているPerl format string syntax

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

よろしく、 アルマンド

+0

優れた、あなたのアルマンドに感謝! –

+1

私はこのコードを使用しようとしていますが、STがクラッシュします...すべてがそこにあるのですか?コピーと貼り付けは機能するはずですか? – Pier

+1

こんにちは。私は最新のSublime Text 2([build 2200](http://www.sublimetext.com/dev))を使って新しいスニペット(Tools> New Snippet ...)を作成し、これをデフォルトに保存してテストしましたフォルダ(パッケージ/ユーザ) – aanton