Я попытался использовать ответ mwoliver и все еще испытывал затруднения при его запуске. Я сделал некоторые изменения, и теперь, это будет работать для любого «нового #» формата вместо просто "нового 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])
Я также добавил следующий фрагмент в конец файла startup.py (после приведенного выше кода), чтобы предотвратить появление "нового 1" при запуске notepad++.
if notepad.getCurrentFilename() == 'new 1':
notepad.new()
notepad.activateIndex(0,0)
if notepad.getCurrentFilename() == 'new 1':
notepad.close()