Notepad++ のコマンドラインから特定の関数宣言にジャンプする

Notepad++ のコマンドラインから特定の関数宣言にジャンプする

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%

関連情報