題 在Notepad ++中為語言突出顯示語法分配自定義擴展


在當前版本的Notepad ++中,打開.sql文件會導致Notepad對其應用SQL語法高亮顯示。我也想讓Notepad ++為其他擴展做同樣的事情,是否有一些設置我可以定義它?


265
2017-09-14 10:09


起源


它還沒有?它應該默認情況下這樣做。 - D'Arvit
它適用於.sql文件,不適用於其他文件 - Sathya♦
我希望Notepad ++能夠記住從每個文件的菜單中選擇的語言,或者在第二次將擴展名與語言相關聯時,將其擴展名添加到該語言的樣式配置器中。 - Matthew Lock
請注意,您還可以通過以下方式修改擴展程序的語言顏色 語言/定義你的語言...... 菜單。 - wil
可能重複 如何告訴Notepad ++始終使用特定文件擴展名的特定語言 - DaveInCaz


答案:


在notepad ++中打開文件時,它將嘗試根據文件擴展名為內容加載語法高亮顯示。

如果您對其中一種現有語言使用自定義擴展,則可以在“設置” - >“樣式配置器”中添加自定義擴展。選擇語言並在“用戶擴展名”編輯框中添加擴展名。要添加多個擴展,請使用它們分隔 空間

然後,您需要重新打開文件以查看應用的語法突出顯示。

您還可以通過從語言菜單中選擇其他語言來更改語法突出顯示樣式。


333
2017-09-14 10:28



我試過這個,但它只分配了1個擴展名,我想分配多個擴展名。 - Sathya♦
你可以通過用空格分隔來添加多個擴展,將其添加到我的帖子中 - T. Kaltnekar
請注意,進行此更改不會影響當前在Notepad ++中打開的文件。此外,關閉並重新打開Notepad ++仍然不會影響會話之間保持打開的文件。必須關閉並重新打開各個文件才能看到效果。 - mwolfe02
此方法也不適用於用戶定義的語言。對於那些,請參閱下面的答案,但不要使用langs.xml,而是編輯userDefineLang.xml - Chase Sandmann
只有在以管理員身份打開Notepad ++時,此方法似乎才有效。看到這個問題: github.com/notepad-plus-plus/notepad-plus-plus/issues/67 此外,它似乎在C:\ Program Files(x86)\ Notepad ++ \ themes \ SelectedTheme.xml中持續保存程序文件中的更改(這就是權限問題的原因),這意味著切換主題時不使用此設置。 - Daniel Bogdan


找出 langs.xml 文件(通常在C:\ Users [用戶名] \ AppData \ Roaming \ Notepad ++下),用Notepad ++打開它,找到以...開頭的行 <Language name="sql" ext="sql" 並在中添加所需的擴展名 EXT 字段,用空格分隔它們。

要為用戶定義的語言執行此操作,請查找userDefineLang.xml並進行編輯 ext=""

如果您在“portable”模式中安裝了notepad ++,那麼 langs.xml 和 userDefineLangs.xml 將直接在notepad ++所在的文件夾中。


62
2017-09-14 10:23



這種方法也很好,但T. Kaltnekar的方法更加用戶友好,謝謝! - Sathya♦
這是我知道如何:)的唯一方式。 - alex
很好,我更喜歡這種方法,我有很多自定義擴展,它更容易以這種方式複制和過去。 - James
這種方法對我有用。我不明白為什麼用GUI添加擴展名不起作用。 “C:\用戶(用戶)\應用程序數據\漫遊\記事本+ + \ langs.xml” - jimueller
我沒有安裝Notepadd ++,只是解壓縮,所以 lang.xml 文件在應用程序目錄中;-) - Betlista