使用VSCode作为编辑器时,Unity会打开多个工作区

问题描述 投票:2回答:3

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

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

此外,我没有在Unity Doc中描述的* Preferences> External Tools中看到“外部脚本编辑器Args”设置。

有人解决了这个问题吗?

unity3d visual-studio-code
3个回答
2
投票

这是一个bug,尚未在Unity VSCode内置扩展中修复。请阅读下面的可能修复方法。

我没有在Unity文档中描述的*首选项>外部工具中看到“外部脚本编辑器Args”设置。

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

您需要将外部脚本编辑器指向exe文件或批处理脚本,以便显示“外部脚本编辑器Args”设置。

创建批处理。将其命名为vscode.bat。下面的代码应该在其中:

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

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

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

enter image description here

弹出文件浏览器时,从“exe(* .exe)”更改为“*所有文件(*。*)”“。

enter image description here

选择vscode.bat文件,然后单击“打开”按钮。

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

最终图像看起来应该是这样的:

enter image description here


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文件以外的任何东西作为外部编辑器,不像Windows)

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中将其设置为外部编辑器,并将外部脚本编辑器Args字段设置为:

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

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

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


0
投票

对于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 "$@"
© www.soinside.com 2019 - 2024. All rights reserved.