摘要:今天我們說說怎么搭建環境自己寫一個插件。插件工程目錄結構一個典型的插件目錄結構就像下圖。如果成功那么在工程目錄就會生成一個同名的文件。
PyCharm 是很多 Python 開發者優先選擇的 IDE,功能強大,跨平臺,提供免費社區版,非常良心。如果你想自己給PyCharm添加一些功能怎么辦呢?有兩個辦法:
通過提需求實現,到 JetBrains 的 github 去提issue或者自己發Pull Request請他們merge。
通過安裝插件實現,你可以查找現有的插件倉庫,或者,自己寫一個。
今天我們說說怎么搭建環境自己寫一個 PyCharm 插件。
前期準備先普及一下知識,開發 PyCharm 插件和開發 IntellJ IDEA 插件需要的環境是一樣的,因為 PyCharm 本身就是 IDEA 的一個子集,說白了就是 IDEA 上套了一個 Python 語言支持的插件。其他系列的 IDEA IDE 其實也是一樣的道理,都是套了對應語言支持的框架外加一點外觀修改,就成了新的產品,比如 WebStrom,PhpStorm,RubyMine。到這里你應該有個印象,JetBrains 這個公司太能玩了,就一個 IDEA 能整出那么多產品來,很厲害吧?
開發 PyCharm 插件你需要:
對 Java 語言有一定了解,因為你只能用 Java 開發插件
安裝最新版的 IntelliJ IDEA
安裝 PyCharm Community Edition 到本地
確保 IntelliJ 安裝并啟用了 Plugin DevKit 插件,默認自帶
配置 IntelliJ Platform SDK, 下文會涉及相關步驟
(非必需)將IntellJ IDEA Community Edition 的代碼克隆到本地,方便調試
?
如果你英文還可以,也可以閱讀官方的幫助文檔。
http://www.jetbrains.org/inte...
新建插件工程從文件菜單選擇 New Project, 選擇 IntelliJ Platform Plugin,如果你沒有配置SDK,點擊New 菜單。
選擇你本地 PyCharm Community Edition(社區版)的安裝路徑作為SDK目錄,Java SDK 選擇 1.8 以上的版本。
請注意,你也可以使用 PyCharm Professional (旗艦版) 的安裝路徑作為SDK目錄,不過當你調試插件碰到核心代碼時,社區版你可以一步一步跟到最里面,但旗艦版不行,因為旗艦版并不是開源的,你拿不到源代碼。
回到 New Project 的界面,點擊 Next,輸入 Project name 和 Project location,點擊完成。
小貼士:如果你是打開別人的寫的插件,那么你直接選擇打開工程目錄是沒有用的,因為 IntelliJ IDEA 不認為這是個插件工程,所以你沒法運行和調試這個插件,一個不怎么優雅的辦法就是從現有代碼新建一個插件工程,StackOverflow 關于這個的吐槽問題你搜到,如果你有更好的辦法請告訴我。當你換一臺機器把插件代碼克隆下來之后應該就知道我在說什么了。
插件工程目錄結構一個典型的插件目錄結構就像下圖。
.idea 目錄 - JetBrains IDE 生成的工程都會有這么一個目錄,存放用戶配置和緩存,無需關心。
doc 目錄 - 插件的文檔,可選。
out 目錄 - 編譯后的代碼字節,無需關心。
resources 目錄 - 資源存放目錄,插件的配置文件在此。
src 目錄 - 代碼存放的位置。
*.iml 文件 - 項目的配置文件。
修改插件信息打開 /resources/META-INF/plugin.xml, 更新插件信息,舉例說明。
com.eflabs.plugin.efcommon EF Common for PyCharm 3.1 Toby Qin Able to run and debug ef common tests easily.
]]>
- Support run/debug ef-common tests via context menu.
- Show run button in the line of test case.
v3.0
Support PyCharm 171.*
Support nested ef-common project.
Early version
Bug fix: failed to get run.template in resource.
The baby version.
]]>com.intellij.modules.python
這個配置文件里有幾點要注意的:
這里我略過最核心的部分,因為每個人的需求和代碼能力都不一樣,這應該去查閱Java編程規范。
簡而言之,就是根據你自己的需求用Java實現一些接口和方法。
運行和調試你的插件如果你的代碼已經實現了,那么運行和調試就比較簡單。
使用 Run | Run 菜單來運行你的插件,這時候會啟動一個新的PyCharm,默認安裝好你的插件。
使用 Run | Debug 菜單來調試你的插件,你可以設置斷點進行調試。
發布你的插件你可以選擇本地發布你的插件,也可以選擇上傳到 JetBrains 的插件倉庫。
本地發布安裝如果你的插件是內部小范圍使用,并且可能帶有敏感信息,那么這樣的方式會比較適合你。從主菜單選擇 Build > Prepare plugin "my_plugin" For Deployment。
如果成功那么在工程目錄就會生成一個同名的 jar 文件。
將這個文件 copy 到目標機器就可以通過 Install Plugin from disk ... 完成安裝。
發布插件到 JetBrains Plugin 倉庫生成插件的步驟和本地發布是一樣的,唯一不同的就是你需要到 JetBrains Plugins 網站去注冊一個賬號。
https://plugins.jetbrains.com/
登錄之后選擇 UPLOAD PLUGIN 菜單,上傳之后大概需要2個工作日審核。
審核通過后其他用戶就可以直接從 Browse Repositories... 里搜索到你的插件并安裝。通過插件倉庫安裝的插件,一旦有新版本發布,用戶將收到更新提示。
寫在最后關于如何實現具體的插件業務代碼,一個偷懶的辦法就是去看現有功能大概是怎么實現的,你既然可以拿到 PyCharm Community Edition 的所有代碼,還有啥看不到的,看懂只是時間問題。再或者去 github 搜搜看,萬一有驚喜呢?
就 PyCharm 本身來說,我覺得作為 IDE 提供的功能已經很豐富了,為啥還要寫插件呢?對啊,哪里來的需求,會不會是一個偽需求呢。寫插件前請你想一想這個問題。
關于作者:
Toby Qin, Python 技術愛好者,目前從事測試開發相關工作,轉載請注明原文出處。
歡迎關注我的博客 https://betacat.online,你可以到我的公眾號中去當吃瓜群眾。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/38608.html
摘要:大家好,我是一行之前一行分享過好用的幾種編輯器,測試有沒有下載成功,用來做數據分析,開發的大殺器,等等,小眾猿群使用那在用這個開發大殺器的同時,一行也來分享幾個它很好用的插件,來給你的搬磚提提速可以作為摸魚好助手次下載 ...
摘要:常用插件的官方中文插件,能夠直接使實現中文版。是一個項目統計插件,簡單來說就是可以給出一個項目的統計信息,包括文件和代碼量等,在的左下角增加一個選項,點擊這個按鈕就可以查看項目的統計信息了。文件和代碼模板修改主題顯示行數和方法線 ...
摘要:本篇教程展示如何安裝庫,編輯器使用的當然是。安裝這個借助來安裝非常簡單。找到相關的庫,選中,然后點擊窗口最左下方的安裝即可。配置完成,即可顯示所有數據庫信息。 本篇教程展示如何安裝Pymongo庫,編輯器使用的當然是pycharm。 博客文章地址:https://weiya.me/item/66.html 準備 我們這里直接使用pycharm來安裝Pymongo庫,和pycharm的m...
摘要:本篇教程展示如何安裝庫,編輯器使用的當然是。安裝這個借助來安裝非常簡單。找到相關的庫,選中,然后點擊窗口最左下方的安裝即可。配置完成,即可顯示所有數據庫信息。 本篇教程展示如何安裝Pymongo庫,編輯器使用的當然是pycharm。 博客文章地址:https://weiya.me/item/66.html 準備 我們這里直接使用pycharm來安裝Pymongo庫,和pycharm的m...
閱讀 3690·2021-11-22 15:24
閱讀 1593·2021-09-26 09:46
閱讀 1904·2021-09-14 18:01
閱讀 2601·2019-08-30 15:45
閱讀 3526·2019-08-30 14:23
閱讀 1866·2019-08-30 12:43
閱讀 2915·2019-08-30 10:56
閱讀 800·2019-08-29 12:20