我想在上下文菜单中添加使用Sublime Text打开文件夹的功能,因为它在VS Code中是默认设置,所以我尝试了以下脚本:
@echo off
SET st3Path=C:\Program Files\Sublime Text 3\sublime_text.exe
rem add it for folders
@reg add "HKEY_CLASSES_ROOT\Folder\shell\Open with Sublime Text 3" /t REG_SZ /v "" /d "Open with Sublime Text 3" /f
@reg add "HKEY_CLASSES_ROOT\Folder\shell\Open with Sublime Text 3" /t REG_EXPAND_SZ /v "Icon" /d "%st3Path%,0" /f
@reg add "HKEY_CLASSES_ROOT\Folder\shell\Open with Sublime Text 3\command" /t REG_SZ /v "" /d "%st3Path% \"%%1\"" /f
pause
这有效,但是每次我打开一个文件夹时,所有以前的文件夹也会在单独的窗口中打开。我可以以某种方式解决它吗?
您应使用subl.exe
而非sublime_text.exe
来执行此操作; subl
用于与Sublime的运行实例进行交互(如果尚未运行,则将其启动),而sublime_text
是应用程序本身。
但是,尽管如此,您的问题也与此设置(某种程度上)有关,如此处所示,默认情况下它是打开的:
// Exiting the application with hot_exit enabled will cause it to close
// immediately without prompting. Unsaved modifications and open files will
// be preserved and restored when next starting.
//
// Closing a window with an associated project will also close the window
// without prompting, preserving unsaved changes in the workspace file
// alongside the project.
"hot_exit": true,
启用此功能后,您可以随时退出Sublime,并保存它的会话(包括未保存的文件更改,选择状态等),然后将其还原以恢复到原来的状态。
因此,如果您先前在打开窗口的同时退出了Sublime,那么当您在Sublime上方执行操作时,将还原其会话(和所有其他窗口),然后创建新的会话。
关闭该设置可以阻止这种情况的发生,因此,每次启动Sublime时,它都是“干净”状态,没有还原的窗口或状态。但是,这也意味着退出Sublime时,需要确保保存更改,否则工作将丢失。