我的一些 VS Code 工作流小改进(工作区、图标、任务)

Avatar of Chris Coyier
Chris Coyier

DigitalOcean 为您旅程的每个阶段提供云产品。立即开始使用 200 美元的免费额度!

前几天我做了一件小事,直到那时我才知道这是可能的。我像往常一样在 VS Code 中打开了一个项目文件夹,然后向窗口中添加了另一个不同的根文件夹。我一直认为,当你打开一个项目时,它只有一个顶级根文件夹,仅此而已,如果你需要打开其他地方的另一个文件夹,你将在另一个窗口中打开它。但事实并非如此!

我们在 CodePen 上进行了一种“双仓库”操作(一个是主要的 Ruby on Rails 应用程序,另一个是我们的微服务),现在我可以同时打开它们。

一次打开多个文件夹。这意味着我不再需要处理我的符号链接了。

现在我可以在两个项目中搜索,并且基本上可以假装它是一个大型项目。

当你第一次这样做然后关闭 VS Code 窗口时,它会询问你是否要保存一个“工作区”。嗯,也许以后吧,我一直这么认为。我知道它的含义,但我太懒了,不想处理它。它会创建一个文件,我心想,我并没有真正的地方存放这样的文件。(我会避免使用仓库本身,因为我不想强迫我的系统对其他人有用。)

好吧,我终于克服了它并做到了。我把所有 .code-workspace 文件都塞到一个本地文件夹中。它们实际上作为文件非常有用,因为我可以将文件放在我的 Dock 中,并且只需单击一下即可打开我的工作区,就像我想要的那样。

自定义工作区图标

工作区文件具有如下所示的特殊小图标。

该图标有点通用,但我喜欢它。一个文档,下面有一个小小的 VS Code 图标。

由于我把这些放在我的 Dock 中,我把它看作一个将它们制作成自定义图标的绝佳机会!这将使我非常清楚,并且使用起来会更令人愉快,因为我可能每天都会多次用到它们。

从原始图标获得一些灵感,我抓取了SVG 徽标,并将其放置在我的项目徽标的右下方。

在 macOS 上更改徽标就像在文件上“获取信息”,单击该面板中的徽标,然后粘贴图像一样简单。

现在我可以将它们保存在我的 Dock 中,并一键打开所有内容。

打开项目时启动终端命令

既然我已经为打开我的项目创建了这些非常方便的一键式图标,我就想,“如果它还能启动启动项目的命令,那该有多酷!”显然,这就是任务的用途,设置起来并不难(感谢,Andrew!)。就在该设置文件旁边,在 .vscode/tasks.json 中,我使用了以下内容。

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "Run Gulp",
      "type": "shell",
      "command": "gulp",
      "task": "default",
      "presentation": {
        "focus": false,
        "panel": "shared",
        "showReuseMessage": true,
        "clear": true
      },
      "runOptions": {
        "runOn": "folderOpen"
      }
    }
  ]
}

每当我打开此工作区时,它都会为我启动命令 gulp。我想你必须手动运行一次任务(终端 → 运行任务),以便它具有正确的权限,然后它就可以一直运行了。

覆盖

我不认为这专门针对工作区,但我真的很喜欢如何在项目文件夹中使用 .vscode/settings.json 之类的文件来覆盖特定项目的 VS Code 设置。

例如,在 CSS-Tricks 上,我有一个非常基本的 Sass 设置,其中 Gulp 将 .scss 预处理成 .css。这都没问题,但我可能会在某个时候搜索选择器。我不需要在 .css 中看到它,因为我不使用原生 CSS。就像永远不会。我可以将此内容放入该设置文件中,并知道它仅适用于此项目,而不是所有项目。

{
  "search.exclude": {
    "**/*.css": true,
  }
}