Змусити Notepad ++ запам'ятати певну мову для певного файлу?


10

У мене є декілька файлів, які я хотів би кольоровими різними способами, хоча вони мають однакове розширення. Наприклад, у мене є деякі * .config файли, які насправді є файлами Python, а також деякі з XML-файлів. Коли я відкриваю їх, я повинен вручну змінити мову на Python або XML.

Було б добре, якби, наприклад, Notepad ++ пам’ятав, що c: \ foo \ bar \ whatevs.config повинен використовувати стиль Python, але c: \ hey \ ho \ boo.config повинен використовувати XML-стиль.

Будь-який спосіб у «Блокноті ++» сказати «пам’ятаєте мову, яка використовувалася востаннє, коли файл відкривався»? Можливо, плагін?


У вас виникли проблеми десь за допомогою правильних розширень файлів?
iglvzx

1
У мене є додаток Python, який використовує файли .config, які дійсно є файлами Python, і .NET використовує .config файли, які насправді є XML-файлами. В якості іншого прикладу я маю файли розмітки, які використовують розширення .txt, оскільки вони синхронізуються з додатком для Android, який не розуміє, що таке .md файли.
mhenry1384

Я бачу. Чи пам’ятає він мову, яку ви встановили, коли закриєте «Блокнот ++» з відкритим файлом, а потім знову відкриваєте «Блокнот ++»?
iglvzx

2
Насправді це так, якщо у вас встановлено "Запам'ятати поточний сеанс для наступного запуску" (чого я не роблю). Але він це забуває, коли ви закриєте файл і знову відкриєте його.
mhenry1384

Відповіді:


12

Існує опція графічного інтерфейсу для встановлення статичного зв’язку між розширенням файлу та мовою (замість того, щоб вручну редагувати %APPDATA% langs.xmlфайл або %PROGRAMFILES% langs.model.xmlфайл, як запропонував @ jakub.g):

Якщо ви перейдете до Налаштування -> Конфігуратор стилю -> виберіть мову зліва, то внизу екрана з'являться два текстових поля:

Конфігуратор стилів

У цьому прикладі я додав "конфігурацію" до User ext.текстового поля, тому щоразу, коли я відкриваю файл із розширенням .config, підсвічування синтаксису XML буде автоматично вибрано в меню мови.

Я знаю, що це не вирішує проблему запам'ятовування того, яке підсвічування синтаксису слід застосувати до одного конкретного файлу, але це простий спосіб налаштування виділення для всіх розширень файлів.

Якщо ви хочете запам'ятати вибір виділення синтаксису для окремого файлу, я вважаю, що єдиним варіантом є встановити прапорець: Налаштування -> Налаштування -> MISC -> Запам'ятати поточний сеанс для наступного запуску.


але це не рятує. Щойно ви закриєте та знову відкриєте блокнот ++, зміни не зникнуть.
r3wt

@ r3wt Я вважаю, що вам потрібно, run as administratorінакше у нього не буде дозволів зберігати налаштування до вашого профілю користувача.
wweicker

Це не працюватиме для вбудованих розширень файлів. Ви повинні видалити розширення вручну з частини частини мови у файлі langs.xml. Цей файл може жити в% APPDATA% / Notepad ++ або в каталозі встановлення Notepad ++ або у вашому хмарному сховищі, тобто DropBox, OneDrive або GoogleDrive, якщо для параметра "Cloud" увімкнено налаштування.
Ян Стенвей

Чи працює це для користувацьких мов? Я не можу знайти свого місця в списку.
Fabian Röling

1

Ви не просто вимагаєте цього, але стосується Вашого коментаря щодо файлів .txt як файлів Markdown. Один з можливих варіантів - встановити Markdown як мову для всіх файлів .txt.

Це передбачає, що markdown_npp встановлено. Редагуйте такі файли на свій страх і ризик (зробіть резервні копії перед редагуванням цих файлів):

  • Відкрийте langs.xml з% appdata% \ Notepad ++
    • Видалити розширення txt зі звичайної мови:
      • Перед: <Language name="normal" ext="txt" />
      • Після: <Language name="normal" ext="" />
  • Відкрийте userDefineLang.xml з% appdata% \ Notepad ++
    • Додати розширення txt до мови розмітки:
      • Перед: <UserLang name="Markdown" ext="md">
      • Після: <UserLang name="Markdown" ext="md txt">
  • Перезапустіть Блокнот ++

працював на мене, і це був єдиний спосіб, коли я міг отримати блокнот ++, щоб назавжди зберігати стосунки. спасибі
r3wt

0

Щоб додати фіксований зв’язок між розширенням та мовою, відкрийте папку NPP (наприклад C:\Program hFiles\Notepad++), там є кілька XML-файлів. Відредагуйте їх (я не пам'ятаю, що саме, langs.xmlабо langs.model.xml).

Приклад: <Language name="cpp" ext="h hpp hxx cpp cxx cc">

Знайдіть потрібну мову та додайте розширення.

Однак я не знаю, як зробити те саме розширення для кожної папки.

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