书接上文,之前介绍了插件和Live Templates。其实idea还有一个??的功能,可能很多人都不知道,其实我一开始也不知道,也是偶然的机会发现的。

所以就在这里献丑了。

c925926d4e618f292f2e4162acb4c60b.gif

External Tools

这个东西就是External Tools

ab2e85f0d110f2a5169ef5a598a9c65d.png

翻译一下就是:外置的工具。

顾名思义,其实这个东西是使用idea,调用外部的程序,如果好好使用的话,可以让idea如虎添翼。

一开始我是想把Java代码转成汇编语言看看。因为Xcode就可以把Swift转汇编,然后说不定能看出什么奇妙的地方。

网上一搜,有很多方法,个人觉得最好的方法就是使用External Tools

de5fc7b0601456631fef53c72aad7ed4.png

这个具体的设置就不说了,网上很多。

maven项目打包发布

有没有遇到过,每次maven项目打包发布,都要到处找那条打包命令,有时候记性不好还找半天,现在可以把这条命令配置成External Tools,下次再打包发布,就不用到处找啦,而且还可以设置快捷键,真是不要太开心啊。

3d567ef504e6fa6397a9f04a1c66fcce.png
  • Program:找到maven的可执行命令就可以了
  • Arguments:就是参数clean deploy -Dmaven.test.skip=true -Dmaven.javadoc.skip=true
  • Working directory:可以使用Macro命令,这里表示是项目路径
bd1299a35da350a92a3b67f558adfbe6.png

接下来,可以按照自己喜好设置快捷键,不过这个命令不常用,所以我没有设置快捷键。

执行效果(要在maven项目里):

35e5ef09be3cbcd40183e4b1112cc8c8.png
df34cfb736fce3184b85798e31a281d5.png

就相当于执行了

mvn clean deploy -Dmaven.test.skip=true -Dmaven.javadoc.skip=true

这条命令。

6baed719435e06b82b22599119020402.png

Maven打印依赖树

8e9f50a672e8bdfab12e53d6f09b8b78.png

和上面差不多,就不细说了,其实就是执行

mvn dependency:tree这个命令。

本来想把依赖树存储到txt文件中,但是这里不支持 > 这个符号。

重量级工具闪亮登场

其实一看到调用第三方程序,你想到了什么?

强大的Shell!!!(其实脚本语言应该都可以支持)。

c762f7a9f1602c569b4db7e2bf28828c.png

其实我Shell也不厉害,只能算是个新手。接下来分享一下我写的git提交代码的工具(有些命令也是在网上查的)。

c0fd12b79e80ff3c16aae6b3c8b14501.png

ProgramWorking directory图上很清楚了。

主要是这个git.sh文件。

对的,你可以把shell脚本单独放一个文件夹,然后在Arguments那里把路径复制过去。

#!/bin/bash
#两个都可以获取当前分支名称
#dev_branch=$(git branch | sed -n '/\* /s///p')
dev_branch=$(git name-rev --name-only HEAD)
commit_id=$(git rev-parse --short HEAD)
echo "当前分支 = " $dev_branch
echo "==============="
echo "*:daily"
echo "1:gray"
echo "2:master"
echo "==============="
echo -n "请输入目标分支: "
read -r -p "请输入目标分支:" num
case $num in
1)merged_branch="gray";;
2)merged_branch="master";;
*)merged_branch="daily";;
esac

echo $merged_branch
if [ $dev_branch != "gray" ] && [ $dev_branch != "daily" ] && [ $dev_branch != "master" ] && [ $dev_branch != "online" ] ; then
 #echo $dev_branch
 git push && git checkout $merged_branch && git pull && git merge $dev_branch && git push && git checkout $dev_branch
else
 echo "分支错误,不能从开发分支合并到自己的分支!"
fi

#echo "提交内容:"
#git show $commit_id
echo  -e "\033[31m 提交所在分支: \033[0m"
echo -e "\033[31m`git branch -r --contains $(git rev-parse --short HEAD)` \033[0m"

read -p没有生效,没有提示,所以又加了一个echo

使用方法是先commit之后,再调用!!

主要是获取当前分支名称和commitId

然后选择要merge到的目标分支,当前分支不能是dailygraymasteronline

git的操作是先push代码到当前分支。

然后checkout目标分支,先更新目标分支,然后进行merge,push

最后再切回当前分支。还可以打印这次提交的内容,以及提交所在的分支名称。

显示提交内容打印东西太多了,所以先注释掉了,最终效果如下:

ac29e5b0d169f27647cb62af4b47949e.png

虽然已经先更新再提交了,但是如果有冲突的话,还是要手动解决。不过冲突的概率一般很小。

如果大家有更好的脚本,欢迎分享。集思广益,造福广大同胞啊!

奶猫骗赞?

95a3d2e9b52370e68b7ad7d0e1b4b55c.gif

最后

f12f66db54fc20a95d6412f096be5103.gif

欢迎大家关注我的公众号,共同学习,一起进步。加油?

bc60290c18bc65ed3fcf3d859f53cb50.png
Logo

一站式 AI 云服务平台

更多推荐