我和这个问题完全相反:Visual Studio Code 总是重新打开以前的文件或文件夹
VSCode似乎从不记住我上次打开的文件,总是打开一个空白窗口。我检查了快捷方式是否意外地加了参数“-n”(会导致这种行为),但没有。
是否有一种方法强制VSCode记住已打开的文件和文件夹?
我和这个问题完全相反:Visual Studio Code 总是重新打开以前的文件或文件夹
VSCode似乎从不记住我上次打开的文件,总是打开一个空白窗口。我检查了快捷方式是否意外地加了参数“-n”(会导致这种行为),但没有。
是否有一种方法强制VSCode记住已打开的文件和文件夹?
"C:\Program Files\Microsoft VS Code\bin\code" && "C:\Program Files\Microsoft VS Code\bin\code" %*
- Antonio Maiorano前往:
打开文件 --> 首选项 --> 设置,然后在settings.json文件中添加"window.restoreWindows": "all"
。
请确保在前一语句之后加上逗号。
这将重新打开您在上次会话结束时打开的所有窗口。
您可以尝试设置选项:
"window.reopenFolders": "all"
这应该会重新打开你关闭编辑器时打开的所有内容,但我没有测试过。通常我更喜欢没有重新打开任何内容,因此我使用none
。默认值为one
。
"window.restoreWindows": "none",
在设置中。
控制重启后窗口如何重新打开。选择“无”始终使用空工作区开始,“一个”重新打开您上次使用的窗口,“文件夹”重新打开所有已打开文件夹的窗口或“全部”重新打开您上次会话的所有窗口。
我尝试了window.reopenFolders选项,发现如果从桌面图标启动VSCode,则文件夹和文件将重新打开,但是如果我在资源管理器中单击一个文件并使用VSCode打开它(而且VSCode当前没有运行),则先前的文件夹和文件不会打开。我不确定是否有解决方法。
这也适用于 VSCode 1.42 (2020年第一季度) 在意外关闭时(例如操作系统更新时的 OS 重启,或任何强制终止 VSCode 的情况)。
请参见 vscode/issue 12058 ("定期保存 UI 状态以防止关闭时丢失") 和 PR 87158,其中包括以下评论:commit 54ab792。
// In some environments we do not get enough time to persist state on shutdown.
// In other cases, VSCode might crash, so we periodically save state to reduce
// the chance of loosing any state.
// The window loosing focus is a good indication that the user has stopped working
// in that window so we pick that at a time to collect state.
推送了一个更改(#87158),将会:
- 每60秒保存状态
- 当窗口失去焦点时保存状态
真正的解决方案是Electron提供API来检测Windows系统关闭情况(例如,electron/electron#15620所建议的)。
尽管在我的测试中,当任何非VSCode界面弹出时(例如,Windows提示应用程序更新),这些更改可能不会在VSCode有焦点且窗口重启时起作用。
我认为这是我们现在能做的最好的办法。
关于在问题15949中提到的window.reopenFolders=all
,最近的评论(2020年9月)说明它仍未解决。
2020年11月更新 问题15949 在VSCode 1.52中:
窗口还原选项的总和将是:preserve
(新): 所有窗口都会被还原,无论VSCode如何启动。all
: 所有窗口都会被还原,但不包括在文件或文件夹上启动VSCode时。folders
: 仅文件夹将被还原,但不包括在文件或文件夹上启动VSCode时。one
: 只有一个窗口将被还原,但不包括在文件或文件夹上启动VSCode时。none
: 永远不会还原任何窗口。window.restoreWindows: preserve
作为新选择。
all
仍然是默认选项。新设置:恢复上次会话窗口
新增了一个名为preserve的设置值,可用于现有的
window.restoreWindows
设置。该设置允许在启动VSCode时强制恢复关闭VSCode之前打开的所有窗口,即使VSCode被明确要求打开特定文件夹或文件。一个常见的例子是双击文件以在VSCode中打开它,或者使用终端打开特定文件或文件夹。
如果没有window.restoreWindows
:preserve,则在这种情况下,VSCode只会按照指示打开文件或文件夹,但不会恢复任何其他窗口。
在VSCoe 1.60(2021年8月)中,您还可以:
到目前为止,当编辑器在窗口重新加载或应用程序重新启动后无法恢复时,编辑器将自动关闭,直到找到成功加载的编辑器为止。这种行为可能会导致令人沮丧的结果,因为精心创建的编辑器布局和排列会消失。通过此版本发布,曾经成功打开的编辑器将不会关闭,即使无法恢复也是如此。编辑器指示问题并提供重试操作的方法:在编辑器无法恢复时保持编辑器打开状态
"window.restoreWindows": "all"
,但它仍然不能在打开软件时打开以前的文件夹和窗口。"window.restoreWindows": "none"
设置,关闭vscode并重新打开它,然后将其设置回"window.restoreWindows": "all"
。这样就可以了。
window.reopenFolders=preserve
选项来解决。请参阅下面我更新后的答案。 - VonC