在 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%

相關內容