¿Se puede hacer Notepad ++ para abrir enlaces de archivos en sí mismo?

13

En Configuración / Preferencias, Notepad ++ tiene una opción en la MISC.pestaña en 'Configuración de enlace en la que se puede hacer clic' a la derecha, para habilitar para abrir los enlaces encontrados en los archivos editados. Los subraya y los abre al hacer doble clic. Lo probé con el file:///protocolo y funciona, pero en realidad los ejecuta de acuerdo con la asociación de archivos que configuré en Windows.

¿Hay alguna forma, un protocolo o una forma de "crear" un protocolo (local), de modo que Notepad ++ abra cualquier tipo de archivo (cualquier extensión), desde estos enlaces en el documento, en el Bloc de notas ++? (es decir, en otra pestaña)

n611x007
fuente
Esta es una respuesta bastante tardía ... Entonces, ¿no desea cambiar su editor predeterminado para que sea Notepad ++, solo desea habilitar los enlaces que están dentro de Notepad ++ para que permanezcan allí cuando los abra?
Jon
@ Jon sí, como dices! Como extra, aún mejor si puedo seleccionar qué tipo (protocolo) de enlaces abrir internamente (n ++) y externamente (OS). Entonces podría seleccionar ese único archivo: // enlaces para abrir en n ++.
n611x007
1
Supongo que eso requeriría un complemento para hacer eso. Escaneado a través del directorio en busca de complementos de Notepad ++, pero no detecté nada parecido, solo el complemento Explorer que promete abrir cualquier archivo en el que se haga clic en Npp.
zagrimsan
Para cualquiera que sea tan tonto como yo: no pude hacer que esto funcione con file: // links. Es porque estaba intentando "file: // C: \ SomeFolder \ SomeFile.txt". Funcionó cuando lo cambió a "file: // C: /SomeFolder/SomeFile.txt"
Rob3C
Recuerde usar %20como reemplazo de un espacio en el enlace, por ejemplo file://C:/Some%20Folder/Some%20File.txt. También funciona si sale de la barra invertida \ en el camino, siempre y cuando usted tiene el derecho protocolo: file://C:\Some%20Folder\Some%20File.txt.
Thomas H. Schmidt

Respuestas:

6

file://es un protocolo intrínseco de Windows, por lo que si desea ignorar "cualquier asociación de archivos [establecida] en Windows", le sugiero que utilice un protocolo dedicado, por ejemplo npp://. Luego agregue esto a su registro (usando la ruta correspondiente en su sistema):

[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\""
CB
fuente
1
Consejo excelente y resultados divertidos: D. dependiendo del separador de ruta y la cantidad de directorios que uso, N ++ / windows se comporta de manera muy diferente (¿a veces abriendo una carpeta en el explorador?), la mayoría de las combinaciones no funcionan. También escapé \"%1\"en el archivo .reg.
n611x007
Punto a favor. : "> Lo he corregido yo mismo ahora, pero creo que podría haberlo hecho usted mismo, teniendo en cuenta que es una corrección de errores. En cuanto a los resultados inconsistentes, el programador en mí quisiera sugerirle que haga una aplicación de prueba que destaque sea ​​lo que sea que Windows le pase como argumentos [0] ...: D
CB
No funciona en mi Win10. (Con o sin correcciones para "(x86)" en la ruta del archivo). Creo que también necesitaría la solución que Luke describe en su respuesta .
StackzOfZtuff
1

La respuesta dada no funcionó para mi sistema Windows 7 Pro. El parámetro %1nunca se proporcionó (correctamente) a NotePad ++ y comenzó con un nuevo archivo vacío.

Sin embargo, en su lugar, comencé un archivo por lotes. @=c:\soft\start-notepad.bat "%1" En este archivo por lotes eliminé el NPP:///prefijo %1y lo reemplacé /por \dentro %1. Desde este archivo por lotes, el inicio de NotePad ++ con el parámetro modificado %1funciona perfectamente. Aquí está el código de archivo por lotes corto:

start-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%

Las comillas "%1"alrededor %1no son realmente necesarias, debido a caminos o nombres de archivo con espacios o símbolos especiales serán en cualquier caso dar lugar a enlaces rotos en Notepad ++.

Si es necesario, esto debe corregirse en NotePad ++ con, por ejemplo, %20el "espacio"; de lo contrario, el hipervínculo del enlace NPP:///c:/path/file name.txtse detendrá después file.

Luke
fuente