AS插件利器,實現依賴庫自動補全,支持變量提取和JetPack

背景

最近博主在關注JetPack相關內容,發現從support轉到androidx後,不少依賴庫的名稱變化有點大,每次想添加一個依賴庫,都都得扒一扒官網查看路徑和版本,確實有點難受。不過在jetbrains插件世界裏,有一款能夠自動補全的插件GradleDependenciesHelperPlugin,它只支持從mavenCentral()搜索並不支持google()的倉庫,因此android-dependencies-completion應運而生,這是一款嘗試對Android開發友好的dependencies補全插件。android

功能特點

  • 支持gradle依賴庫名稱自動補全,包括Jetpack相關的軟件包
  • 支持版本號提取生成變量和整個路徑提取生成變量
  • 變量提取功能能夠單獨使用
  • 簡潔明瞭的用戶界面

如何獲取

AS中安裝

在Android Studio->Setting ->Plugins中搜索關鍵字:android-dependencies-completion 或者 12479ios

jar包安裝

插件網站:plugins.jetbrains.com/plugin/1247…git

下載地址github.com/HitenDev/an…github

您能夠在上面兩個地址下載jar包,AS安裝本地jar插件的方法比較簡單,這裏就不囉嗦了;bash

如何使用

掌握快捷鍵

因爲插件依賴 Code Completion->SmartType Completion,因此使用時務必保證SmartType Completion是開啓的,並且包裝SmartType Completion的快捷鍵不和其它快捷鍵衝突;markdown

默認快捷鍵:maven

  • MacOS ^(control) + ⇧(shift) + space
  • Windows ctrl + alt + space
  • Linux ctrl + shift + space

據悉Windows快捷鍵和系統的快捷鍵衝突,請使用的小夥伴耐心解決一下衝突,千萬不要所以而放棄;oop

基本使用

在項目gradle文件中輸入字符串時,若是須要補全,請按下快捷鍵gradle

使用場景不限制build.gradle,也不限制dependencies下,更不限制是implementation仍是compile網站

一般Anroid開發者喜歡把依賴庫統一放置,不見得定義在build.gradle中,全部這種場景仍是得支持;

生成變量

Android開發習慣把gradle依賴庫提取成變量,這種場景也是考慮在內,操做方式是在輸入字符串的尾部添加#符號;

  • 添加一個#,表示須要提取版本號
  • 添加兩個##,表示須要把整個字符串都提取出來;

常見場景:

因爲依賴庫字符串是由group:artifact:version三部分組成,而用戶輸入關鍵字時大部分都不會是完整的三段式,因此#支持在缺乏的狀態下完成;

  • 關鍵字+#

  • group:artifact:+#

直接轉

  • group:artifact:version+# 當字符串是由完整的格式加#時,會直接提取變量並完成替換

變量規則

命名規則

  • 使用#生成的版本變量,命名規則是ver_$artifact
//before
implementation 'com.google.code.gson:gson:2.8.5#'

//after
ext.ver_gson = '2.8.5' //please move this code to a unified place.
implementation "com.google.code.gson:gson:$ver_gson"
複製代碼
  • #號後面追加字符串xxx,則命名爲ver_xxx
//before
implementation 'com.google.code.gson:gson:2.8.5#hiten'

//after
ext.ver_hiten = '2.8.5' //please move this code to a unified place.
implementation "com.google.code.gson:gson:$ver_hiten"
複製代碼
  • 使用##生成的全路徑變量,命名規則是dep_$artifact
//before
implementation 'com.google.code.gson:gson:2.8.5##'

//after
ext.dep_gson = 'com.google.code.gson:gson:2.8.5' //please move this code to a unified place.
implementation "$dep_gson"
複製代碼
  • ##號後面追加字符串xxx,則命名爲dep_xxx
//before
implementation 'com.google.code.gson:gson:2.8.5##hiten'

//after
ext.dep_hiten = 'com.google.code.gson:gson:2.8.5' //please move this code to a unified place.
implementation "$dep_hiten"
複製代碼

插入規則

變量生成的代碼,會在當前光標上一行插入,並和當前行左對齊,理論上這行代碼放在此處不講究,因此一般還須要做者把這行代碼移動到項目的指定位置;

ext.ver_gson = '2.8.5' //please move this code to a unified place.
複製代碼

其餘

單/雙引號不設限

gralde字符串中可使用$引用變量,前提是字符串必須是雙引號"包裹,我此處作了特殊轉換,用戶輸入時不用在乎是單引號仍是雙引號,只管使用#生成就行;

再次提示:自動補全不會自動觸發,須要用快捷鍵觸發,請讀者不要困惑於此。

關注該項目

若是您對這個功能感興趣,能夠加入一塊兒完善:

項目地址: github.com/HitenDev/an…

您有新的想法,歡迎私聊我或者在github上添加issues;

聯繫我

相關文章
相關標籤/搜索