問題タブ [psi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
61 参照

intellij-idea - PsiFile にテキストを追加せずに PsiElement を追加する

メソッド (PsiMethod) をクラス (PsiClass) に追加して、入力時に IDEA がこのメソッドを表示するようにしようとしています。これを行いましたが、問題が発生しました。PsiMethod を PsiClass に追加すると、このメソッドのテキストがファイルに表示されますが、必要ありません。IDEA によって強調表示されるようにメソッドを追加する必要がありますが、ファイルにテキストとして表示されません。

これはどのように行うことができますか?

PsiClass に PsiMethod を追加するコードは次のとおりです。

Jetbrains コミュニティのこの質問へのリンク: リンク

0 投票する
1 に答える
89 参照

kotlin - Kotlin Psi API から継承クラスのフルネームを取得する

codegen IDEA-Plugin を開発しようとしています。このプラグインはKtClass継承を分析し、すべての継承クラスのフル ネーム (com.example.config.TestConfig など) を取得する必要があります。

PsiViewer を表示して、役立つ情報を見つけようとしました。KtClass のすべての継承情報が に格納されていることがわかりましたKtSuperTypeEntry。継承クラスの完全な名前を取得するために最善を尽くします。

クラスの場合Dest:

  1. superTypeListEntry.typeAsUserType.referenceExpression.getReferencedName() -return->"Config"
  2. superTypeListEntry.importReceiverMembers() -return->null

一見 SuperTypeListEntry には、継承クラスの単純な名前情報が含まれているだけです。

また、KtFile で継承クラスのフルネームを見つけようとしましたが、この KtFile で継承クラスがいつワイルドカードとしてインポートされたのかわかりません。

  • 質問

Kotlin Psi APIからすべての継承クラスのフルネームを取得するにはどうすればよいですか? ありがとうございました!