vscode 无法在单独的RDP会话中正确运行多个VS Code示例

zte4gxcn  于 2个月前  发布在  Vscode
关注(0)|答案(8)|浏览(36)

这个问题在使用VS Code时在客户端服务器上出现:
如果两个同事连接到客户端的服务器(每个人都有自己的会话),只有一个人可以打开VS Code。如果另一个人尝试启动VS Code,窗口将在第一个人的会话中打开。
这个问题发生在所有安装程序(包括ZIP)上。
图片显示我们使用相同的Windows用户帐户连接。
有没有解决这个问题的方法?
重现问题的步骤:

  1. 在Microsoft服务器上安装VS Code(不知道这个问题是否也出现在本地计算机上)
  2. 使用相同的Windows用户帐户连接到不同的RDP会话(参见图片)
  3. 在第一个会话中运行VS Code并让它打开
  4. 在第二个会话中运行VS Code
voase2hg

voase2hg1#

您是否需要进一步追踪问题?

pwuypxnk

pwuypxnk2#

使用RDP进行连接与处理虚拟桌面并不完全相同。
虚拟桌面是您自己的机器上的东西,而RDP并不涉及其中。
为什么要合并它?
解决这两个问题的方法是否相同或相似?

8ulbf1ek

8ulbf1ek3#

是的,根本问题在于这两个应用程序的默认单例示例性质,我们必须看看对于这些场景可以采取什么措施。

hec6srdp

hec6srdp4#

你可以通过"Code -n"轻松启动一个示例,所以这是支持的。

技巧是检测当前桌面是否有正在运行的示例。

我目前的解决方法是在桌面上创建一个快捷方式,用于运行"code -n"。

如果我右键点击一个文件并选择"用Code打开",然后切换到虚拟桌面,
那么我会关闭文件,回到原始的虚拟桌面,双击快捷方式。
现在我有一个打开的窗口,"用Code打开"会在正确的虚拟桌面中打开。

在解析开关时,肯定需要有一个程序来检查是否有正在运行的示例。

这需要能够区分这个虚拟桌面和其他虚拟桌面中的应用程序。

ukdjmx9f

ukdjmx9f5#

你可以使用以下命令:"C:\Program Files\Microsoft VS Code\Code.exe" --user-data-dir=C:\temp%CLIENTNAME%

yyyllmsg

yyyllmsg6#

C:Program FilesMicrosoft VS CodeCode.exe --user-data-dir=C:\temp%CLIENTNAME%

这是一个非常有用的命令,但是它不能与"打开用代码"一起使用。有没有其他的解决方法?

acruukt9

acruukt97#

现在重现这个问题。只是为了提供一些背景信息,以防它有所帮助。我被这个问题困扰了几个月,但这个问题引导我发现了正在发生的事情-
我试图使用VS Code在Windows服务器上查看应用程序日志文件。我想使用Code是因为它的实时更新,它能很好地格式化日志。而且它使搜索字符串变得很容易。这比记事本要好得多。我通过RDP连接并通过右键单击和“用Code打开”来打开日志。如果我是唯一的RDP会话,这就可以了。问题在于我们经常断开RDP会话,或者同时打开多个会话。我可能在家里有一个连接的会话,而办公室里有一个不同的会话。如果我在家中的第一个会话中让Code保持打开状态,然后进入办公室并在第二个会话中连接到同一个服务器。我在第二个会话中浏览到日志文件并用Code打开它。什么都没发生。如果我回到家里看看第一个会话,我看到日志是在那个会话中打开的。
在我看到这个问题之前,我没有意识到它是在另一个会话中打开的。我在这里评论是为了确认这个问题并跟进这个主题。这是一个非常独特的问题,我相信其他人也有同样的问题。

fcy6dtqo

fcy6dtqo8#

遇到同样的问题,@theplow-kwak的解决方法对我有效,"C:\Program Files\Microsoft VS Code\Code.exe" --user-data-dir=C:\temp%CLIENTNAME%。不确定原因。可能是VSCode启动时与远程桌面会话有关的问题,它可能没有使用当前的远程会话,默认情况下它在第一个远程会话中打开。
大多数应用程序都能正常工作,包括记事本、画图、IE和Office应用程序。

相关问题