Android Studio Plugin 替换文件名插件
功能说明
对安卓工程选中目录下,文件以及文件夹,进行搜索并且替换名称
本项目插件名称为Replace file name(审核中)
仓库地址
开发流程
1. 初始化工程
- 打开IntelliJ IDEA ,点击New Project
- 左侧选择Gradle类型,右侧指定JDK版本为1.8,勾选Java,Intellij Platform Plugin和Kotlin/JVM(不需要Kotlin开发就无需勾选),点击Next
- 输入工程名称changeFileName,点击Next
2. 修改配置信息
1. 修改build.gradle文件
plugins {
id 'java'
id 'org.jetbrains.intellij' version '0.4.15'
id 'org.jetbrains.kotlin.jvm' version '1.3.72'
}
version '1.0-SNAPSHOT'
repositories {
mavenCentral()
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" //kotlin引入
}
intellij {
version '2020.3' //根据Android studio版本设置 参考 https://developer.android.google.cn/studio/releases?hl=zh-cn
plugins = ['android']
}
compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
patchPluginXml {
changeNotes "一键修改文件名"
sinceBuild = '191' // 插件适用的IDEA版本范围
untilBuild = '212.*'
}
intellij version根据Android studio配置 参考android
2. 修改plugin.xml文件
- 修改唯一标识、插件名称、开发者信息、插件详情
- 在标签下新增:
<depends>com.intellij.modules.platform</depends>
<depends>org.jetbrains.android</depends> // AS相关
3. 创建包结构
在/src/main/下面创建java文件夹。添加包com.cnoke.changefile
3. 创建菜单项(Action)
-
在com.cnoke.changefile文件夹上右键,选择New > Plugin Devkit > Action
-
填入id calss Name等信息,Class Name是自动生成的类名。Name插件名。Group是插件入口,本插件需求是选择目录后修改文件名。因此这边选择ProjectViewPopuoMenu放在Replace File后面
生成如下Action代码
在project目录上鼠标右键,点击(替换文件名)会调用上述ChangeFileNameAction中的actionPerformed。
因此我们在此方法中弹出搜索文件替换文件的Dialog
4. 创建Dialog
-
创建view文件夹,在view文件夹上右键,选择New > Swing UI Designer > Create Dialog Class
-
输入类名,取消勾选项目,点击OK
-
生成from文件,和Dialog.java文件。(java改为kt文件,可不改)
-
将生成的DIalog改为DialogWrapper其他代码删除
-
点击from,修改布局。点击palette中元素放入布局中
-
修改Dialog.kt中代码获取布局中对于控件。布局中的field name和kt中字段要一致。并且kt中字段必须public可修改。swing会自动把from中控件实例化给kt中字段。
-
将from中父布局给kt中createCenterPanel() return
override fun createCenterPanel(): JComponent? {
title = "工具"
setOKButtonText("替换")
setCancelButtonText("取消")
scrollPane!!.viewport.view = mapperList
return contentPane
}
5. 搜索目录下文件
projectFile?.let {
VfsUtilCore.iterateChildrenRecursively(it, { filter->
!filterFolder(filter)
}, { content->
if(content.name.contains(searchText)){
externalFiles.add(content)
showTexts.add( "${content.path} → ${content.name}")
}
true
})
}
projectFile为鼠标选中的目录地址,通过CommonDataKeys.VIRTUAL_FILE.getData(event.dataContext)获取
filter为过滤器,过滤哪些文件不需要。content为搜索过滤之后返回的文件。这里我们根据文件名称是否含有我们输入的文字进行判断是否匹配,如果匹配加入列表,显示在界面上。
6.修改文件名
VirtualFile.rename()
7.编译使用插件
-
点击buildPlugin编译插件
-
编译完成,生成build/libs/changeFileName-1.0-SNAPSHOT.jar
-
将changeFileName-1.0-SNAPSHOT.jar丢入Android studio编辑框,点击重启确认按钮
-
重启后,右键project中目录,出现(替换文件名)点击出现弹窗进行使用
8.提交插件到IDEA商城
点击注册IDEA账号,可以用github账号直接登录 IDEA
选择Upload Plugin,上传编译出来的jar,或者zip文件,填写资料。等待审核两个工作日后,就可以在Android studio插件商城搜索到你的插件。