Eu trabalho nos EUA e na Europa, e alternar entre os formatos mês/dia (EUA) e dia/mês (UE) leva a ambigüidades ao examinar registros ou notas (por exemplo, 8/7/12, 8 de julho ou 7 de agosto?).
Gostaria de alterar o recurso de carimbo de data/hora do Notepad++ para usar o formato internacional
YYYY-MM-DD--DAY--HH:MM
2012-08-19--Sun--20:30
Observe que ter o DIA da semana escrito seria um ótimo extra e evitaria ter que procurar que dia era no calendário.
Atualmente o NPP não tem essa flexibilidade. Existe uma maneira de fazer isso usando algum tipo de macro ou script, talvez usando Ruby?
Responder1
Compartilhando como fazer isso usando o plugin NppExec e Ruby.
Solução:
Abordagem: Obtenha uma linguagem de script externa (neste caso Ruby) para retornar o timestamp formatado e para o NppExec recebê-lo e inseri-lo no local do cursor no arquivo atual mostrado no Notepad++.
Primeiro configure o console:
npe_console v+ // set console to receive output in $(OUTPUT) variable
npe_console d+ // set current working directory to same as current file
Em seguida, em NppExec > comando de menu Executar, insira o seguinte trecho:
// Diary snippet (Generates timestamp YYYY-MM-DD--DAY--HH:MM for NPP++)
npp_console disable // turn off output displaying to console
// this ruby one-liner does the work
ruby -r Date -e "dt=DateTime.now; dname = Date::ABBR_DAYNAMES[dt.wday]; puts dt.strftime(\"%Y-%m-%d--#{dname}--%H:%M\");"
sel_settext $(OUTPUT) // put result at cursor in current file
npp_console enable // restore output displaying to console
npp_console 0 // hide the console window
Isso usa o mecanismo Ruby para gerar o carimbo de data/hora e insere-o onde o cursor está no arquivo atual no Notepad++. O resultado (com um atraso de cerca de 500 ms) é o carimbo de data/hora:
2012-08-20--Mon--20:16
Observação:Embora isso certamente funcione, se alguém tiver uma solução que não dependa de nada externo (nesse caso, Ruby), seria melhor.
Editar: "Produção" da solução... (robustez e conveniência)
Seguindo as etapas abaixo, a solução acima pode ser produzida...
Um obstáculo é que fechar o Notepad++ perde a configuração do console, portanto, isso deve ser configurado a cada reinicialização.
Portanto, definimos a configuração do console como um script que é executado automaticamente sempre que o Notepad++ é iniciado.
Em seguida, associe um atalho de teclado (tecla de atalho) ao script do diário por conveniência.
Passo 1: Insira o código do diário em uma caixa de diálogo NppExec Excute...: Plugins > NppExec > Execute...
, dando um nome a ele (você usará esse nome mais tarde)
Passo 2: Insira o código de configuração setup_console de forma semelhante:
Etapas 3, 4, 5: Em Plugins > NppExec > Advanced Options
, configure setup_console para ser executado na inicialização (3), crie um item de Menu para o código do diário (4) e coloque o item de Menu no Macro
menu (5):
Etapa 6:Defina uma tecla de atalho do teclado (atalho) para o script do diário: Settings > Shortcut Mapper... > Plugins
e role para baixo até encontrar o nome do script do diário que você usou...
Resultado:Olhando sob o Macros
comando do menu, você verá seu novo comando Timestamp com atalho de teclado.
Feito!