¿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)


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

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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.