2016-10-04 9 views
0

Java(またはJavaScript)コードブロックにYASnippetを挿入するときに、メソッド名(および引数)にどのようにアクセスできますか?関数の本体に挿入された場合動的YASnippet、メソッド名と引数の挿入

log("notify() called with: " + "context = [" + context + "]"); 

目標は、(例えば)に

logm 

を展開できるようにすることである(

public void notify(final EventHandlerContext context) { 
.... 
} 

このようなライブテンプレートはIntelliJ IDEAに存在します)

答えて

1

スニペットで任意のlispコードを評価することができます。したがって、メソッド名/引数を取得する関数がある場合、スニペットコードから呼び出すことができます。たとえば、ここではメソッド名を取得する簡単な試みがあります - cc-cmdsまたはeclimライブラリのどこかで、おそらくより良い機能を見つけることができます。

(defun java-method-name() 
    (save-excursion 
    (c-beginning-of-defun) 
    (when (re-search-forward "\\([A-Za-z]+\\)(") 
     (match-string 1)))) 

スニペット

# -*- mode: snippet -*- 
# name: logm 
# key: logm 
# -- 
log("`(java-method-name)`() called with: " + ${1:etc:..}) 
+0

完全にquesitonに対処するためには、あなたがのparamsの名前になるだろうな機能を発見することができるだろうか? – user3341592

関連する問題