【发布时间】:2015-08-29 15:29:31
【问题描述】:
这个要点展示了如何在预提交时使用 Eclipse 格式化程序自动格式化 Java 代码。
来源:https://gist.github.com/ktoso/708972
代码:
#!/bin/sh
#
# This hook will run the eclipse code formatter before any commit
# to make the source look as it's supposed to look like in the repo.
ECLIPSE_HOME=$HOME/eclipse
STYLE_FILE=$HOME/org.eclipse.jdt.core.prefs
echo "Running pre-commit hook: run-eclipse-formatter---------------------"
echo "Will run eclipse formatter, using: $STYLE_FILE"
echo "Listing folders to run formatter on… "
code_dirs=`find . -maxdepth 3 | grep 'src/'`
for dir in $code_dirs; do
echo $dir;
done;
echo "Launching eclipse code formatter… "
exec $ECLIPSE_HOME/eclipse \
-nosplash \
-application org.eclipse.jdt.core.JavaCodeFormatter \
-verbose \
-config $STYLE_FILE \
$code_dirs
echo "done---------------------------------------------------------------"
我想通过 IntelliJ 和 Android Studio 实现这一目标。那么脚本会是什么样子呢?
另外我想最好只在更改的文件上运行格式化程序。也许这很有用:
changedJavaFiles=$(git diff --cached --name-only --diff-filter=ACM | grep '.java$')
ACM 代表添加、复制、修改。来源:http://git-scm.com/docs/git-diff
如果有不清楚的地方请评论。
更新
我的设置是 Windows 10,我想使用命令行工具 MINGW32(Git Bash)。 Git版本是1.9.5 msysgit.1
【问题讨论】:
-
您是否碰巧找到了解决方案?
-
不,我没有,但我仍然对这个话题感兴趣!
标签: git android-studio intellij-idea format hook