Notepad++ 关闭记事本++;当最后一个文档关闭时
我现在使用notepad++已经有几个月了,我已经完成了所有的设置,但是当我关闭最后一个选项卡时,我找不到一种方法来关闭npp。它总是会启动一个新的空文档Notepad++ 关闭记事本++;当最后一个文档关闭时,notepad++,Notepad++,我现在使用notepad++已经有几个月了,我已经完成了所有的设置,但是当我关闭最后一个选项卡时,我找不到一种方法来关闭npp。它总是会启动一个新的空文档 有什么想法可以让npp在关闭最后一个文档时关闭吗?记事本++是一个MDI表单应用程序,与MS OFFICE一样,关闭子MDI表单不会影响主应用程序,因此,我认为除非您重建nodepad++的源代码,否则不知道。如果您熟悉Python,可以尝试N++插件。 您将为document closed事件设置回调脚本。在它内部对所有打开的文档进行迭代,
有什么想法可以让npp在关闭最后一个文档时关闭吗?记事本++是一个MDI表单应用程序,与MS OFFICE一样,关闭子MDI表单不会影响主应用程序,因此,我认为除非您重建nodepad++的源代码,否则不知道。如果您熟悉Python,可以尝试N++插件。 您将为document closed事件设置回调脚本。在它内部对所有打开的文档进行迭代,当只剩下1个文档没有文本时,终止N++ 我个人将键“Alt+x”映射到“Exit”Notepad++,这比通常工作的“Alt+F4”更容易绘图 /EDIT 事实上我很喜欢你的想法,所以我很快就亲自尝试了。 花了大约20分钟才弄明白。这里有一个完整的解决方案:
这完全是基于不明飞行物的代码。只是当你关闭最后一份文件时,不管它是新的还是不新的,它都能工作,并且不会冻结npp 为了简洁起见,这里再次执行以下步骤:
from threading import Timer
def shutdownNppOnLastFileClosed(args):
def closeNpp():
notepad.menuCommand(MENUCOMMAND.FILE_EXIT)
files = notepad.getFiles()
if len(files) == 2:
t = Timer(0.1, closeNpp)
t.start()
notepad.callback(shutdownNppOnLastFileClosed, [NOTIFICATION.FILEBEFORECLOSE])
Notepad++的最新更新包括关闭最后一个选项卡后关闭应用程序的功能 要更新记事本++,请转到?>更新记事本+,然后按照安装向导进行操作
更新完成后,您可以在“设置”>“首选项”菜单中选择“关闭最后一个选项卡时退出”(在“选项卡栏输入组”下)。它有一个错误-当没有打开保存的文档时-仅打开(一个和空的和未更改的)文档-它不是记事本++v7.5.3的工作方式,将startup.py与PythonScript一起用作Git编辑器时会出现一些问题。如果文件是通过PythonScript关闭的,那么它似乎只是挂起了Git进程。notepad++实例在视觉上看起来是关闭的,但根据Process Explorer,它仍然存在。使用@Sebastian的建议对我很有效。
from threading import Timer
def shutdownNppOnLastFileClosed(args):
def closeNpp():
notepad.menuCommand(MENUCOMMAND.FILE_EXIT)
files = notepad.getFiles()
if len(files) == 2:
t = Timer(0.1, closeNpp)
t.start()
notepad.callback(shutdownNppOnLastFileClosed, [NOTIFICATION.FILEBEFORECLOSE])