0

$ TM_SELECTED_TEXTを使用して現在選択されているテキストをスニペットに取り込むことができるのと同じように、現在のキャレット位置を含むメソッド名やクラス名など、コードからテキストを取得する方法はありますか?

これは、有用なログメッセージをすばやく作成するのに非常に役立ちます。

したがって、たとえばJavaScriptコード(|はカーソル/キャレットの位置を表す)がある場合は、次のようになります。

function doSomething() {
   somethingElse();
   |
}

スニペットを介してdoSomethingを吐き出せるようにしたいと思います。

何かのようなもの、

 console.log($TM_CURRENT_METHOD_NAME + "() $1");

このようなことは可能ですか?

4

1 に答える 1

0

Ember バンドルのフォークで、このスクリプトをSupport/bin/camelize_filename次の場所に配置しました。

#!/usr/bin/env ruby
c=%w{config helpers mixins controllers models routes templates views}.join('|')
r = %r{.*/(?:#{c})/(.*)\.js}
puts ENV['TM_FILEPATH'].sub(%r{.*/(?:#{c})/(.*)\.js},'\1').
  gsub(/(?:_|(\/)|^)([a-z\d]*)/){|s| "#{$1}#{$2.capitalize}" }.gsub('/','')

次に、スニペットで次のように使用します。

console.groupCollapsed("`camelize_filename`#model");

クラスの名前空間に属するディレクトリ セグメントと属さないディレクトリ セグメントが一致するように正規表現を適合させ、関心のある言語が ': :'.

于 2013-11-25T03:01:00.313 に答える