我的一些 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,
  }
}