Ten podsumowanie pokazuje, jak automatycznie formatować kod Java za pomocą programu formatującego Eclipse podczas wstępnego zatwierdzania.git pre-commit format kodu haseł - Intellij1/Android Studio
Źródło: https://gist.github.com/ktoso/708972
Kod:
#!/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---------------------------------------------------------------"
chciałbym osiągnąć z IntelliJ i Android Studio. Jak więc wyglądałby scenariusz?
Sądzę też, że najlepiej będzie uruchamiać formater tylko w przypadku zmienionych plików. Może to jest przydatne:
changedJavaFiles=$(git diff --cached --name-only --diff-filter=ACM | grep '.java$')
ACM oznacza Dodane, Skopiowane, Zmodyfikowane. Źródło: http://git-scm.com/docs/git-diff
Proszę o komentarz, jeśli coś jest niejasne.
Aktualizacja
Moja konfiguracja jest Windows 10 i chciałbym użyć narzędzia wiersza poleceń mingw32 (Git Bash). Wersja Git to 1.9.5 msysgit.1
czy znalazłeś rozwiązanie tego problemu? – Bhargav
Nie, nie zrobiłem tego, ale nadal interesuję się tym tematem! – BenjaminButton