您好,登錄后才能下訂單哦!
在開發工具上添加自己需要的功能,可以基于eclipse的插件進行擴展以滿足新功能的需要。下面就說說如何在eclipse上如何添加菜單項。
新建eclipse插件工程
工程名自定義一下,我的工程名是com.popmenu.extend
選擇下一步,在這里可以用向導給我們自動生成的,也可以建立完成之后到擴展點自己添加,這里我們選擇默認的模板。
選擇popup模板
點擊下一步
其中Target Object’s Class:這里指定了目標對象,就是說在哪里點擊右鍵能夠顯示對應的菜單。
Submenu Name:這個是指定你要顯示的菜單在右鍵彈出后的名稱,我們起名叫“構建系統”。
Action Label:這個指定了顯示的子菜單的名稱,這里修改為“模板構建”。
Java Package Name:這里指定了點擊模板構建后的處理類的包名,使用默認。
Action Class:這個是處理類的名稱,改為TemplateAddAction。
Action is enabled for:表示選擇的是單選還是多選,這里用默認。
點擊完成。
生成的項目結構如下:
工作空間、項目、文件夾、文件對應的類型接口分別為IWorkspace、IProject、IFolder、IFile。資源相關
的接口都繼承了IResource接口,由于工作空間并不只是資源的管理者,因此IWorkspace并沒有繼承IResource
接口,為了將工作空間作為資源的管理者這一功能體現出來,抽象出了IWorkspaceRoot 的接口(即工作空間
根目錄),通過IWorkspace的getRoot 就可以得到對應的工作空間根目錄。由于工作空間根目錄、項目、文件
夾都是可以容納其他資源的,因此為它們抽取了一個基類接口IContainer。
類的層次結構圖如下:
資源接口的常見方法
(1) IResource
l delete:刪除此資源。
l getFileExtension:返回文件的擴展名。
l getFullPath:返回此資源相對于工作空間根目錄的相對路徑,返回值類型是IPath。
l getLocation:返回此資源在文件系統中的絕對路徑,返回值類型是IPath。
l exists:判斷此資源是否存在。處理資源與使用Java.io.File 處理文件非常相似。IResource只是一個句柄。當調用像getProject、getFolder 這樣的方法時,會將句柄返回給資源,即使指定的資源并不存在。因此在必要的時候要使用exists 方法來確定資源是否存在。
l getParent:得到父資源容器,返回值類型為IContainer。
l getProject:返回此資源所屬的項目,返回值類型為IProject。
l getProjectRelativePath:返回此資源在項目中的相對路徑,返回值類型是IPath。
l getWorkspace:返回此資源所屬的工作空間,返回值類型為IWorkspace。
l isSynchronized:判斷資源是否與文件系統同步。
(2) IContainer
l exists(IPath path):判斷指定的路徑path是否在本容器內存在。
l findMember:返回指定路徑的資源,返回值類型為IResource。
l getDefaultCharset:返回此容器內資源的默認編碼。
l getFile:返回指定路徑的文件,返回值類型為IFile。
l getFolder:返回指定路徑的文件夾,返回值類型為IFolder。
l members:返回容器下的所有直接資源,返回值類型為IResource[]。
(3) IFolder
l create:創建此文件夾所代表的資源。
l getFile:返回此文件夾下指定路徑下的文件,返回值類型為IFile。
l getFolder:返回此文件夾下指定路徑下的文件夾,返回值類型為IFolder。
(4) IFile
l appendContents:向文件中附加數據流,方法中有一個參數是InputStream類型,要添加的數據流就是在此流中。
l create:用數據流創建文件,方法中有一個參數是InputStream類型,要創建的文件的數據流就是在此流中。
l getCharset:返回文件的編碼。
l setCharset:設定文件的編碼。
l getContents:返回文件的流,返回值類型為InputStream。
l setContents:用數據流設定文件的內容,方法中有一個參數是InputStream類型,要設定的文件的數據流就是在此流中。
(5) IWorkspaceRoot
l getProject:返回指定名字的項目,返回值類型為IProject。
l getProjects:返回工作空間中所有的項目,返回值類型為IProject[]。
雙擊plugin.xml,選擇Dependencies,在eclipse的插件項目中如果想添加依賴,必須在此處添加不能通過工程右鍵進行添加,否則會找不到對應的jar提示錯誤。因為這里用到了org.eclipse.jdt.core包所以添加。
點擊添加:
然后點擊Extensions出現擴展點的選擇界面。
可以看到我們添加的菜單的內容。選中objectContribution將其它objectClass設置成 org.eclipse.jdt.core.IJavaElement 表示在java工程上邊能夠看到提示菜單,設置完成后就可以運行一下示例看看效果了。
右鍵選擇工程run as -> eclipse application
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。