12

В настройках / настройках Notepad++ имеет параметр для MISC. на вкладке «Настройки интерактивных ссылок» справа, чтобы включить, чтобы открыть ссылки, найденные в отредактированных файлах. Он подчеркивает их и открывает их по двойному щелчку. Я пробовал это с протоколом file:/// , и он работает, но он фактически выполняет их в соответствии с любой файловой ассоциацией, которую я установил в Windows.

Есть ли способ, протокол или способ "сделать" (локальный) протокол, чтобы Notepad++ открывал любые типы файлов (с любым расширением) по этим ссылкам в документе в самом Notepad++? (т.е. в другой вкладке)

2 ответа2

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

Данный ответ не работает для моей системы Windows 7 Pro. Параметр %1 никогда (правильно) не предоставлялся в NotePad++ и начинался с пустого нового файла.

Однако вместо этого я запустил пакетный файл через @=c:\soft\start-notepad.bat "%1" В этом пакетном файле я удалил префикс NPP:/// из %1 и заменил / на \ inside из %1 , Из этого пакетного файла запуск NotePad++ с измененным параметром %1 работает отлично. Вот краткий код командного файла:

пуско-notepad.bat

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 .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .