在 Notepad++ 中从命令行跳转到特定的函数声明

在 Notepad++ 中从命令行跳转到特定的函数声明

使用 Notepad++,可以使用选项“-n”和目标文件名跳转到源文件的某个行号。现在,我想从命令行启动 Notepad++ 并直接跳转到某个函数定义块,例如通过在命令行上指定某个文本字符串。这样就可以直接链接到起始行号可能经常变化的源代码块。这有可能吗?

答案1

首先尝试找出行号,然后将其作为参数传递给 Notepad++。

设置结果 = find /n“我们正在寻找的字符串”C:\path-to-file.txt

/n 在结果开头添加行号

findstr 可能有助于在您使用 find 后提取行号:echo %results%|findstr /R some_pattern

也可以看看:

答案2

最好的方法是创建一个小脚本(批处理,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%

相关内容