我有许多文件,即使它们的扩展名相同,我也想用不同的颜色显示它们。例如,我有一些 *.config 文件实际上是 Python 文件,还有一些是 XML 文件。当我打开它们时,我必须手动将语言更改为 Python 或 XML。
例如,如果 Notepad++ 能够记住 c:\foo\bar\whatevs.config 应该使用 Python 样式,而 c:\hey\ho\boo.config 应该使用 XML 样式,那就太好了。
Notepad++ 中有什么方法可以“记住上次打开文件时使用的语言”?也许是插件?
答案1
有一个 GUI 选项可以在文件扩展名和语言之间设置静态链接(而不是像@jakub.g 建议的那样手动编辑%APPDATA% langs.xml
文件或%PROGRAMFILES% langs.model.xml
文件):
如果您转到“设置”->“样式配置器”->“选择左侧的语言”,则屏幕底部会出现两个文本框:
在这个例子中,我在User ext.
文本框中添加了“config”,所以任何时候我打开一个带有.config文件扩展名的文件时,语言菜单下都会自动选择XML语法突出显示。
我知道这并不能解决记住哪种语法突出显示应用于单个特定文件的问题,但它是为所有文件扩展名设置突出显示的简单方法。
如果您想记住单个文件的语法高亮选择,我相信唯一的选项是选中复选框:设置->首选项->杂项->记住当前会话以供下次启动。
答案2
这不完全是你想要的,但适用于你关于 .txt 文件作为 Markdown 文件的评论。一个可能的选项是将 Markdown 设置为所有 .txt 文件的语言。
这假设markdown_npp已安装。编辑以下文件需要您自担风险(编辑这些文件前请先备份):
- 从 %appdata%\Notepad++ 打开 langs.xml
- 消除TXT来自正常语言的扩展:
- 前:
<Language name="normal" ext="txt" />
- 后:
<Language name="normal" ext="" />
- 前:
- 消除TXT来自正常语言的扩展:
- 从 %appdata%\Notepad++ 打开 userDefineLang.xml
- 添加TXTMarkdown 语言的扩展:
- 前:
<UserLang name="Markdown" ext="md">
- 后:
<UserLang name="Markdown" ext="md txt">
- 前:
- 添加TXTMarkdown 语言的扩展:
- 重新启动 Notepad++
答案3
要添加扩展和语言之间的固定连接,请打开 NPP 文件夹(例如C:\Program hFiles\Notepad++
),那里有几个 XML 文件。编辑它们(我不记得具体是哪一个,langs.xml
或者langs.model.xml
)。
例子:
<Language name="cpp" ext="h hpp hxx cpp cxx cc">
找到您想要的语言并添加扩展。
但是我不知道如何使相同的扩展名因文件夹而异。
答案4
这适用于记事本++ v.8.4.6
它预装了两个文件(markdown._preinstalled.udl.xml
和markdown._preinstalled_DM.udl.xml
[用于暗黑模式])在 %APPDATA%\Notepad++\userDefineLangs
请执行下列操作。
in `%APPDATA%\Notepad++`
amend langs.xml
**Before**: <Language name="normal" ext="txt"/>
**After**: <Language name="normal" ext=""/>
amend userDefineLangs\markdown._preinstalled.udl.xml
**Before**: <UserLang name="Markdown (preinstalled)" ext="md markdown" udlVersion="2.1">
**After**: <UserLang name="Markdown (preinstalled)" ext="md markdown txt" udlVersion="2.1">
Associate txt/md with notepad++
Start notepad++ by `Run as admin`
Filemenu Settings/Preference/File Association
markdown._preinstalled_DM.udl.xml
(如果您使用暗黑模式,请执行相同操作。)
重新启动notepad++
。(请注意,为了使其生效,您需要重新开放(关闭并打开)txt 文件(如果在设置之前已经打开了任何 txt 文件。)