Por que os plugins do notepad ++ não funcionam em macro?


6

Por que os plugins do Notepad ++ não funcionam em uma macro? Por exemplo:

Manual run plugin - Converter -> "ASCII -> HEX"
AAAA 4141414120
BBBB 42424242
CCCC 43434343

Runned as recorded macro
AAAA 4[nul][dc4][nul]Ő
Ąý
BBBB 4[nul][dc4][nul]Ő
Ąý
CCCC 4[nul][dc4][nul]Ő
Ąý

O mesmo acontece com o plugin TextFx, MathLab e assim por diante ... Como posso resolver esse problema?

Preciso automatizar (macro de registro) com EvaluateExpressions ou outros métodos de plug-in (TextFx -> Convert -> Decimal To Hex) ou (MyPlugin -> MyMethode).

Respostas:


3

Pelo menos na versão 5.9.2 do Notepad ++, Configurações-> Mapeador de Atalhos possui um botão para "Comandos de Plug-in".

Você pode atribuir um comando de plug-in diretamente a qualquer atalho de sua escolha, sem precisar de uma macro ou script. "TextFx -> Converter -> decimal em hexadecimal" aparece na linha 144 como "C: converter número decimal em hexadecimal".

Ou adicione o comando plugin ao menu do botão direito. Use Configurações-> Editar menu de contexto pop-up. Mais simples do que eu esperava!


2

Você pode tentar fazer isso com o plugin pythonscript (você pode obtê-lo com o gerenciador de plugins): http://sourceforge.net/projects/npppythonscript/

Depois que o plug-in estiver instalado, crie um novo script e coloque:

notepad.runMenuCommand('TextFX Convert', 'Decimal To Hex')

docs: http://npppythonscript.sourceforge.net/docs/latest/notepad.html#Notepad.runMenuCommand

Você pode adicioná-lo ao menu python e escrever um atalho na janela "mapeador de atalhos".

opção 2

Você também pode tentar a maneira mais problemática usando o patch de macro Universal, localizado aqui:

http://sourceforge.net/tracker/?func=detail&aid=3132767&group_id=95717&atid=612384

Você precisaria compilar n ++, e não tenho certeza de como fazer isso.

Boa sorte.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.