Konfiguracja#
Konfiguracja programu Notepad++ w całości bazuje na plikach XML. Pliki te znajdują się bezpośrednio w głównym folderze programu lub jednym z podfolderów (szczegóły). Dla osób obytych z językami znacznikowymi analiza czy ręczna modyfikacja plików nie powinna stanowić problemu.
Składnię i znaczenie poszczególnych elementów w plikach XML można przestudiować na dedykowanej stronie.
W przypadku wtyczek nie ma odgórnie przyjętego formatu konfiguracji i każda wtyczka może stosować dowolne rozwiązanie (np. pliki XML, JSON, JS, INI, DAT, TXT, a nawet własny format i rozszerzenie). Jedynym wymogiem jest to, by piliki te znajdowały się w folderze NPP\plugins\Config
.
Modyfikacja opcji programu#
W programie Notepad++ konfigurację można przeprowadzić na dwa sposoby:
- poprzez GUI (częściowo) - co ma odzwierciedlenie w plikach
NPP\config.xml
,NPP\shortcuts.xml
,NPP\stylers.xml
(lub innych motywach z folderu NPP\themes). - ręcznie modyfikując pliki (całościowo) - może dotyczyć wszystkich plików XML.
Użycie okna Preferencji, Konfiguratora stylów czy Skrótów klawiszowych jest wygodne i dla części osób z pewnością wystarczające, ale trzeba pamiętać o tym, że bardziej szczegółowe rzeczy ustawia się ręcznie poprzez edycję plików konfiguracyjnych.
Ręczna edycja plików konfiguracyjnych#
Ogólnie rzecz biorąc pliki konfiguracji są zarządzane przez sam program i nie powinny być edytowane ręcznie (w tym celu utworzono wspomniane wcześniej trzy okna konfiguracyjne). Istnieją jednak przypadki, gdzie ręczna modyfikacja plików jest jedynym dostępnym rozwiązaniem (np. dla menu kontekstowego Obszaru edycji).
Zanim przejdziemy dalej najpierw należałoby wyjaśnić kiedy i w jaki sposób NPP zapisuje pliki konfiguracyjne (przynajmniej te najistotniejsze). Przy uruchamianiu programu wszystkie pliki konfiguracyjne zostają odczytane tylko raz, a następnie zmapowane do odpowiadającego obiektu umieszczonego w pamięci RAM. Każda zmiana opcji programu poprzez GUI tak naprawdę wprowadza zmiany w odpowiadającym obiekcie w pamięci RAM, ale sam plik konfiguracji nie jest jeszcze zmieniany. Dopiero w trakcie normalnego zamykania programu obiekt konfiguracji z pamięci RAM zostaje zamieniony na postać XML i zapisany do odpowiadającego pliku XML.
I teraz rzecz najważniejsza, jakiekolwiek niestandardowe zamknięcie programu # (np. ręczne zabicie procesu w windowsowym menadżerze zadań lub crash wywołany niestabilnym rozszerzeniem) powoduje, że zmiany wykonane poprzez GUI przepadają. Prawdopodobnie jedynym wyjątkiem będzie zmiana języka interfejsu programu, która zaskakuje natychmiast. Może być to kłopotliwe szczególnie w przypadku pliku domyślnej sesji (NPP\session.xml
), gdzie przechowywane są aktualnie otwarte pliki. Jeśli po ponownym uruchomieniu programu mamy otwarty niewłaściwy zestaw plików należy przypuszczać, że program został zamknięty w niestandardowy sposób i aktualny stan sesji nie został zrzucony do pliku.
Z powyższego zachowania wynika kolejna sprawa, tj. bezpośrednia edycja plików konfiguracyjnych w czasie, kiedy program działa w danym momencie będzie niemożliwa (po standardowym zamknięciu programu zmiany wykonane w pliku i tak zostaną automatycznie przywrócone do tych przetrzymywanych w pamięci RAM). Można sobie z tym poradzić na kilka sposobów. Najwygodniej wyłączyć NPP, edytować plik innym narzędziem (np. Notatnikiem - ale uważać na kodowanie przy zapisie, bo może stwarzać problemy) i ponownie włączyć edytor. Można też skopiować plik poza główny katalog NPP, wykonać zmiany w tym pliku przy użyciu NPP, zamknąć NPP, przenieść tak zmieniony plik do katalogu NPP (nadpisać starszy plik), na koniec uruchomić aplikację ponownie. Jest jeszcze trzeci sposób (z ustawianiem flag pliku), ale przeznaczony jest dla zaawansowanych osób.
Jeśli powyższy proces będzie męczący to można go sobie zautomatyzować własnym skryptem. Z mojego doświadczenia wynika, że jedynym plikiem dotkniętym powyższą przypadłością, który często edytuję z pominięciem GUI aplikacji, jest NPP\shortcuts.xml
.