O Notepad ++ pode ser criado para abrir links de arquivos por si só?

12

Em Configurações / Preferências, o Notepad ++ tem uma opção na MISC.guia em 'Configurações de link clicáveis' à direita, para Habilitar para abrir links encontrados nos arquivos editados. Ele os sublinha e os abre com um clique duplo. Eu tentei com o file:///protocolo e funciona, mas na verdade os executa de acordo com a associação de arquivos que eu defini no Windows.

Existe uma maneira, um protocolo ou uma maneira de "criar" um protocolo (local), de modo que o Notepad ++ abra qualquer tipo de arquivo (qualquer extensão), a partir desses links no documento, no próprio Notepad ++? (ou seja, em outra guia)

n611x007
fonte
Essa é uma resposta bastante tardia ... Então, você não deseja alterar seu editor padrão para o Notepad ++, apenas deseja permitir que os links que estão dentro do Notepad ++ permaneçam lá quando você os abrir?
21413 Jon
@ Jon sim, como você diz! Como um extra, melhor ainda se eu puder selecionar qual tipo (protocolo) de links abrir internamente (n ++) e externamente (OS). Então, eu poderia selecionar esse único arquivo: // links para abrir em n ++.
N611x007
1
Eu acho que isso exigiria um plugin para fazer isso. Verificamos através dos plugins Directory para Notepad ++, mas não encontramos nada parecido, apenas o plug-in Explorer, que promete abrir qualquer arquivo clicado no Npp.
Zagrimsan
Para alguém lá fora tão burro quanto eu: não consegui fazer isso funcionar com arquivos: // links. É porque eu estava tentando "file: // C: \ SomeFolder \ SomeFile.txt". Funcionou quando mudou para "file: // C: /SomeFolder/SomeFile.txt"
Rob3C
Lembre-se de usar %20como substituto para um espaço no link, por exemplo file://C:/Some%20Folder/Some%20File.txt. Ele também funciona se você deixar a barra invertida \ no caminho, enquanto você tem o direito protocolo: file://C:\Some%20Folder\Some%20File.txt.
Thomas H. Schmidt

Respostas:

6

file://é um protocolo intrínseco do Windows, portanto, se você deseja ignorar a "associação de arquivos [definida] no Windows", sugiro que você use um protocolo dedicado, por exemplo npp://. Em seguida, adicione isso ao seu registro (usando o caminho correspondente no seu 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
fonte
1
dica excelente e resultados engraçados: D. dependendo do separador de caminho e do número de diretórios que eu uso, o N ++ / windows se comporta de maneira muito diferente (às vezes, abrindo uma pasta no explorer ?!), a maioria das combinações não funciona. Também escapei \"%1\"no arquivo .reg.
N611x007
Ponto tomado. : "> Corrigi-o agora, mas acho que você poderia fazer isso sozinho, considerando que é uma correção de bug.; Quanto aos resultados inconsistentes, o programador em mim gostaria de sugerir que você faça um aplicativo de teste que destaque o que quer que seja que o Windows está passando para ele como args [0] ...: D
CB
Não funciona no meu Win10. (Com ou sem correções para "(x86)" no caminho do arquivo.) Acho que também precisaria da solução alternativa que Lucas descreve em sua resposta .
StackzOfZtuff
1

A resposta dada não funcionou no meu sistema Windows 7 Pro. O parâmetro %1nunca foi fornecido (corretamente) ao NotePad ++ e foi iniciado com um novo arquivo vazio.

No entanto, em vez disso, iniciei um arquivo @=c:\soft\start-notepad.bat "%1" em lote neste arquivo em lote, retirei o NPP:///prefixo %1e o substituí /por \dentro %1. Nesse arquivo em lote, o início do NotePad ++ com o parâmetro modificado %1funciona perfeitamente. Aqui está o código do arquivo de lote curto:

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%

As aspas "%1"ao redor %1não são realmente necessárias, porque caminhos ou nomes de arquivos com espaços ou símbolos especiais resultarão em links quebrados no Notepad ++.

Se necessário, isso deve ser corrigido no NotePad ++ com, por exemplo, %20o "espaço"; caso contrário, o hiperlink do link NPP:///c:/path/file name.txtserá interrompido depois file.

Lucas
fonte