Rozwiązanie EGit
Można oczekiwać, że tworzenie lub zmiana zmiennych szablonów w projekcie, obszarze roboczym lub środowisku jest standardową funkcją Eclipse. Niestety tak nie jest. Co więcej, biorąc pod uwagę, że wtyczki Eclipse mogą definiować nowe zmienne i szablony, powinny istnieć wtyczki zapewniające rozwiązanie. Jeśli tak, muszą być trudne do znalezienia. mmm-TemplateVariable , który jest dostępny w Eclipse Marketplace, jest krokiem we właściwym kierunku dla użytkowników Maven, dając możliwość włączenia wersji, artefactId itp. do szablonów.
Na szczęście EGit , który jest narzędziem Eclipse dla Git, zapewnia bardzo elastyczne sposoby włączania wielu różnych zmiennych do szablonów kodu. Jedynym wymaganiem jest to, że Twój projekt używa Git. Jeśli nie korzystasz z Git, ale poważnie myślisz o rozwoju oprogramowania, teraz jest czas na naukę ( książka Pro Git ). Jeśli jesteś zmuszony korzystać ze starszego systemu kontroli wersji, spróbuj zmienić zdanie.
Dzięki wysiłkom Harmsk , EGit 4.0 i wyżej zawiera możliwość użycia kluczowych wartości konfiguracji Git w szablonach. Umożliwia to ustawienie wartości szablonu na podstawie ustawień repozytorium (projekt), ustawień użytkownika (konto) i / lub ustawień globalnych (stacja robocza).
Poniższy przykład pokazuje, jak skonfigurować Eclipse i Git dla wielostanowiskowej stacji roboczej i użyć niestandardowego klucza konfiguracyjnego Git zamiast w ${user}celu zapewnienia większej elastyczności. Chociaż przykład jest oparty na instalacji Eclipse Mars i Git dla Windows 10, przykład dotyczy Linuksa i OSX z uruchomionymi Eclipse i Git przy użyciu odpowiednich narzędzi wiersza poleceń.
Aby uniknąć możliwego pomylenia user.nameklucza konfiguracyjnego Git z user.namewłaściwością systemową Java , niestandardowy klucz konfiguracyjny Git - user.author- zostanie użyty do podania nazwiska autora i / lub poświadczeń.
Konfigurowanie szablonów
Format zmiennej szablonu Git jest następujący
${<name>:git_config(<key>)}
gdzie <name>jest dowolną nazwą zmiennej i <key>jest kluczem konfiguracji Git, którego wartość powinna zostać użyta. Biorąc to pod uwagę, zmieniając szablon Komentarze → Typy na
/**
* @author ${author:git_config(user.author)}
*
* ${tags}
*/
spróbuje teraz rozwiązać nazwisko autora z user.authorklucza konfiguracyjnego Git . Bez dalszej konfiguracji żadne nowo utworzone komentarze nie będą zawierać nazw po @author, ponieważ żadne nie zostały jeszcze zdefiniowane.
Konfigurowanie Gita
Z linii poleceń
Konfiguracja systemu Git - ten krok konfiguracji wprowadza zmiany w ogólnosystemowej konfiguracji Git, mającej zastosowanie do wszystkich kont na stacji roboczej, chyba że zostaną zastąpione przez ustawienia użytkownika lub repozytorium. Ponieważ konfiguracje ogólnosystemowe są częścią podstawowej aplikacji Git (np. Git dla Windows), zmiany będą wymagać uprawnień administratora. Uruchom Git Bash, cmd lub PowerShell jako administrator. Następujące polecenie ustawi autora ogólnosystemowego.
git config --system user.author “SET ME IN GLOBAL(USER) or REPOSITORY(LOCAL) SETTINGS”
Celem tego „autora” jest przypomnienie, że należy go ustawić gdzie indziej. Jest to szczególnie przydatne, gdy na stacji roboczej używane są nowe konta użytkowników.
Aby zweryfikować to ustawienie, utwórz pusty projekt Java korzystający z Git lub otwórz istniejący projekt oparty na Git. Utwórz klasę i użyj opcji Źródło → Generuj komentarz elementu z menu kontekstowego ALT-SHIFT-J lub rozpocznij komentarz JavaDoc. Wynikowy @authortag powinien poprzedzić ostrzeżenie.
Pozostałe zmiany konfiguracji można wykonać bez uprawnień administratora.
Globalna konfiguracja (użytkownika) Git - konfiguracje globalne lub użytkownika są konfiguracjami powiązanymi z określonym użytkownikiem i zastępują konfiguracje ogólnosystemowe. Te ustawienia dotyczą wszystkich projektów opartych na Git, chyba że zostaną zastąpione przez ustawienia repozytorium. Jeśli nazwa autora jest inna z powodu różnych typów projektów, takich jak praca, wkłady typu open source lub osobiste, ustaw najczęściej używane tutaj.
git config --global user.author “Mr. John Smith”
Po skonfigurowaniu wartości globalnej wróć do wcześniej używanego projektu testowego i zastosuj komentarz klasy. @authorTag powinien teraz pokazać globalne ustawienia.
Konfiguracja repozytorium Git (lokalna) - na koniec repozytorium lub konfiguracja lokalna może zostać użyta do skonfigurowania autora dla określonego projektu. W przeciwieństwie do poprzednich konfiguracji konfiguracja repozytorium musi zostać wykonana z poziomu repozytorium. Za pomocą Git Bash, PowerShell itp. Przejdź do repozytorium projektu testowego.
git config --local user.author “smithy”
Biorąc to pod uwagę, nowe komentarze w projekcie testowym będą używać nazwy autora zdefiniowanej lokalnie. Inne projekty oparte na Git nadal będą używać globalnej nazwy autora.
From Within Eclipse
Powyższe zmiany konfiguracji można również ustawić w Eclipse za pomocą Preferencji: Zespół → Konfiguracja Git . Eclipse należy uruchomić jako Administrator, aby zmienić ogólnosystemowe konfiguracje Git.
W sumie
Chociaż ten przykład dotyczy konkretnie najczęstszego problemu, polegającego na zmianie ${user}, to podejście można zastosować do większej liczby. Należy jednak zachować ostrożność, aby nie używać kluczy konfiguracyjnych zdefiniowanych przez Git, chyba że jest to specjalnie przeznaczone.