#!/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 mit IntelliJ und Android Studio erreichen. Wie würde das Drehbuch dann aussehen?
Ich denke auch, dass es am besten wäre, den Formatierer nur für geänderte Dateien auszuführen. Vielleicht ist das nützlich:
Beachten Sie, dass a Snap-Paket ist für Ubuntu verfügbar, sodass es einfach ist, dies auch zu einem Ubuntu Git- oder CI-Server hinzuzufügen.
Es wird zwar unterstützt, aber aus irgendeinem Grund funktioniert es nicht, wenn die IDE bereits geöffnet ist
– Scanna
13. Oktober 2017 um 11:53 Uhr
IDEA hat dies in den normalen Commit-Dialog eingebaut. Aktivieren Sie einfach “Code neu formatieren” und alles wird automatisch passieren.
Wenn Sie den Neuformatierungsteil von IDEA über die Befehlszeile ausführen möchten, ist dies meiner Meinung nach nicht möglich. Der einzige Gedanke, den ich gefunden habe, der außerhalb ausgeführt werden kann, sind Codeinspektionen.
Vielen Dank für Ihre Antwort. Ich habe meine Frage aktualisiert. Ich arbeite unter Windows und alles, was mit Git zu tun hat, passiert in Git Bash. Ich habe nie die GUI von Android Studio zum Festschreiben verwendet und wusste daher nicht, dass die Option aktualisiert wurde, um alles zu formatieren. Da diese Option existiert, bin ich sicher, dass es eine Möglichkeit gibt, dies über die Befehlszeile auszuführen. Ich lade den Quellcode von Android Studio herunter und wühle herum. Wenn ich etwas Nützliches finde, hinterlasse ich einen weiteren Kommentar. Quelle für Android Studio finden Sie hier: source.android.com/source/downloading.html
– Benjamin Button
30. August 2015 um 6:30 Uhr
Wenn jemand anderes eine Lösung für Windows benötigt – ich habe den halben Tag gebraucht, um zu arbeiten, also ist es vielleicht für jemanden nützlich:
Ich erstelle auto_reformat.bat, Inhalt:
for /F "usebackq delims=" %%P in (`git diff --name-only --diff-filter=ACM ^| findstr -I "java kt"`) do %INTELLIJ_DIR%\bin\format %%P
und Problem mit mehreren hier gemeldeten Instanzen:
hast du dazu zufällig eine lösung gefunden?
– Bhargav
16. Dezember 2016 um 5:21 Uhr
Nein, habe ich nicht, aber ich interessiere mich immer noch für dieses Thema!
– Benjamin Button
16. Dezember 2016 um 8:48 Uhr