С помощью 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%