【问题标题】:Unity opens multiple workspaces when using VSCode as editorUnity 使用 VSCode 作为编辑器时打开多个工作区
【发布时间】:2018-03-29 07:13:30
【问题描述】:

我已按照 VSCode Docs 中给出的教程将 VSCode 与 Unity 2017.3.0f3 集成

我面临一个问题,每当我从 Unity 项目资源管理器中打开脚本文件时,它都会在 VSCode 中打开多个工作区。此外,如果点击Assets > Open C# Project,那么下次我双击打开文件时打开的工作空间的数量会增加。

此外,我没有在 Unity Doc 中看到“*Preferences > External Tools”中的“External Script Editor Args”设置。

有人解决了这个问题吗?

【问题讨论】:

  • 这个问题解决了吗?现在你知道如何让“External Script Editor Args”出现了吗?

标签: unity3d visual-studio-code


【解决方案1】:

这是一个bug,尚未在 Unity VSCode 内置扩展上修复。请阅读下文了解可能的解决方法。

我没有看到“外部脚本编辑器参数”设置 *Preferences > External Tools”,如 Unity 文档中所述。

如果您使用该菜单中显示的内置编辑器之一,您将不会看到此内容。创建你自己的。

您需要将外部脚本编辑器指向一个exe文件或批处理脚本,以便“外部脚本编辑器参数”设置出现。

创建一个批次。将其命名为 vscode.bat。下面的代码应该在里面:

"C:\Program Files\Microsoft VS Code\Code.exe" %*
exit 0 

请注意,C:\Program Files\Microsoft VS Code\Code.exe 是您的 VSCode 的路径,因此请确保在此处替换您自己的路径。

转到首选项 > 外部工具,然后选择外部脚本编辑器菜单上的浏览,然后选择vscode.bat.

当文件浏览器弹出时,将“exe (*.exe)”更改为“*All files (*.*)”。

选择vscode.bat文件并点击打开按钮。

“外部脚本编辑器参数” 设置现在应该会出现。在其中使用 "$(File)"。也包括 " "。这也可以解决您问题中的多个工作区问题。

最终图像应如下所示:

【讨论】:

  • 这个比较老的答案帮我解决了(Unity 2020.03.23f1,VSCode 1.62.3)。我的默认“外部脚本编辑器参数”是"$(ProjectPath)" -g "$(File)":$(Line):$(Column),来自 Unity 的脚本被打开到一个新的工作区。只需用 "$(File)" 替换它,它们就会在可用的工作区中打开。
【解决方案2】:

我试图在 macOS 上做同样的事情,这比 @Programmer 发布的 Windows 解决方案要复杂一些,为了完整起见,我在这里添加它。

  1. 使用这些行创建一个test.sh 文件(当然,请确保您的 VSCode 位于此位置)

nano test.sh

#!/bin/bash

"/Applications/Visual Studio Code.app/Contents/Resources/app/bin/code" "$@"
  1. 现在得到这个方便的脚本,它可以从你的test.sh 创建一个最小的应用程序(这个步骤是必要的,因为 macOS 上的 Unity 不允许你选择除 .app 文件之外的任何东西作为外部编辑器,不像窗户)

https://gist.github.com/mathiasbynens/674099

./applify test.sh "Test"

  1. 创建应用后,通过在终端中尝试类似的操作来确保它可以正常工作:

Test.app/Contents/MacOS/Test -r -g /path-to-some-file:10

  1. 如果可以,那么你可以在Unity中将其设置为外部编辑器,并将External Script Editor Args字段设置为:

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

  1. 双击 Unity 项目中的任何脚本和着色器,它应该可以工作。

就是这样,我已经验证了它可以在我的 macOS 10.13.4 和 Unity 2018.1 上运行

【讨论】:

    【解决方案3】:

    Linux 用户尝试编辑 vscode .desktop 文件:

    在这一行:

    Exec=env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/vscode_vscode.desktop /snap/bin/vscode 
    

    在末尾添加 "$@"

    Exec=env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/vscode_vscode.desktop /snap/bin/vscode "$@"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-07
      • 2020-03-24
      • 2022-11-10
      相关资源
      最近更新 更多