在 Visual Studio Code 中打开多个项目/文件夹

365
我该如何在一个 Visual Studio Code 实例中打开多个项目/文件夹,并在单个视图中打开多个文件?它有任何未来更改请求的选项吗?

20个回答

335

不确定为什么最简单的解决方案没有被提及。你可以简单地执行文件>新建窗口,并在新窗口中打开另一个项目。


9
它不允许搜索所有目录。 - user707779
4
@YuriS.Cherkasov 这回答了上面的问题。你可能想将其作为一个单独的问题添加或告诉其他人如何做到这一点。毫无疑问,这应该是被接受的答案。 - supi
6
因为在关闭并重新启动VSCODE后,它只会打开这两个窗口中的一个。但是通过工作区,您可以保留这两个窗口。 - tedi
2
新的工作区选项很好,但它需要更多的精神观察,关于你正在做什么,你正在处理哪些文件(即使 vsc 会显示哪个是哪个,你仍然必须谨慎选择正确的文件),打开一个或多个根文件夹的终端等等。 我已经使用了一段时间,如果您想同时打开项目并且不感兴趣将代码复制/粘贴在两者之间,那么打开一个新窗口会更好。 对我来说,这种精神上的疲惫太大了。 - NJITman
8
这不是OP所问的。他问如何在一个单一实例中打开多个项目,而不是多个窗口。虽然我同意多个窗口更好,但这并没有回答问题。 - Steve
显示剩余4条评论

246

更新

此功能现已自2017年10月起可直接使用。来自博客文章:

这是我们的首要功能请求 - 虽然花了一段时间,但现在它已经到来了。

完整的文档在这里

您可以通过多根工作区在Visual Studio Code中处理多个项目文件夹。当您同时处理几个相关项目时,这非常有用。例如,您可能有一个存储产品文档的代码库,您希望在更新产品源代码时保持其最新。


原始回答

目前,VSCode的Insider频道已经默认提供了这个功能。

Multi root workspace in vscode

阅读更多博客文章


2
从Eclipse几十年的使用者转到VS Code,让我感觉更好的是在资源管理器旁边的每个根文件夹都有一个简单的锁定/解锁功能,可以快速关闭所有编辑器并阻止其内容被搜索。我喜欢将几个相关项目放在同一个工作区中,以便检查它们之间的差异,但通常我不希望它们全部同时被搜索,因为它们共享很多代码,我必须特别小心我正在编辑哪一个。 - joshstrike

169

更新

正如其他几个答案中所提到的,此“已接受”答案已过时并不再正确。VS Code现在有了“工作区”的概念,您可以在同一窗口中将多个“根”文件夹添加到VS Code中。

例如,在一个文件夹中处理项目,该项目利用存储在另一个文件夹中的共享代码,现在您可以在同一窗口中打开项目文件夹和共享文件夹。

要实现此操作,请使用“添加文件夹到工作区…”命令。然后,VS Code会将此配置保存在带有 .code-workspace扩展名的新文件中。如果双击该文件,VS Code将重新打开并显示两个文件夹。

原始已接受答案(已过时)

Visual Studio Code基础知识文章所述:

“VSCode是基于文件和文件夹的——您只需打开VSCode中的一个文件或文件夹即可立即开始。”

这意味着解决方案和项目文件的概念,例如 .sln 和 .csproj ,在 VSCode 中没有实际功能,除了它们只用于定位和识别支持Intellisense和其他内容的语言。

简单来说,您打开的文件夹是您正在使用的根。但是,当然可以打开多个窗口。

关于请求功能选项,请导航到帮助>请求功能,该选项将重新定向您到VSCode的UserVoice页面


1
如果您使用根文件夹作为项目文件夹的容器,那么您将失去每个项目的 git 引用,因为它只会在根文件夹中查找 git 设置文件。 - Watchmaker
在 VS Code 扩展程序中,我们如何获取当前打开文件所在的项目文件夹路径? - Sitharth
2
我想要在多个窗口中打开(1) _多个工作区_。这与以下内容不同:(2) 同一窗口中的多个工作区,(3) 同一工作区中的多个文件夹。 - Joe Flack
4
个人觉得这很令人困惑。 "共享根文件夹" 的确切含义是什么?我想在单个 VSC 实例中打开两个不同的项目,但我不想共享它们。我绝对不希望编译一个项目时突然将另一个项目的代码包含进来,反之亦然。看起来相当令人困惑。 - Johann
@AndroidDev 我相信在2015年,VS Code有些不同,至少非常有限。但你是对的,今天看来有更简单的解决方案,比如@Jay Wick的好答案 - Juliën

34

最新稳定版 [2017年11月发布] 已默认支持多根工作区

使用文件 > 添加文件夹到工作区命令,可弹出“打开文件夹”对话框以选择新文件夹。

enter image description here


24

如果您正在使用类Unix操作系统,则可以创建指向目标文件夹的软链接。

例如,当我在使用VSCode时想要查看golang源代码时,我会在我的项目文件夹下创建一个指向go/src的软链接。

ln -s /usr/local/go/src gosrc

希望这可以帮到您!


更新:2017年11月28日

多根工作区[0]已经在稳定版中实现,终于。 https://code.visualstudio.com/updates/v1_18#_support-for-multi-root-workspaces

[0] https://github.com/Microsoft/vscode/issues/396


5
您可以在Windows中使用MKLINK命令来执行此操作:mklink /prefix 链接路径 文件/文件夹路径 - Sudeep
多根工作区非常棒,但在当前“文件夹”中引用这些文件时必须使用符号链接。在多根工作区中无法实现这一点。例如,在JavaScript的import语句中,这会给您一个“真实”的路径,模块解析器可以访问该路径。 - escape-llc

16
你可以打开任何文件夹,所以如果你的项目在同一目录树下,只需打开它们下面的文件夹。

否则,你可以打开两个Code实例作为另一种选项。


11

在Windows操作系统中,可以使用mklink命令创建目录符号链接,以链接到所需的文件夹。然后将它们保存在一个文件夹中,VSCode将列出这些链接中的内容。

    c:\>mklink /D c:\dev\MyWork\scripts c:\ProjA\scripts
    symbolic link created for c:\dev\MyWork\scripts <<===>> c:\ProjA\scripts

    c:\>mklink /D c:\dev\MyWork\styles c:\ProjB\styles
    symbolic link created for c:\dev\MyWork\styles <<===>> c:\dev\ProjB\styles

这与@NeilShen的想法非常相似,我猜。


10

在VS中添加多个文件夹

点击-> 文件 -> 添加文件夹到工作区。

步骤一:

图片描述

选择要工作的项目-> 添加(按下)

步骤二:

图片描述


9

4

或者您可以选择多个文件夹,然后单击打开。

转到文件>打开文件夹,然后选择要打开的多个文件夹并单击选择文件夹


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接