[英]eclipse plugin: get notification when selected project changed
我創建了一個插件,用於查詢選定的項目名稱和路徑,並在啟動時在視圖中顯示它。 這是我如何查詢所選項目的代碼:
IStructuredSelection selection = (IStructuredSelection) window.getSelectionService().getSelection();
Object firstElement = selection.getFirstElement();
if (firstElement != null) {
if (firstElement instanceof IAdaptable) {
IProject project = (IProject) ((IAdaptable) firstElement).getAdapter(IProject.class);
IPath path = project.getFullPath();
IPath location = project.getLocation();
}
}
如果項目已更改(用戶選擇任何其他項目),或者關閉了所選項目,我如何獲得通知?
您應該只使用ISelectionService添加ISelectionListener。 關於該主題的文章也不錯-> https://eclipse.org/articles/Article-WorkbenchSelections/article.html
對於項目狀態更改,您必須添加IResourceChangeListener。
IWorkspace#addResourceChangeListener(IResourceChangeListener,int)
看一下
https://eclipse.org/articles/Article-WorkbenchSelections/article.html
1)創建實現ISelectionChangedListener的自己的類。
2)在要收聽的選擇提供程序上調用addSelectionChangedListener(ISelectionChangedListener yourListener):
window.getSelectionService().addSelectionChangedListener(yourListener)
3)處理您的選擇事件
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.