Mit Notepad++ ist es möglich, in einer Quelldatei an einer bestimmten Zeilennummer zu springen, indem man die Option "-n" zusammen mit dem Zieldateinamen verwendet. Nun möchte ich Notepad++ von der Kommandozeile aus starten und direkt zu einem bestimmten Funktionsdefinitionsblock springen, z. B. indem ich in der Kommandozeile eine bestimmte Textzeichenfolge angebe. Auf diese Weise lassen sich direkte Links zu einem Quellcodeblock realisieren, dessen Startzeilennummer sich häufig ändern kann. Wäre das irgendwie möglich?
Antwort1
Versuchen Sie zuerst, die Zeilennummer herauszufinden und übergeben Sie diese als Argument an Notepad++.
set results=find /n "gesuchter String" C:\Pfad-zur-Datei.txt
/n fügt die Zeilennummer am Anfang Ihrer Ergebnisse hinzu
findstr kann hilfreich sein, um die Zeilennummer zu extrahieren, nachdem Sie find verwendet haben: echo %results%|findstr /R some_pattern
Siehe auch:
Antwort2
Am besten erstellen Sie ein kleines Skript (Batch, Perl usw.), das die Zeilennummer abruft und Notepad++ ausführt.
Hier ist ein Beispiel mit Windows Batch. Um es auszuführen, müssen Sie nur Folgendes tun:
Notepad_jumpline.bat <filename> <section>
@REM --Notepad_jumpline.bat--
@echo off
for /f "tokens=1" %%i in ('findstr /n %2 %1') do (
set n_lines=%%i
goto _Run_Notepad_
)
:_Run_Notepad_
set n_lines=%n_lines::=%
"C:\Program Files (x86)\Notepad++\notepad++.exe" %1 -n%n_lines%