Android Studio插件開發7--ProjectViewPopupMenu的創建

上一篇:Settings配置頁面的創建
下一篇:數據的讀寫

插件已發布

1,在Plugins中搜索CCLines,進行下載安裝;
2,源碼在Github中開源下載
3,搜索不到的朋友,可以升級一下idea后再嘗試,因為插件有跟idea的版本關聯;

PopupMenu的演示效果圖,如下:

projectMenu演示效果

看上面的效果圖,在Project區域的右鍵彈窗,選擇【Compute Lines】進行統計,這個功能就是我們今天要講的主要內容,如果喜歡的話,記得支持一下~~~

創建ProjectViewPopupMenu

其實創建ProjectViewPopupMenu,其實就是創建一個Action,具體怎么創建,請見Android Studio插件開發2--Action創建,里面詳細講了怎么創建一個Action。

只不過今天創建的Action在指定【group-id】上有所不同,如下圖:

創建Action

這里指定的【Groups】是在ProjectViewPopupMenu中,然后我選擇的【Anchor】是【Last】。

在plugin.xml中的信息,如下:

<!--Action注冊,比如在某個菜單下增加一個按鈕就要在這注冊 -->
<actions>

  <!-- Add your actions here -->
  <action id="ActionComputePopupMenu" class="action.ActionComputePopupMenu" text="Compute Lines"
          icon="/myToolWindow/chk_normal.png" description="Compute code lines.">
    <add-to-group group-id="ProjectViewPopupMenu" anchor="last"/>
  </action>

</actions>

創建完成后的效果圖,如下:

PopupMenu效果

到這里,其實創建的ProjectViewPopupMenu就結束了,如果看到過前面的Action創建的文章,其實看到這里就非常容易理解。

不過。。。我們得明白為什么要創建一個ProjectViewPopupMenu在這里,我前面做的Dialog創建,其實只是統計某一整個項目內的所有文件,但肯定有這樣的需求,就是我只是想統計某一個目錄,甚至是某一個文件的代碼行數,所以我又做了這樣的一個功能。

獲取Project中,選擇統計的路徑

那么在Project的右鍵菜單中,添加了我們需要觸發統計的Action入口后,我們下一步應該想辦法去獲取我們當前所選擇的路徑。只要能獲取到路徑,我們接下來走的邏輯其實跟就統計一整個項目是一樣的了。

代碼如下:

// 獲取當前選擇的文件或文件夾路徑 2017/3/24 15:48
VirtualFile file = CommonDataKeys.VIRTUAL_FILE.getData(e.getDataContext());
if(file == null) {
    if (jTextArea != null)
        jTextArea.append("找不到統計文件.\n");

    return;
}

String path = file.getPath(); // 獲取統計路徑 2017/3/24 15:50

PS:

1,上面的【e.getDataContext()】,是在Action的【actionPerformed】方法中的參數【AnActionEvent e】,如下圖:

Action代碼

2,記得判斷file是否為空,如下圖:

file為空

3,怎么展示文本信息,請見ToolWindow的創建

回顧我們今天的文章主要解決的兩個問題,如下:

問題集

其實到這里我們一個比較完整的插件已經開發完成了。接下來要講的就是怎么去發布我們的插件,還有就是整個項目的總結。

那到這里,今天我們要講的主要內容就告一段落了。

謝謝支持~~~

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容