在“设置/首选项”中,Notepad++ 在MISC.
以下选项卡上有一个选项‘可点击链接设置’向右,向使能够打开在编辑的文件中找到的链接。它会在它们下划线并在双击时打开它们。我已经尝试使用该 file:///
协议并且它有效,但它实际上根据我在 Windows 中设置的任何文件关联来执行它们。
有没有办法,协议,或者“制作”一个(本地)协议的方法,以便 Notepad++ 可以在 Notepad++ 本身中从文档中的这些链接打开任何类型的文件(任何扩展名)?(即在另一个选项卡中)
答案1
file://
是 Windows 的固有协议,因此如果您想忽略“Windows 中设置的任何文件关联”,我建议您使用专用协议,例如npp://
。然后将其添加到您的注册表中(使用系统上的相应路径):
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\NPP]
@="URL: NotePad++ Protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\NPP\DefaultIcon]
@="\"C:\\Program Files\\Notepad++\\notepad++.exe\""
[HKEY_CLASSES_ROOT\NPP\shell]
[HKEY_CLASSES_ROOT\NPP\shell\open]
[HKEY_CLASSES_ROOT\NPP\shell\open\command]
@="\"C:\\Program Files\\Notepad++\\notepad++.exe\" \"%1\""
答案2
给出的答案不适用于我的 Windows 7 Pro 系统。该参数%1
从未(正确)提供给 NotePad++,并且它以一个空的新文件启动。
但是我通过启动了一个批处理文件,@=c:\soft\start-notepad.bat "%1"
在这个批处理文件中,我删除了NPP:///
前缀%1
,并用替换了/
其中\
的%1
。从这个批处理文件中,使用修改后的参数启动 NotePad++%1
确实可以正常工作。以下是简短的批处理文件代码:
启动记事本
set note=insert here the path to notepad++.exe
set para1=%1%
SETLOCAL ENABLEDELAYEDEXPANSION
set para1=!para1:edit:///=!
set para1=!para1:/=\!
%note% %para1%
"%1"
周围的引号%1
实际上不是必需的,因为带有空格或特殊符号的路径或文件名无论如何都会导致 Notepad++ 中的超链接损坏。
如果有必要,必须在 NotePad++ 中使用例如%20
“空格”进行更正,否则链接的超链接NPP:///c:/path/file name.txt
将在之后停止file
。
答案3
在 Notepad++ v8.3.3 (64 位,Win 11) 中,我只需稍加修改即可在 notepad++ 中打开文件 URL。单击的文件将在 notepad++ 中作为新选项卡打开。出于某种原因,我需要写入:
file:///C:/Me/Documents/My%20File.txt
请注意后面的额外斜线file://
。
没有进行其他更改