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

kyl*_*e r 30 macos finder visual-studio-code

在我的 Windows 电脑上,我只需双击一个文件夹,然后单击“在 VS Code 中打开”即可打开一个文件夹,这为我在线查看大量代码节省了时间。但是,对于 Mac,我没有此选项。我必须直接打开vscode并单击“打开”以打开一个新文件夹。如何在 macOS 中通过 finder 直接打开 vscode 中的文件?

AD *_*ess 188

最简单的解决方案是使用Open Finder Items创建快速操作:这样您就不需要可能因操作系统更新或 VS Code 更新而中断的 shell 脚本

  1. 启动 Automator并选择“快速操作”或“文件”>“新建”>“快速操作”(如果 Automator 已打开)。

快速行动

  1. 设置快速操作将选定的文件或文件夹接收到Finder中。 文件和文件夹

  2. 选择一个图像(图标),选择“选择..”,然后在弹出的窗口中双击“Visual Studio Code”,这会将您的快速操作图标设置为与 VS Code 相同

  3. 在左侧,您可以看到要添加到自动化中的所有可用项目,进入搜索栏并输入open,然后选择“打开查找器项目”(您可以双击它或将其拖到您的工作流程中)。

  4. Open Finder Items部分中,选择 Open with select Other..,然后从弹出列表中选择Visual Studio Code。请参阅下面的屏幕截图。

选择 VS Code 作为要打开的应用程序

  1. 最后,只需按CMD+S保存并命名为Open in VSCode

这是您的最终结果: 最后结果

  • 我认为这是更清洁的解决方案❤️ (20认同)
  • 唯一适用于最新 macOS 的解决方案 (4认同)
  • 对我来说,“Visual Studio Code”已经模糊了:/ (4认同)
  • @ZeeshanAhmadKhalil 也遇到了同样的问题。除了这里的评论之外,没有找到任何相关信息。但我尝试了一些有点愚蠢的方法,但它确实有效。当您处于“其他...”应用程序的选择屏幕时,只需将 VS Code(或任何其他应用程序)从选择窗格拖到 Automator XD 中的选择菜单上即可。 (4认同)
  • @ZeeshanAhmadKhalil 您需要将 VS Code 注册为应用程序,方法是将其包文件(可能在下载中)拖到应用程序中。之后,您将在应用程序列表中看到它 (2认同)
  • 对我来说就像一个魅力!唯一的建议是打破“选择打开方式作为其他..选择 Visual Studio Code”。作为步骤 5。我处于 TLDR 模式并跳过了必须再次选择 VS Code 的部分。所以它有效,但它再次在 Finder 中打开我的文件夹(默认应用程序)。**FacePalm** 返回并按照所写的指示进行操作,效果非常好。谢谢这个!!! (2认同)

jno*_*ack 66

如果您想在 Finder 中执行此操作,您可以编写一个 Automator 脚本来执行此操作(这比听起来容易,并且向您展示了操作系统的强大功能)。

  1. 启动 Automator

  2. 创建新文档

  3. 创建新的快速操作 选择“快速操作”

  4. 添加动作...

    • 工作流从Finder接收当前文件和文件夹
    • 向工作流添加新的运行 Shell 脚本操作。(将屏幕截图中突出显示的“Run Shell Script”对象拖动到右侧的空窗口中)
  5. 配置工作流

    • 将传递输入设置为参数
    • 在输入框中粘贴以下内容:
    open -n -b "com.microsoft.VSCode" --args "$*" 
    
    Run Code Online (Sandbox Code Playgroud)

    工作流截图

  6. 使用Open In Visual Studio Code 之类的名称保存操作。

您现在可以右键单击该文件夹并在Quick Actions下找到您新创建的任务。

在此处输入图片说明

  • VS Code 正在打开但显示空白未打开相应的文件夹 (15认同)
  • 如果您的 VS Code 打开为空白,请确保在 **运行 Shell 脚本** 部分中将“传递输入”选项设置为“作为参数”。 (8认同)
  • 接受的答案不适用于 Mac OS Monterey。您可以通过在 ~/Library/Services 中找到工作流程(注意 ~/Library 可能被隐藏),在新的快捷方式应用程序中打开它并授予其运行脚本的权限来强制它工作。否则,您可以按照 @gluedpixel 的描述在“快捷方式”应用程序中从头开始创建它。 (6认同)
  • 我更改为 /usr/local/bin/code -n "$1" 工作正常 (3认同)
  • 有。这是第二个屏幕截图中的“图像”图标。从列表中选择或添加您自己的。 (2认同)
  • 对于 VSCodium 来说是:`open -n -b "com.visualstudio.code.oss" --args "$*"` (2认同)
  • 对于 VS Code Insiders,请使用应用程序包标识符 `com.microsoft.VSCodeInsiders`(完整命令:`open -n -b "com.microsoft.VSCodeInsiders" --args "$*"`) (2认同)
  • 非常感谢您提供的解决方案并介绍了 mac 上最被低估的功能之一 Automator。 (2认同)
  • 在这里听到一些关于此方法不适用于新 OSX 版本的抱怨。如果您的情况如此,请尝试下面@AD_Progress 建议的方法。在蒙特雷对我来说效果很好,绝对是一个更干净的解决方案。 (2认同)

glu*_*xel 29

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

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

  2. 或者自己创建

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

  • 确保还在上下文菜单项中启用它:快速操作 -> 自定义 -> 勾选 (3认同)

Jit*_*iya 23

那么你需要明白。macOS 的处理方式与 Windows 不同,最初这可能是一个挑战。对于初学者,您开始使用终端。真漂亮。

现在回答你的问题。

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

  • 我的意思是,是的,它有效,但这不是OP所要求的。 (20认同)
  • @JiteshDhamaniya Mac 也有“打开方式”。它不是 Windows 独有的功能。 (8认同)
  • 降级是因为它不响应 OP 请求,并且需要进入终端窗口才能打开当前在 Finder 中可见的文件夹。从 UI(Finder)转到命令提示符(终端)然后启动 UI 应用程序(VS Code)是没有意义的。 (4认同)
  • 这个答案值得更多的赞誉..谢谢兄弟 (3认同)
  • 这应该是公认的答案 (2认同)

小智 11

VS Code GitHub 问题跟踪器中建议一些方法,但如果您的 Dock 中有 VS Code 图标,我会选择将文件夹拖到应用程序图标上的第一个选项!

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


小智 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"
Run Code Online (Sandbox Code Playgroud)
  1. 将应用程序保存到应用程序文件夹
  2. 右键单击应用程序并将所需的 VSCode 图标拖放到名称左侧的空白区域,然后关闭“获取信息”窗口
  3. 按住该键并将应用程序拖到FinderCommand标题行的空白处,如图所示
  4. 通过按图标来测试它是否有效。VSCode 现在应该打开并在导航栏中显示当前文件夹的内容


小智 7

我发现这是最好的解决方案: https: //github.com/RoadToDream/SzContext

在此输入图像描述


pui*_*uio 6

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