VSCode + Unity:从 Unity 打开脚本时记住 last/open 会话

VSCode + Unity: Remembering last/open session when opening script form Unity

Unity 游戏引擎附带 Visual Studio 社区。由于许多好处,我已经从那个切换到 VSCode(对于任何类型的着色器文件的完整语法突出显示和自动完成)。

当我从 Unity 中双击启动默认代码编辑器 (VSCode) 的脚本时,我无法 VSCode 重新打开我的上一个会话。

我在VSCode设置中设置了"window.restoreWindows": "all",。这是做什么的,如果我从外部统一(例如桌面快捷方式)打开 VSCode,它会按预期重新打开我最后打开的文件夹/文件集/会话。

但是,如果我随后从 Unity 中打开一个脚本,整个 VSCode 会话将被废弃,只有我刚刚单击的文件显示在 VSCode。

我还安装了所有 VSCode 统一集成扩展。

知道发生了什么事吗?我可以自定义 VSCode 以附加到现有的 window 会话吗? (让它表现得像 Visual Studio 的任何版本一样?)

[编辑]

我明白为什么会这样了! (但不知道如何修复)

在统一命令行参数 (docs) -n means go to line Number. Whereas in VSCode (docs) 中 -n 表示 "Opens a new session of VS Code instead of restoring the previous session (default)."

Unity 必须是,对于任何双击、脚本编辑或错误控制台双击,使用 -n 参数调用外部编辑器以转到第 0 行或特定行。

是否可以更改 unity 解析命令行参数的方式,或者 VSCode 解析命令行参数的方式?

[EDIT2]

修复了 Diptangshu Chakrabarty 的已解决问题 here,以及 Diptangshu Chakrabarty 在此处的回答。

您能否将以下内容作为编辑器参数传递,看看它是否有效?

-g "$(File):$(Line)"