就像我可以使用 $ TM_SELECTED_TEXT 将当前选定的文本拉入一个片段一样,有什么办法可以从我的代码中检索文本,比如包含当前插入符号的方法名称或类名位置?
这对于快速创建有用的日志消息非常有用。
所以,如果我有一些,比方说,JavaScript代码(用|表示光标/插入位置):
function doSomething() {
somethingElse();
|
}
我希望能够通过一个片段吐出 doSomething 。
类似的东西,
console.log($TM_CURRENT_METHOD_NAME + "() $1");
这样的事情可能吗?
答案 0 :(得分:0)
在我的fork of the Ember bundle中,我将此脚本放在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");
您可以通过调整正则表达式来匹配其他框架,以匹配哪个目录段属于类的命名空间,哪些不匹配,以及更改gsub(' /',&#39 ;')如果您感兴趣的语言使用名称空间分隔符,例如' ::'。