簡體   English   中英

eclipse插件:選定項目更改時獲取通知

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM