Kann Notepad ++ dazu gebracht werden, Dateilinks in sich selbst zu öffnen?

12

Unter Einstellungen / Einstellungen hat Notepad ++ eine Option auf der MISC.Registerkarte unter ‚klickbaren Link Einstellungen‘ auf der rechten Seite , aktivieren zu öffnen Links in den bearbeiteten Dateien gefunden. Es unterstreicht sie und öffnet sie per Doppelklick. Ich habe es mit dem file:///Protokoll versucht und es funktioniert, aber es führt sie tatsächlich gemäß der in Windows festgelegten Dateizuordnung aus.

Gibt es eine Möglichkeit, ein Protokoll oder eine Möglichkeit, ein (lokales) Protokoll zu "erstellen", sodass Notepad ++ über diese Links im Dokument in Notepad ++ selbst beliebige Dateien (beliebige Erweiterungen) öffnet? (dh in einem anderen Tab)

n611x007
quelle
Dies ist eine recht späte Antwort. Sie möchten also Ihren Standardeditor nicht in Notepad ++ ändern, sondern nur Links aktivieren, die sich in Notepad ++ befinden, um dort zu bleiben, wenn Sie sie öffnen?
Jon
@ Jon ja, wie du sagst! Als Extra noch besser, wenn ich auswählen kann, welche Art (Protokoll) von Links intern (n ++) und extern (OS) geöffnet werden soll. So konnte ich nur diese Datei auswählen: // Links zum Öffnen in n ++.
n611x007
1
Ich schätze, das würde ein Plugin erfordern, um das zu tun. Durchsuchte Directory nach Notepad ++ - Plugins , entdeckte aber nichts Vergleichbares, nur das Explorer-Plugin, das verspricht, alle Dateien zu öffnen, auf die in Npp geklickt wird.
Zagrimsan
Für alle da draußen, die so dumm sind wie ich: Ich konnte nicht erreichen, dass das mit file: // links funktioniert. Das liegt daran, dass ich "file: // C: \ SomeFolder \ SomeFile.txt" ausprobiert habe. Es funktionierte, als es auf "file: // C: /SomeFolder/SomeFile.txt"
umgestellt wurde
Denken Sie daran, %20als Ersatz für ein Leerzeichen im Link zu verwenden, z file://C:/Some%20Folder/Some%20File.txt. Es funktioniert auch , wenn Sie den Backslash \ im Pfad verlassen, solange Sie das Protokoll Recht haben: file://C:\Some%20Folder\Some%20File.txt.
Thomas H. Schmidt

Antworten:

6

file://ist ein eigenständiges Protokoll von Windows. Wenn Sie also die in Windows festgelegte Dateizuordnung [] ignorieren möchten, würde ich vorschlagen, dass Sie beispielsweise ein dediziertes Protokoll verwenden npp://. Fügen Sie dies dann zu Ihrer Registrierung hinzu (indem Sie den entsprechenden Pfad auf Ihrem System verwenden):

[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
quelle
1
Hervorragender Tipp und lustige Ergebnisse: D. Abhängig vom Pfadtrennzeichen und der Anzahl der von mir verwendeten Verzeichnisse verhält sich N ++ / windows sehr unterschiedlich (manchmal wird ein Ordner im Explorer geöffnet ?!), die meisten Kombinationen funktionieren nicht. Auch ich bin \"%1\"in der .reg-Datei geflüchtet .
n611x007
Punkt genommen. : "> Ich habe es jetzt selbst korrigiert, aber ich denke, Sie hätten es selbst tun können, wenn es sich um eine Fehlerbehebung handelte.; In Bezug auf die inkonsistenten Ergebnisse möchte der Programmierer in mir vorschlagen, dass Sie eine Test-App erstellen, die hervorhebt Was auch immer es ist, dass Fenster als Argumente [0] ...: D
CB
Funktioniert nicht auf meinem Win10. (Mit oder ohne Korrekturen für "(x86)" im Dateipfad.) Ich denke, ich brauche auch die Problemumgehung, die Luke in seiner Antwort beschreibt .
StackzOfZtuff
1

Die angegebene Antwort hat auf meinem Windows 7 Pro-System nicht funktioniert. Der Parameter %1wurde NotePad ++ nie (korrekt) zur Verfügung gestellt und begann mit einer leeren neuen Datei.

Doch stattdessen begann ich eine Batch - Datei durch @=c:\soft\start-notepad.bat "%1" In dieser Batch - Datei , die ich aus dem abgestreiften NPP:///Präfix aus %1und ersetzt /mit \innen %1. Ab dieser Batch-Datei funktioniert der Start von NotePad ++ mit dem geänderten Parameter %1einwandfrei. Hier ist der kurze Batch-Dateicode:

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%

Die Anführungszeichen "%1"um %1sind nicht wirklich notwendig, da Pfade oder Dateinamen mit Leerzeichen oder Sonderzeichen sowieso in gebrochenem Hyperlinks in Notepad ++ führen.

Bei Bedarf muss dies in NotePad ++ mit zB %20für das "Leerzeichen" korrigiert werden , sonst NPP:///c:/path/file name.txtstoppt das Hyperlinking des Links nach file.

Luke
quelle