使用 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%