Projekt#
Począwszy od Notepada++ 5.9.4 wydanego 2011-10-11 (info z nowości, info z pobierania) program oferuje własne dokowalne okno ułatwiające zarządzanie projektem. W praktyce mogą to być trzy osobne okna spełniające tę samą funkcję, ale dla uproszczenia dalszych opisów będę posługiwał się liczbą pojedynczą wskazująco po prostu na Projekt. Samodzielne okno lub panel osadzony w kontenerze aktywujemy wybierając u góry na Pasku menu kolejno Widok >> Projekt >> Panel 1. projektu / Panel 2. projektu / Panel 3. projektu
.
Rysunek. Notepad++ - panel Projekt w lewym kontenerze z przykładową zawartością i po rozwinięciu wszystkich folderów
Projekt może posłużyć jako dodatkowy wariant nawigacji po plikach lub nawigacji po kodzie. Pozwala on utworzyć skróty do najczęściej używanych zasobów (plików) w danym projekcie. W przeciwieństwie do Obszaru roboczego zawartość folderów nie jest automatycznie synchronizowana z widokiem Projektu, dlatego każda rzeczywista zmiana w folderach/plikach na dysku twardym wymaga naniesienia ręcznych poprawek do Projektu. To powoduje, że całość wymaga większego nakładu pracy, ale w dłuższej perspektywie może okazać się bardziej elastyczne niż użycie Obszaru roboczego.
Opisowa grafika#
Dla uproszczenia wszystkie charakterystyczne elementy w oknie Projekt można zobrazować za pomocą opisowej grafiki #:
Rysunek. Notepad++ - okno Obszar roboczy z przykładową zawartością i po rozwinięciu wszystkich folderów
Można zmieniać położenie i rozmiar okna Projekt poprzez standardowe przeciąganie jego krawędzi lub rogów, i po ponownym uruchomieniu programu Notepad++ nowe wartości są zapamiętywane.
Belka tytułowa#
Belka tytułowa znajduje się na samej górze okna Projekt (patrz opisowa grafika). Wyświetla ona nazwę okna "Projekt"
oraz czerwony przycisk X
służący do jego zamknięcia.
Przyciski szybkiego dostępu#
Okno Projekt pod swoją belką tytułową udostępnia dwa przycisków (bez graficznych ikonek) dla najczęściej wykonywanych operacji (patrz opisowa grafika).
Rysunek. Notepad++ - przyciski szybkiego dostępu dla okna Obszar roboczy
Poniżej zamieszczam opis każdego przycisku szybkiego dostępu zgodnie z kolejnością występowania w oknie Projekt:
Obszar roboczy
# - wyświetla menu kontekstowe Obszar roboczy.Edytuj
# - w zależności od aktualnie wybranego elementu na drzewiastej liście zasobów wyświetla menu kontekstowe głównego folderu, menu kontekstowe podfolderu lub menu kontekstowe pliku.
Drzewiasta lista zasobów#
Drzewiasta lista zasobów znajduje się pod przyciskami szybkiego dostępu w oknie Projekt (patrz opisowa grafika). Lista wyświetla swoją zawartość w sposób hierarchiczny (drzewiasty), co oznacza, że możemy zwijać/rozwijać wszystkie kluczowe elementy, które posiadają jakąś zawartość.
Rysunek. Notepad++ - drzewiasta lista zasobów w oknie Projekt ze wszystkimi kluczowymi elementami
Kluczowe elementy#
W drzewiastej liście zasobów rozróżniamy cztery kluczowe elementy # z własnym menu kontekstowym:
Obszar roboczy (etykieta) # - korzeń (root) znajdujący się na samym szczycie drzewiastej listy zasobów. Istnieje tylko jeden taki element i nie można go w żaden sposób modyfikować (np. zmieniać nazwy). W przypadku nowego (jeszcze niezapisanego) projektu nazwa korzenia jest stała i ma postać
"Obszar roboczy"
, a po zapisaniu lub wczytaniu projektu nazwą korzenia jest nazwa jego pliku (włącznie z rozszerzeniem jeśli istnieje). Obszar roboczy posiada własne menu kontekstowe # z siedmioma poleceniami:Rysunek. Notepad++ - menu kontekstowe dla elementu Obszar roboczy z drzewiastej listy zasobów w oknie Projekt
To samo menu kontekstowe przywołamy przyciskiem szybkiego dostępu
Obszar roboczy
.Jeśli projekt został wczytany lub zapisany to po najechaniu kursorem myszy nad element Obszar roboczy pojawi się dymek z pełną ścieżką do pliku projektu (postać absolutna).
Główny folder (etykieta) # - znajduje się o jeden poziom niżej w elemencie Obszar roboczy, który można dodawać w dowolnej ilości. Główny folder posiada własne menu kontekstowe # z siedmioma poleceniami:
Rysunek. Notepad++ - menu kontekstowe dla głównego folderu z drzewiastej listy zasobów w oknie Projekt
To samo menu kontekstowe przywołamy przyciskiem szybkiego dostępu
Edytuj
jeśli aktualnie wybranym elementem na drzewiastej liście zasobów jest główny folder.Podfolder (etykieta) # - znajduje się w głównym folderze na dowolnym poziomie zagnieżdżenia, który można dodawać na dwa sposoby (ilość dowolna). Podfolder posiada własne menu kontekstowe # z czterema poleceniami:
Rysunek. Notepad++ - menu kontekstowe dla podfolderu z drzewiastej listy zasobów w oknie Projekt
To samo menu kontekstowe przywołamy przyciskiem szybkiego dostępu
Edytuj
jeśli aktualnie wybranym elementem na drzewiastej liście zasobów jest podfolder.Plik (skrót) # - znajduje się bezpośrednio w głównym folderze lub którymś podfolderze, który można dodawać na dwa sposoby (ilość dowolna). Plik posiada własne menu kontekstowe # z czterema poleceniami:
Rysunek. Notepad++ - menu kontekstowe dla pliku z drzewiastej listy zasobów w oknie Projekt
To samo menu kontekstowe przywołamy przyciskiem szybkiego dostępu
Edytuj
jeśli aktualnie wybranym elementem na drzewiastej liście zasobów jest plik.Plik to jedyny kluczowy element w drzewiastej liście zasobów, który wskazuje na rzeczywisty zasób (plik) na dysku twardym poprzez skrót # (zwany też odwołaniem czy linkiem). Skrót składa się z nazwy i ścieżki do pliku (postać absolutna). Nazwa pliku i jego ścieżka pozostają ze sobą w ścisłej korelacji, tj. zmiana nazwy pliku spowoduje automatyczne poprawienie jego ścieżki (i odwrotnie). Warto zaznaczyć, że w danym głównym folderze lub podfolderze mogą występować pliki z identycznymi skrótami (tj. o tych samych nazwach i ścieżkach). Dzięki skrótowi możemy bardzo szybko przywołać zasób, na który skrót ten wskazuje (myszą lub klawiaturą).
Po najechaniu kursorem myszy nad plik pojawi się dymek z jego pełną ścieżką (postać absolutna).
Dodawanie kluczowych elementów#
Przy pierwszej aktywacji okna Projekt jego drzewiasta lista zasobów jest pusta. Można do niej dodawać dowolną liczbę kluczowych elementów (z wyjątkiem Obszar roboczy) na kilka sposobów:
Odtwarzając zapamiętany stan projektu przy użyciu jednej z dostępnych metod.
- Główne foldery dodajemy # poleceniem
Dodaj nowy projekt
dostępnym w menu kontekstowym Obszar roboczy. W rzeczywistości polega to na utworzeniu w elemencie Obszar roboczy nowej etykiety z określoną nazwą. Można tworzyć dowolną liczbę głównych folderów (nawet z identyczną nazwą względem innych głównych folderów). Podfoldery dodajemy # na dwa sposoby:
- Pojedynczo # - wywołujemy polecenie
Dodaj folder
z menu kontekstowego głównego folderu lub menu kontekstowego podfolderu. W rzeczywistości polega to na utworzeniu w wybranym głównym folderze lub podfolderze nowej etykiety z określoną nazwą (tj. nowego podfolderu). Można tworzyć dowolną liczbę podfolderów (nawet z identyczną nazwą względem innych podfolderów na tym samym poziomie zagnieżdżenia). Kompleksowo # - wywołujemy polecenie
Dodaj pliki z katalogu...
z menu kontekstowego głównego folderu lub menu kontekstowego podfolderu i w przywołanym oknie wskazujemy konkretny folder, którego zawartość (pliki/foldery) zostanie dodana do wybranego głównego folderu lub podfolderu. Polecenie odtwarza całą strukturę wskazanego folderu (tj. pliki i foldery z dowolnego poziomu zagnieżdżenia) na odpowiadającą im strukturę etykiet/skrótów (tj. nowych podfolderów i plików) w wybranym głównym folderze lub podfolderze.
- Pojedynczo # - wywołujemy polecenie
Pliki dodajemy # na dwa sposoby:
Wybrane pliki z konkretnego folderu # - wywołujemy polecenie
Dodaj pliki
z menu kontekstowego głównego folderu lub menu kontekstowego podfolderu i w przywołanym oknie wskazujemy konkretne pliki, które zostaną dodane do wybranego głównego folderu lub podfolderu. W rzeczywistości dla wszystkich wybranych plików utworzone zostaną odpowiadające im skróty w wybranym głównym folderze lub podfolderze.Wszystkie pliki z konkretnego folderu # - wywołujemy polecenie
Dodaj pliki z katalogu...
z menu kontekstowego głównego folderu lub menu kontekstowego podfolderu i w przywołanym oknie wskazujemy konkretny folder, którego zawartość (pliki/foldery) zostanie dodana do wybranego głównego folderu lub podfolderu. Polecenie odtwarza całą strukturę wskazanego folderu (tj. pliki i foldery z dowolnego poziomu zagnieżdżenia) na odpowiadającą im strukturę etykiet/skrótów (tj. nowych podfolderów i plików) w wybranym głównym folderze lub podfolderze.
Nawigacja myszą lub klawiaturą#
Przy użyciu myszy lub klawiatury możemy przeglądać strukturę kluczowych elementów w drzewiastej liście zasobów. Oto kilka możliwych wariantów nawigacyjnych:
- Lewy klik na danym folderze lub pliku - zmienia aktualnie wybrany folder lub plik.
- Lewy dwuklik na danym folderze - rozwija/zwija ten folder. Nie dotyczy pustych folderów. Alternatywnie można skorzystać z identycznie działającego klawisza Enter.
- Lewy dwuklik na danym pliku - przywołuje ten plik w głównym oknie programu, tj. otwiera go jeśli nie był otwarty i umieszcza kursor na początku Obszaru edycji lub robi aktywnym jeśli był otwarty, ale nie był aktualnie wybrany i zachowuje oryginalne położenie kursora w Obszarze edycji. Alternatywnie można skorzystać z identycznie działającego klawisza Enter.
- Lewy klik na kontrolce [+]/[-] danego folderu - rozwija/zwija ten folder. Puste foldery nie posiadają tych dwóch kontrolek.
- Klawisz prawo - jeśli aktualnie wybrany folder nie jest rozwinięty to go rozwija, a jeśli jest rozwinięty to przechodzi na pierwszy zawarty w nim folder lub plik.
- Klawisz lewo - jeśli aktualnie wybrany folder jest rozwinięty to go zwija, a jeśli jest zwinięty lub jest to plik to przechodzi na zawierający go folder.
- Klawisz Backspace - przechodzi z aktualnie wybranego folderu lub pliku na zawierający go folder. Bardzo podobne zachowanie do klawisza lewo, ale nie zwija folderów.
- Klawisz góra/dół - zmienia aktualnie wybrany folder lub plik na poprzedni/kolejny widoczny folder lub plik.
- Klawisz Home/End - wybiera pierwszy/ostatni widoczny folder lub plik w całej drzewiastej liście zasobów.
- Klawisz PageUp/PageDown - wybiera pierwszy/ostatni widoczny folder lub plik z bieżącego widoku drzewiastej listy zasobów. Wielokrotne wciśnięcie tych klawiszy w końcu wybierze pierwszy/ostatni widoczny folder lub plik w całej drzewiastej liście zasobów, a ilość potrzebnych do tego wciśnięć jest zależna od liczby wszystkich widocznych folderów i plików oraz od pionowego rozmiaru okna Projekt.
- Klawisz Delete - jeśli aktualnie wybranym elementem w drzewiastej liście zasobów jest główny folder, podfolder lub plik to zostanie on z niej usunięty (z uprzednim wyświetleniem dodatkowego komunikatu potwierdzającego tę operację - ale nie w przypadku pustych folderów).
Kółko myszy - przewija w górę lub w dół drzewiastą listę zasobów jeśli posiada ona pionowy pasek przewijania i spełniony zostanie jeden z dwóch następujących warunków:
- Okno Projekt jest aktywne. W tym przypadku położenie wskaźnika myszy nie ma znaczenia i może być w dowolnym miejscu ekranu (nawet poza oknem Projekt).
- Okno Projekt nie jest aktywne, ale wskaźnik myszy znajduje się nad drzewiastą listą zasobów.
Zapamiętanie bieżącego stanu#
Bieżący stan w drzewiastej liście zasobów można zapisać w osobnym pliku projektu #, który podobnie zresztą jak cała konfiguracja w NPP, to plik tekstowy bazujący na specjalnej XML-owej składni. Wystarczy z menu kontekstowego Obszaru roboczego wybrać jedno z poleceń odpowiedzialnych za zapis: Zapisz
, Zapisz jako...
lub Zapisz kopię jako...
Położenie, nazwa czy samo rozszerzenie pliku projektu zazwyczaj nie jest istotne, ale zależy to także od późniejszego sposobu odtwarzania zapamiętanego stanu.
Każda zmiana w drzewiastej liście zasobów wymaga ręcznego zapisania projektu wspomnianymi poleceniami. Informuje nas o tym zmieniona ikonka w elemencie Obszar roboczy ze standardowej na czerwoną . Pewnym zabezpieczeniem przed utratą poczynionych zmian w projekcie są dodatkowe okna dialogowe informujące nas o tym fakcie, które pojawią się na skutek:
Wybrania z menu kontekstowego Obszaru roboczego polecenia
Nowy obszar roboczy
lubOtwórz obszar roboczy
.Wybrania z menu kontekstowego Obszaru roboczego polecenia
Przeładuj obszar roboczy
.Standardowego zamknięcia programu Notepad++ (np. kombinacją klawiszy Alt+F4 lub czerwonym przyciskiem X ulokowanym w prawym górnym rogu głównego okna programu).
Zawartość pliku projektu w przykładzie z opisowej grafiki jest następująca:
<NotepadPlus>
<Project name="ProjektA">
<Folder name="folderA">
<Folder name="folderAA">
<File name="D:\NPP\test\folderA\folderAA\readme.txt" />
</Folder>
<Folder name="folderAB">
<File name="D:\NPP\test\folderA\folderAB\config.xml" />
<File name="D:\NPP\test\folderA\folderAB\contextMenu.xml" />
</Folder>
<Folder name="folderAC" />
<File name="D:\NPP\test\folderA\change.log" />
<File name="D:\NPP\test\folderA\license.txt" />
</Folder>
<Folder name="folderB">
<File name="D:\NPP\test\folderB\change.log" />
<File name="D:\NPP\test\folderB\license.txt" />
</Folder>
<Folder name="folderC" />
</Project>
<Project name="ProjektB">
<File name="change.log" />
</Project>
<Project name="ProjektC" />
</NotepadPlus>
Odtworzenie zapamiętanego stanu#
Mając zapamiętany stan projektu w postaci pliku projektu można go odtworzyć na jeden z poniższych sposobów:
Wywołujemy polecenie
Otwórz obszar roboczy
z menu kontekstowego Obszaru roboczego i wybieramy plik projektu. Jeśli wskazany plik nie jest zgodny z XML-ową składnią wyrażającą projekt w NPP to zostaniemy o tym poinformowani stosownym komunikatem.Jeśli ustawimy domyślne rozszerzenie dla pliku projektu poprzez wybranie u góry na Pasku menu kolejno
Ustawienia >> Ustawienia... >> Inne >> Rozszerzenie pliku projektu
to zadziała także:- Uruchomienie programu Notpead++ z argumentem
filePath
, gdzie jedna z przekazanych ścieżek wskazuje na plik projektu. - Ręczne przeciągnięcie pliku projektu do głównego okna programu zaraz po uruchomieniu programu Notepad++. Ważnym jest, aby zaraz po uruchomieniu NPP okno Projekt nie było aktywne, w przeciwnym razie przeciągnięcie plik projektu nie przyniesie żadnego efektu (bug 8324).
- Uruchomienie programu Notpead++ z argumentem
Po przetworzeniu pliku projektu nastąpi wypełnienie drzewiastej listy zasobów zgodnie z zapamiętaną strukturą plików i folderów, gdzie automatycznie rozwinięty zostanie tylko i wyłącznie najwyżej położony element Obszar roboczy (cała reszta zawsze pozostaje zwinięta).
Rysunek. Notepad++ - okno Projekt po ponownym wczytaniu przykładowego pliku projektu poleceniem Otwórz obszar roboczy
Dodatkowe uwagi#
Pliki w drzewiastej liście zasobów nie są automatycznie synchronizowane # z ich rzeczywistymi odpowiednikami na dysku twardym. Weryfikacja rzeczywistego istnienia plików dodanych do drzewiastej listy zasobów następuje dopiero w trakcie wczytywania pliku projektu, po wywołaniu polecenia Przeładuj obszar roboczy
z menu kontekstowego Obszaru roboczego lub przy zmianie nazwy/ścieżki w skrócie do pliku. Przy plikach bez rzeczywistych odpowiedników na dysku twardym zmieniona zostanie ich standardowa ikonka istniejącego pliku na ikonkę nieistniejącego pliku . Próba otworzenia takiego pliku nie przyniesie żadnego efektu.
Przy kompleksowym dodawaniu folderów lub dodawaniu wszystkich plików z konkretnego folderu do drzewiastej listy zasobów pominięte zostaną wszystkie ukryte foldery (włącznie z ich zawartością). Jest to minimalna forma filtracji # omijająca wszystkie niechciane podfoldery (np. katalogi bibliotek czy repozytoriów).
W drzewiastej liście zasobów można przenosić pliki lub podfoldery do innych podfolderów lub głównych folderów poprzez ich przeciąganie i upuszczanie. Można też zmieniać kolejność głównych folderów, podfolderów lub plików poprzez wywołanie poleceń Przenieś w górę
(domyślny skrót Ctrl+Klawisz góra
) lub Przenieś w dół
(domyślny skrót Ctrl+Klawisz dół
) dostępnych w menu kontekstowym wybranego elementu.
Alternatywa#
Okno Projekt oferowane przez program Notepad++ to bardzo podstawowe narzędzie do zarządzania projektem. Ma ono spore ograniczenia, do których można zaliczyć:
- Brak pola filtrującego zawartość drzewiastej listy zasobów.
- Brak kilku poleceń kontekstowych dla plików:
Otwórz w Eksploratorze
,Otwórz w wierszu poleceń
,Ścieżka do schowka
,Nazwa pliku do schowka
,Uruchom w systemie
. - Brak polecenia do przeszukiwania zawartości wybranego folderu (bug 4164, bug 8125).
- Brak zapamiętywania stanu zwinięć/rozwinięć poszczególnych folderów przy zapisywaniu projektu (bug 4164, bug 8323).
- Brak wybiórczego ukrywania/ignorowania poszczególnych plików/folderów w drzewiastej liście zasobów.
- Brak różnych wariantów sortowania dla folderów lub ich zawartości w drzewiastej liście zasobów.
- Brak zwijania/rozwijania wszystkich folderów lub tych z aktualnie wybranego folderu w drzewiastej liście zasobów (bug 4164).
- Brak możliwości szybkiego otworzenia wszystkich plików z aktualnie wybranego folderu, z ewentualnym uwzględnieniem plików ze wszystkich jego podfolderów (bug 4164).
- Brak obsługi przeciągania rzeczywistych plików/folderów do drzewiastej listy zasobów (bug 8142).
Ogólnie rzecz biorąc to przy szybkich korektach warto sięgnąć po wbudowane rozwiązanie Obszar roboczy, a przy dłuższej pracy nad projektem można wypróbować zewnętrzną wtyczkę Explorer.