阅读 2059

一步一步打造属于你的最强神兵Idea之External Tools

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

所以就在这里献丑了。

External Tools

这个东西就是External Tools

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

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

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

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

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

maven项目打包发布

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

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

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

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

就相当于执行了

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

这条命令。

Maven打印依赖树

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

mvn dependency:tree这个命令。

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

重量级工具闪亮登场

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

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

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

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 $commit_id` \033[0m"
复制代码

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

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

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

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

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

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

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

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

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

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

奶猫骗赞😝

最后

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

本文使用 mdnice 排版