Dieser Überblick zeigt, wie Java-Code mit dem Eclipse-Formatierer beim Pre-Commit automatisch formatiert wird.git pre-commit-Hook-Formatcode - Intellij/Android Studio
Quelle: https://gist.github.com/ktoso/708972
Code:
#!/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---------------------------------------------------------------"
Ich möchte dies erreichen mit IntelliJ und Android Studio. Wie würde das Skript dann aussehen?
Auch ich denke, es wäre am besten, nur den Formatierer auf geänderten Dateien laufen zu lassen. Vielleicht ist das nützlich:
changedJavaFiles=$(git diff --cached --name-only --diff-filter=ACM | grep '.java$')
ACM steht für Hinzugefügt, kopiert, geändert. Quelle: http://git-scm.com/docs/git-diff
Bitte Kommentar, wenn etwas unklar ist.
aktualisieren
Mein Setup ist Microsoft Windows 10, und ich möchte das Kommandozeilen-Tool mingw32 (Git Bash) verwenden. Git Version ist 1.9.5 msysgit.1
Haben Sie zufällig eine Lösung gefunden? – Bhargav
Nein, habe ich nicht, aber ich bin immer noch an diesem Thema interessiert! – BenjaminButton