Przypisywanie niestandardowych rozszerzeń do podświetlania składni języka w Notepad ++

280

W obecnej wersji programu Notepad ++ otwieranie plików .sql powoduje stosowanie do niego podświetlania składni SQL. Chciałbym, aby Notepad ++ robił to samo dla innych rozszerzeń, czy jest jakieś ustawienie, w którym mogę to zdefiniować?

Sathyajith Bhat
źródło
Już nie? Powinien to zrobić domyślnie.
D'Arvit,
2
Dotyczy to plików .sql, a nie innych plików
Sathyajith Bhat
4
Chciałbym, aby Notepad ++ po prostu zapamiętał język wybrany z menu dla każdego pliku lub zaproponował dodanie rozszerzenia do konfiguratora stylu tego języka przy drugim skojarzeniu rozszerzenia z językiem.
Matthew Lock
Należy pamiętać, że można również modyfikować kolory twojego rozszerzenia za pomocą języka Język / Określ swój język ... menu.
wip

Odpowiedzi:

347

Gdy otworzysz plik w notatniku ++, spróbuje załadować podświetlanie składni dla zawartości na podstawie rozszerzenia pliku.

Jeśli używasz niestandardowego rozszerzenia dla jednego z istniejących języków, możesz dodać niestandardowe rozszerzenie w Ustawieniach -> Konfigurator stylera. Wybierz język i dodaj rozszerzenie w polu edycji „Rozszerzenie użytkownika”. Aby dodać wiele rozszerzeń, rozdziel je za pomocą Space.

Następnie musisz ponownie otworzyć plik, aby zastosować podświetlanie składni.

Możesz także zmienić styl podświetlania składni, wybierając inny język z menu języka.

T. Kaltnekar
źródło
Próbowałem tego, ale przypisuje tylko 1 rozszerzenie, chcę przypisać wiele rozszerzeń.
Sathyajith Bhat
24
możesz dodać wiele rozszerzeń, oddzielając je spacją, dodając to do mojego postu
T. Kaltnekar
20
Pamiętaj, że wprowadzenie tej zmiany nie wpłynie na pliki, które są obecnie otwarte w Notepad ++. Ponadto zamknięcie i ponowne otwarcie Notepad ++ nadal nie wpłynie na pliki, które pozostają otwarte między sesjami. Poszczególne pliki muszą zostać zamknięte i ponownie otwarte, aby można było zobaczyć efekt.
mwolfe02
Ta metoda nie działa również w przypadku języków zdefiniowanych przez użytkownika. Dla tych, patrz odpowiedź poniżej, ale zamiast langs.xml, edytuj userDefineLang.xml
Chase Sandmann
2
Ta metoda wydaje się działać tylko podczas otwierania Notepad ++ jako administrator. Zobacz ten problem: github.com/notepad-plus-plus/notepad-plus-plus/issues/67 Wydaje się również, że utrzymuje się zmiany w plikach programu (dlatego problem z uprawnieniami) w C: \ Program Files (x86) \ Notepad ++ \ themes \ SelectedTheme.xml, co oznacza, że ​​to ustawienie nie jest używane po zmianie motywów.
Daniel Bogdan
67

Znajdź plik langs.xml (zwykle pod C: \ Users [nazwa użytkownika] \ AppData \ Roaming \ Notepad ++), otwórz go za pomocą Notepad ++, znajdź linię zaczynającą się od <Language name="sql" ext="sql"i dodaj odpowiednie rozszerzenia w polu ext , oddzielając je znakiem przestrzeń.

Aby to zrobić dla języka zdefiniowanego przez użytkownika, poszukaj zamiast tego pliku userDefineLang.xml i dokonaj edycji ext="".

Jeśli zainstalowałeś notepad ++ w trybie „przenośnym”, to langs.xml i userDefineLangs.xml będą znajdować się bezpośrednio w folderze, w którym znajduje się notepad ++.

alex
źródło
6
To podejście również działa dobrze, ale podejście T. Kaltnekara jest nieco bardziej przyjazne dla użytkownika, dzięki!
Sathyajith Bhat
To jedyny sposób, w jaki wiedziałem jak :).
alex
2
Fajnie, wolę takie podejście, mam wiele niestandardowych rozszerzeń i łatwiej je skopiować i wkleić w ten sposób.
James
2
Ta metoda działała dla mnie. Nie rozumiem, dlaczego dodanie rozszerzenia z GUI nie działa. „C: \ users (user) \ appdata \ roaming \ notepad ++ \ langs.xml”
Jimueller
Nie mam zainstalowanego Notepadd ++, tylko rozpakowałem, więc lang.xmlplik znajduje się w katalogu aplikacji ;-)
Betlista
0

Jeśli używasz plików sesji Notepad ++ (nazwałem je *.nppxml), możesz je edytować i zmienić <File lang="...">atrybut, np

<File ... lang="Normal Text" ... filename="httpd.conf"
<File ... lang="Normal Text" ... filename="some.log"

do:

<File ... lang="Powershell" ... filename="httpd.conf"
<File ... lang="log" ... filename="some.log"

aby uzyskać ładne domyślne (lub zdefiniowane przez użytkownika, jak w moim przypadku z *.logplikami) natychmiastowe podświetlanie składni bez ponownego otwierania każdego pojedynczego pliku itp.

Andreas Dietrich
źródło