Springen Sie von der Befehlszeile in Notepad++ zur spezifischen Funktionsdeklaration

Springen Sie von der Befehlszeile in Notepad++ zur spezifischen Funktionsdeklaration

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%

verwandte Informationen