Notepad ++ novos nomes de arquivos

2

Existe uma maneira de o Notepad + + gerar novos nomes de arquivos com a data atual?

Assim: YYYY_MM_DD_new1.txt ou similar. Atualmente apenas os nomeia: new1, new2, etc.

A data no nome do arquivo funcionará bem com o autosave, não haverá conflitos de nome após o reinício do NPP.

Tudo que eu quero é uma maneira de armazenar sessões entre reinicializações. Eu quero autosave até mesmo os arquivos sem nome.

Obrigado.

    
por vt. 17.07.2013 / 17:38

3 respostas

3

Eu só fiz isso usando o plugin de script Python para NPP ...

notepad.clearCallbacks([NOTIFICATION.BUFFERACTIVATED])
def my_callback(args):
    if notepad.getBufferFilename(args["bufferID"]) == "new  1":
        fmt = '%Y%m%d%H%M%S'
        d = datetime.datetime.now()
        d_string = d.strftime(fmt)
        notepad.saveAs('X:\Documents\Notepad++_autosave\%s.txt' % d_string)
notepad.callback(my_callback, [NOTIFICATION.BUFFERACTIVATED])

Com o código acima, assim que eu digito Ctrl + N , o novo arquivo é criado e salvo instantaneamente com o nome formatado como definido em 'fmt' acima . O caminho para o arquivo a ser salvo também está definido acima; altere-o para se adequar ao seu ambiente.

    
por 16.05.2014 / 21:59
1

O Notepad ++ tem um plug-in Autosave2 que salva seus documentos com um carimbo de data / hora no nome do arquivo como este:

ToDo.txt.2013-04-19 10.13.09

ToDo.txt.2013-04-19 10.14.09

ToDo.txt.2013-04-19 10.15.09

    
por 17.07.2013 / 18:02
0

Eu tentei usar a resposta do mwoliver e ainda tive problemas para executá-la. Fiz algumas alterações e agora isso funcionará para qualquer formato "novo #" em vez de apenas "novo 1".

notepad.clearCallbacks([NOTIFICATION.BUFFERACTIVATED])
def my_callback(args):
    set1 = set(notepad.getBufferFilename(args["bufferID"]).split(' '))
    filenew = set1.pop()
    filenumber = set1.pop().isdigit()
    setempty = len(set1) == 0
    if filenew == "new" and filenumber and setempty:
        fmtdate = '%Y-%m-%d'
        fmttime = '%H%M%S'
        d = datetime.datetime.now()
        d_string = d.strftime(fmtdate) + ' Notes ' + d.strftime(fmttime)
        notepad.saveAs('C:\Users\username\Desktop\%s.txt' % d_string)
notepad.callback(my_callback, [NOTIFICATION.BUFFERACTIVATED])

Eu também adicionei o trecho a seguir ao final do arquivo startup.py (após o código acima) para evitar o "novo 1" na inicialização do Notepad ++.

if notepad.getCurrentFilename() == 'new 1':
    notepad.new()
    notepad.activateIndex(0,0)
    if notepad.getCurrentFilename() == 'new 1':
        notepad.close()
    
por 20.06.2017 / 20:19