перейти к объявлению конкретной функции из командной строки в Notepad++

перейти к объявлению конкретной функции из командной строки в Notepad++

С помощью Notepad++ можно перейти в исходный файл на определенную строку, используя опцию "-n" вместе с именем целевого файла. Теперь я хотел бы запустить Notepad++ из командной строки и напрямую перейти к определенному блоку определения функции, например, указав определенную текстовую строку в командной строке. Таким образом реализуются прямые ссылки на блок исходного кода, начальный номер строки которого может часто меняться. Возможно ли это как-то?

решение1

Попробуйте сначала узнать номер строки и передать его в качестве аргумента в Notepad++.

set results=find /n "строка, которую мы ищем" C:\path-to-file.txt

/n добавляет номер строки в начало результатов

findstr может быть полезен для извлечения номера строки после использования find: echo %results%|findstr /R some_pattern

Смотрите также:

решение2

Лучший способ — создать небольшой скрипт (Batch, Perl, любой другой), который извлекает номер строки и запускает Notepad++.

Вот пример с пакетом Windows; чтобы запустить его, вам просто нужно сделать 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%

Связанный контент