可以使Notepad ++本身打开文件链接吗?


13

在“设置/首选项”中,Notepad ++ 在右侧“可单击的链接设置”MISC.下的选项卡上具有一个选项,可启用以打开在已编辑文件中找到的链接。它会突出显示并双击打开它们。我已经尝试过使用该 协议,并且可以运行,但是实际上它是根据我在Windows中设置的任何文件关联来执行它们的。file:///

是否有一种方法,一种协议或一种“制作”(本地)协议的方法,以使Notepad ++从文档中的这些链接在Notepad ++本身中打开任何类型的文件(任何扩展名)?(即在另一个标签中)


这是一个很晚的响应...因此,您不想将默认编辑器更改为Notepad ++,而只想在打开它们时将Notepad ++内部的链接保留在其中?
2013年

@Jon是的,正如您所说!另外,如果我可以选择要在内部(n ++)和外部(OS)打开的链接类型(协议),那就更好了。所以我可以选择只有file://链接在n ++中打开。
13年

1
我想这需要一个插件才能做到。在Directory中扫描了Notepad ++插件,但没有发现类似的东西,只有Explorer插件可以打开任何在Npp中单击的文件。
zagrimsan

对于像我这样愚蠢的人:我无法通过file://链接使用它。这是因为我正在尝试“ file:// C:\ SomeFolder \ SomeFile.txt”。当它切换到“ file:// C:/SomeFolder/SomeFile.txt”时,它起作用了
Rob3C 2016年

切记要用%20它代替链接中的空格,例如file://C:/Some%20Folder/Some%20File.txt。只要您拥有协议权限,就可以在路径中保留反斜杠\的情况file://C:\Some%20Folder\Some%20File.txt
托马斯·施密特

Answers:


6

file://是Windows的固有协议,因此,如果您想忽略“ Windows中设置的任何文件关联”,我建议您使用专用协议npp://。然后将其添加到注册表中(使用系统上的相应路径):

[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\""

1
精湛的技巧和有趣的结果:D。根据路径分隔符和我使用的目录数量,N ++ / windows的行为会大不相同(有时会在资源管理器中打开一个文件夹吗?我也逃脱\"%1\"了.reg文件。
n611x007 2013年

点了。:“>我现在已经自己纠正了,但是考虑到它是一个错误修复,我认为您可以自己完成;关于不一致的结果,我内的程序员建议您制作一个强调以下内容的测试应用:无论Windows将其作为args [0]传递给它::D
CB

在我的Win10上不起作用。(在文件路径中对“(x86)”进行纠正或不进行纠正。)我想我也需要Luke在他的回答中描述的解决方法。
StackzOfZtuff

1

给定的答案不适用于我的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 ++中用%20“空格” 进行更正,否则,链接的超链接NPP:///c:/path/file name.txt将在之后停止file

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.