Призначення спеціальних розширень для виділення синтаксису мови в Блокноті ++


280

У поточній версії відкриття файлів Notepad ++ .sql призводить до того, що Блокнот застосовує виділення синтаксису SQL до нього. Я хотів би, щоб Notepad ++ робив те ж саме і для інших розширень, чи є якесь налаштування, де я можу це визначити?


Це вже немає? Це слід зробити за замовчуванням.
D'Arvit

2
Це стосується файлів .sql, а не для інших файлів
Sathyajith Bhat

4
Я хотів би, щоб Notepad ++ просто запам'ятав мову, вибрану з меню для кожного файлу, або запропонував додати ваше розширення до конфігуратора стилю цієї мови вдруге, коли ви пов’язали розширення з мовою.
Меттью Лок

Зверніть увагу , що ви також можете змінити мову колір вашого розширення з допомогою мови / Визначити свою мову ... меню.
витер

Відповіді:


347

Коли ви відкриєте файл у блокноті ++, він спробує завантажити виділення синтаксису для вмісту на основі розширення файлу.

Якщо ви використовуєте спеціальне розширення для однієї з існуючих мов, ви можете додати спеціальне розширення у меню Налаштування -> Конфігуратор стилера. Виберіть мову та додайте розширення у поле редагування "Розширення користувача". Щоб додати кілька розширень, розділіть їх за допомогою Space.

Потім потрібно повторно відкрити файл, щоб побачити застосований синтаксис.

Ви також можете змінити стиль виділення синтаксису, вибравши іншу мову з меню мови.


Я спробував це, але він призначає лише 1 розширення, я хочу призначити кілька розширень.
Сатьядхіт Бхат

24
Ви можете додати кілька розширень, розділивши їх з пробілом, додавши це до моєї публікації
Т. Калтнекар,

20
Зауважте, що внесення цієї зміни не вплине на файли, які наразі відкриті в Notepad ++. Крім того, закриття та повторне відкриття Notepad ++ все ще не вплине на файли, які залишаються відкритими між сесіями. Окремі файли повинні бути закриті та повторно відкриті, щоб ефект був помічений.
mwolfe02

Цей метод також не працює для визначених користувачем мов. Для них дивіться відповідь нижче, але замість langs.xml редагуйте userDefineLang.xml
Chase Sandmann

2
Цей метод, здається, працює лише під час відкриття Notepad ++ як адміністратора. Дивіться цю проблему: github.com/notepad-plus-plus/notepad-plus-plus/isissue/67 Також, схоже, зберігаються зміни в програмних файлах (тому випуск дозволу) в C: \ Program Files (x86) \ Блокнот ++ \ themes \ SelectedTheme.xml, що означає, що цей параметр не використовується при переключенні тем.
Даніель Богдан

67

Знайдіть файл langs.xml (зазвичай під C: \ Users [ім'я користувача] \ AppData \ Роумінг \ Notepad ++), відкрийте його за допомогою Notepad ++, знайдіть рядок, який починається, <Language name="sql" ext="sql"і додайте потрібні розширення у поле ext , відокремлюючи їх простір.

Щоб зробити це для визначеної користувачем мови, знайдіть замість userDefineLang.xml та відредагуйте ext="".

Якщо ви встановили блокнот ++ у "портативному" -моді, то langs.xml та userDefineLangs.xml будуть безпосередньо в папці, де знаходиться блокнот ++.


6
Такий підхід також працює чудово, але підхід Т. Калтнекара трохи зручніший для користувача, дякую!
Сатьядхіт Бхат

Це єдиний спосіб, який я знав :).
алекс

2
Приємно, я віддаю перевагу такому підходу, у мене дуже багато спеціальних розширень, і їх легше копіювати та передавати таким чином.
Джеймс

2
Цей метод спрацював для мене. Я не розумію, чому додавання розширення до GUI не працює. "C: \ users (user) \ appdata \ roaming \ notepad ++ \ langs.xml"
jimueller

У мене не встановлено Notepadd ++, просто розпаковане, тому lang.xmlфайл знаходиться в каталозі додатків ;-)
Betlista

0

Якщо ви використовуєте файли сеансу Notepad ++ (я назвав їх *.nppxml), ви можете їх відредагувати та змінити <File lang="...">атрибут, наприклад

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

до:

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

щоб отримати хороший за замовчуванням (або визначений користувачем, як у моєму випадку з *.logфайлами) підсвічування синтаксису негайно, не відкриваючи кожен окремий файл тощо.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.