在 macOS 中通过 Finder 打开 VSCode 中的文件夹?

174
在我的 Windows 电脑上,我只需双击一个文件夹并单击“在 VS Code 中打开”来打开一个文件夹,在查看大量在线代码时节省了时间。然而,在 Mac 上,我没有这个选项。我必须直接打开 vscode 并单击“打开”以打开一个新的文件夹。如何在 macOS 的资源管理器中直接打开 vscode 中的文件?

值得注意的是,在 macOS 中通过 Finder 直接在 vscode 中打开文件已经存在 - 缺少的是从 Finder 中打开 vscode 文件夹的能力,这就是答案所解决的问题。 - Shiraz
12个回答

346

2023年更新 - 使用本地方法

  1. 打开命令面板Cmd+Shift+P),输入shell command以查找Shell Command: Install 'code' command in PATH 命令。

Command Palette

  1. 重新启动所有终端会话,以使新的$PATH值生效。

您可以在任何文件夹中键入code .来开始编辑该文件夹中的文件。


如果您想在Finder中执行此操作,可以编写一个Automator脚本来完成它(比听起来简单得多,并展示了操作系统的强大功能)。

  1. 启动Automator

  2. 创建新文档

  3. 创建一个新的快速操作Select "Quick Action"

  4. 添加操作...(新方法-10.13+)

    • 工作流接收当前文件或文件夹Finder
    • 向工作流添加新的“打开Finder项目”操作。 (将突出显示的“Open Finder Items”对象拖到右侧的空窗口中)
    • 从列表中选择“Visual Studio Code”。

Add "Open Finder Items"


  1. 添加操作...(旧方法)

    • 工作流接收当前文件或文件夹来自Finder
    • 向工作流添加新的“运行Shell脚本”操作。(将突出显示的“Run Shell Script”对象拖到右侧的空窗口中)
  2. 配置工作流(旧方法)

    • 将Pass Input设置为作为参数
    • 将以下内容粘贴到输入框中:
    open -n -b "com.microsoft.VSCode" --args "$*" 
    

    Workflow的截图

  3. 使用如Open in Visual Studio Code这样的名称保存该操作。

现在,您可以右键单击文件夹,在快速操作下找到您新创建的任务。

输入图像描述


2
对于VS Code Insiders用户,请使用应用程序包标识符 com.microsoft.VSCodeInsiders(完整命令:open -n -b "com.microsoft.VSCodeInsiders" --args "$*")。 - Emil Devantie Brockdorff
15
VS Code启动了,但是显示为空白,没有打开相应的文件夹。 - PRAJIN PRAKASH
3
我已经更改为 /usr/local/bin/code -n "$1",可以正常工作。 - PRAJIN PRAKASH
6
接受的答案在Mac OS Monterey上不起作用。 您可以通过找到/Library/Services中的工作流(注意,/Library可能是隐藏的),在新的Shortcuts应用程序中打开它并允许其运行脚本来强制其工作。否则,您可以按@gluedpixel所述从头开始在Shortcuts应用程序中创建它。 - John Henry
8
如果你的 VS Code 打开后是空白的,请确保在你的“运行 Shell 脚本”部分中,选项“传递输入”的设置是“作为参数”。 - Gaurav Kispotta
显示剩余13条评论

167
最简单的解决方案是创建一个快速操作,其中包含打开查找器项目: 这样你就不需要一个可能会在操作系统更新或VS Code更新时出错的shell脚本。
  1. 启动Automator并选择快速操作或文件 > 新建 > 快速操作(如果Automator已经打开)。

Quick Action

2. 设置快速操作以接收所选的文件或文件夹并转到Finder文件和文件夹 3. 选择一个图像(图标),选择“选择...”,然后在弹出的窗口中双击Visual Studio Code,这将将您的快速操作图标设置为与VS Code相同。
4. 在左侧,您可以看到所有可添加到自动化的可用项目。在搜索栏中输入打开,然后选择打开Finder项目(您可以双击它或将其拖到您的工作流中)。
5. 在打开Finder项目部分,选择“打开方式”,然后选择其他...,然后从弹出列表中选择Visual Studio Code。 请参阅下面的屏幕截图。

Choose VS Code as the app to open

最后,只需按下CMD+S来保存并命名为在VSCode中打开
这是您的最终结果: final-result

16
我会将其视为更清晰的解决方案 ❤️ - sultanmyrza
2
我认为这应该被接受作为答案,因为它更清晰并且在当前时间有效。 - Amit Singh
4
对我来说,“Visual Studio Code”被模糊处理了 :/ - Zeeshan Ahmad Khalil
3
@ZeeshanAhmadKhalil 刚刚遇到了同样的问题。除了这里的评论之外,他没有找到任何关于此问题的信息。但他尝试了一些有点儿蠢的方法,结果却奏效了。当你在“其他...”应用程序的选择屏幕上时,只需将 VS Code(或任何其他应用)从选择窗格拖放到 Automator XD 的选择菜单中即可。 - Ichixgo
2
@ZeeshanAhmadKhalil 你需要将VS Code的应用程序包文件(可能在下载文件夹中)拖到“应用程序”中,以注册它作为一个应用程序。之后,你就可以在应用程序列表中看到它了。 - astef
显示剩余12条评论

46

你需要理解,macOS在做事情方面与Windows有不同的方法,一开始可能会有些挑战。首先,你要开始利用终端,它很好用。

现在回答你的问题。

打开你的VS Code,然后按下CMD+SHIFT+P,键入shell command并选择路径中的Install code command。之后,在终端中导航到任何项目,并从该目录中输入code .以使用VS Code启动该项目。


3
这个回答值得更多的赞扬。谢谢兄弟。 - emmaakachukwu
1
感谢 @emmaakachukwu 和 krummens。 - Jitesh Dhamaniya
20
我明白了,是的,它能够工作,但这并不是 OP 所询问的内容。 - distante
8
Mac 也有“打开方式”功能,这不仅限于 Windows。 - distante
4
降级是因为它没有回答 OP 的要求,并且需要打开一个当前在 Finder 中可见的文件夹时前往终端窗口。从 UI(Finder)到命令提示符(Terminal),然后启动 UI 应用程序(VS Code)是没有意义的。 - Shiraz
显示剩余2条评论

29

使用新的快捷方式应用程序。

  1. 下载:https://github.com/gluedpixel/shortcuts

  2. 或者自己创建

  • 打开快捷方式应用 > 快速操作
  • 将“接收任何内容”改为“文件和文件夹”
  • 添加“运行shell脚本”操作
  • 粘贴代码open -n -b "com.microsoft.VSCode" --args "$*"
  • 将输入设置为快捷方式输入
  • 单击快捷方式输入并将类型设置为“文件夹”& 获取文件路径 Shortcut overview image

3
请确保在上下文菜单项中也启用它:快速操作->自定义->勾选。 - GorvGoyl
不是OP的请求,但我使用“首选项>键盘>快捷键”添加了一个键盘快捷方式。 - RonH

23

在 VS Code 的 GitHub Issues 跟踪器上建议了一些方法 这里,但如果您的 dock 中有 VS Code 图标,则我会选择拖动文件夹到应用程序图标的第一个选项!

如果您真的希望能够通过右键单击来执行此操作,则此存储库具有工作流解决方案。https://github.com/Sankra/OpenFolderInVSCode


1
这是更新的克隆存储库,可以通过Finder快捷方式打开VSCode中的文件/文件夹:https://github.com/Pr0to7yp3/OpenInVSCode - scottydelta
谢谢,"将文件夹拖到应用程序图标上"可能是在VS Code中打开文件夹的最快方法,而且非常容易。 - Akash Kumar Seth
这是一个非常被低估的答案,因为它在这种用例中特别容易使用。 - Aswin Prasad
这个完美无缺! - Adam
不错,OpenFolderInVSCode工作流的好处是在VSCode中创建一个新窗口 - 很多工作流解决方案会在现有窗口中打开文件夹。 - And Finally

12

将Finder中的文件夹拖放到空的VSCode窗口中。


8

我成功将它作为一个图标添加到Finder窗口中:

VSCode的图标作为Finder窗口中的快捷方式

这个脚本可以让你在VSCode中打开当前文件夹的路径。
操作步骤如下:

  1. 使用Automator创建一个新的应用程序
  2. 从菜单中选择“运行shell脚本”并将其拖到编辑器中
  3. 将以下小脚本粘贴到文本区域中:
finderPath=`osascript -e 'tell application "Finder" to get the POSIX path of (target of front window as alias)'`
open -n -b "com.microsoft.VSCode" --args "$finderPath"
  1. 将应用程序保存到应用程序文件夹中
  2. 右键单击应用程序并拖放您想要的VSCode图标到名称左侧的空白区域,关闭获取信息窗口
  3. 按住Command键并将应用程序拖到Finder标题行中的空白区域,就像图片中的一样
  4. 通过点击图标来测试它是否可以工作。现在,VSCode应该打开并显示当前文件夹的内容在导航栏中。

4

我找到了一种方法来实现我的需求,使用以下步骤使用 MacOS 的 Shortcuts 应用程序(无需 Automator):

如果您需要截图,我写了一个小的 Notion 页面

  1. 在您的 Mac 上打开“Shortcuts”应用程序
  2. 在左侧窗格上导航到“快捷操作”
  3. 在顶部栏上,按下➕按钮以添加新快捷方式。
  4. 单击“任何内容”,然后通过仅从显示在单击“任何内容”字段时出现的下拉列表中选择“文件和文件夹”来更改为“文件和文件夹”。
  5. 单击右窗格上的“Action Library”,然后搜索“shell”。将“运行 Shell 脚本”拖放到主窗格中。这将将操作添加到快捷方式的流中。
  6. 在右窗格上的快捷方式详细信息中,请确保选中“用作快速操作”以及“Finder”和“服务菜单”。
  7. 在新添加的名为“Run Shell Script”的操作中编写“code ”,右键单击以获取下面的弹出窗口,在“插入变量”中选择“Shortcut Input”。
  8. 单击出现的“Shortcut Input”标记。弹出一个窗口,请选择“文件路径”,然后只需单击任何其他位置。这将更改标记为“文件路径”。
  9. 将“传递输入:”选项设置为“作为参数”。
  10. 一定要为您的新快捷方式设置一个很酷的名称!我把它命名为“Open in VSCode”。
  11. 打开一个新的“Finder”实例,在文件夹上右键单击,进入“快捷操作”>“自定义...”
  12. 确保选中您的快捷方式名称。退出对话框并进行测试!

1
现在我们只需要有人将其转换为某种安装脚本,并将其作为安装选项包含在Mac版VSCode中。 - MattG

3

有一个终端命令名为code,如果你经常使用VS,我建议你坚持使用它并且应该也会习惯它。

在VS Code中进行一次性设置:

  1. 打开VS Code并按下⌘ CMD+SHIFT+P

  2. 输入shell,从列表中选择Shell Command: Install 'code' command in PATH

打开终端并输入以下任意一个命令:

code <path-to-folder>

cd <path-to-folder>
code .

或者

cd <path-to-folder> && code .

这是一个更好的解决方案。 - vk-code

2

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