pule para a declaração de função específica da linha de comando no Notepad ++

pule para a declaração de função específica da linha de comando no Notepad ++

Com o Notepad++ é possível acessar um arquivo de origem em um determinado número de linha usando a opção "-n" junto com o nome do arquivo de destino. Agora, gostaria de iniciar o Notepad++ a partir da linha de comando e pular diretamente para um determinado bloco de definição de função, por exemplo, especificando uma determinada sequência de texto na linha de comando. Realizando assim links diretos para um bloco de código fonte cujo número de linha inicial pode mudar com frequência. Isso seria possível de alguma forma?

Responder1

Tente descobrir primeiro o número da linha e passe-o como argumento para o Notepad++.

set results=find /n "string que estamos procurando" C:\path-to-file.txt

/n adiciona o número da linha no início dos seus resultados

findstr pode ser útil para extrair o número da linha depois de usar find: echo %results%|findstr /R some_pattern

Veja também:

Responder2

A melhor maneira é criar um pequeno script (Batch, Perl, qualquer que seja) que recupere o número da linha e execute o Notepad++.

Aqui está um exemplo com lote do Windows; para executá-lo, você só precisa fazer 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%

informação relacionada