Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Notepad++ 关闭记事本++;当最后一个文档关闭时_Notepad++ - Fatal编程技术网

Notepad++ 关闭记事本++;当最后一个文档关闭时

Notepad++ 关闭记事本++;当最后一个文档关闭时,notepad++,Notepad++,我现在使用notepad++已经有几个月了,我已经完成了所有的设置,但是当我关闭最后一个选项卡时,我找不到一种方法来关闭npp。它总是会启动一个新的空文档 有什么想法可以让npp在关闭最后一个文档时关闭吗?记事本++是一个MDI表单应用程序,与MS OFFICE一样,关闭子MDI表单不会影响主应用程序,因此,我认为除非您重建nodepad++的源代码,否则不知道。如果您熟悉Python,可以尝试N++插件。 您将为document closed事件设置回调脚本。在它内部对所有打开的文档进行迭代,

我现在使用notepad++已经有几个月了,我已经完成了所有的设置,但是当我关闭最后一个选项卡时,我找不到一种方法来关闭npp。它总是会启动一个新的空文档


有什么想法可以让npp在关闭最后一个文档时关闭吗?

记事本++是一个MDI表单应用程序,与MS OFFICE一样,关闭子MDI表单不会影响主应用程序,因此,我认为除非您重建nodepad++的源代码,否则不知道。如果您熟悉Python,可以尝试N++插件。 您将为document closed事件设置回调脚本。在它内部对所有打开的文档进行迭代,当只剩下1个文档没有文本时,终止N++

我个人将键“Alt+x”映射到“Exit”Notepad++,这比通常工作的“Alt+F4”更容易绘图

/EDIT

事实上我很喜欢你的想法,所以我很快就亲自尝试了。 花了大约20分钟才弄明白。这里有一个完整的解决方案:

  • 安装插件Python脚本(上面的链接)
  • 转到Plugins>Python>Configuration并将初始化模式从LAZY更改为ATSARTUP
  • 打开“…\Notepad++\plugins\PythonScript\scripts\startup.py”,并将以下代码放在末尾:

  • 这完全是基于不明飞行物的代码。只是当你关闭最后一份文件时,不管它是新的还是不新的,它都能工作,并且不会冻结npp

    为了简洁起见,这里再次执行以下步骤:

  • 安装Python脚本插件
  • 在插件>Python脚本>配置中,将初始化模式从LAZY更改为ATSARTUP
  • 打开…\Notepad++\plugins\PythonScript\scripts\startup.py并将以下代码放在末尾
  • 保存并重新启动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])