0
PsiElementが有効になっていないことを通知できるリスナーが必要です。 PsiTreeChangeListenerはこれには適していないようです。これを伝えることができる他のリスナーはいますか?または、リスナーを作成する必要がありますか?このリスナーの作成方法PSI変更リスナー
PsiElementが有効になっていないことを通知できるリスナーが必要です。 PsiTreeChangeListenerはこれには適していないようです。これを伝えることができる他のリスナーはいますか?または、リスナーを作成する必要がありますか?このリスナーの作成方法PSI変更リスナー
SmartPsiElementPointerクラスを使用すると、psi要素のリストを作成して管理できます。
SmartPsiElementPointerは、PSI要素は、それが削除されたために指しても無効にならないPsiElementへのポインタです。その場合はgetElement()メソッドは単にnullを返します。これを検出して処理することができます。
SmartPointerManager.getInstance(element.getProject()).createSmartPsiElementPointer(element);
私はそれが可能、および/または必要だわからない:あなたは、次のコードを使用することができます
はSmartPsiElementPointerに要素をラップします。達成したいことを教えてください。 – Argb32私は必要なすべてのpsiElementsを手に入れましたが、psiElementをコメントしたり削除したり移動したりする場合、そのpsiElementは無効またはnullになります。だから私はその時に知りたいと思っていたので、私はすべてのpsiElementsのリストを更新したいと思っています。この場合、オブザーバーパターンを実装することを考えていましたが、そのためにリスナーが必要です。 psiElementがそのリストから無効になると、listはそのリストを知り、そのリストからその要素を削除します。私はこのリスナーをどのように実装すればいいのか分からない。 – Aarti