Notepad++ では、ターゲット ファイル名とともにオプション "-n" を使用して、ソース ファイルの特定の行番号にジャンプすることができます。ここで、コマンド ラインから Notepad++ を起動し、コマンド ラインで特定のテキスト文字列を指定するなどして、特定の関数定義ブロックに直接ジャンプしたいと思います。こうすることで、開始行番号が頻繁に変わる可能性のあるソース コード ブロックへの直接リンクを実現できます。これは何らかの方法で可能でしょうか?
答え1
まず行番号を見つけて、それを引数として Notepad++ に渡してみてください。
results=find /n "探している文字列" C:\path-to-file.txt を設定します
/n は結果の先頭に行番号を追加します
findstrは、findを使用した後に行番号を抽出するのに役立つ場合があります: echo %results%|findstr /R some_pattern
参照:
答え2
最善の方法は、行番号を取得して Notepad++ を実行する小さなスクリプト (バッチ、Perl など) を作成することです。
これは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%