VS Code 扩展推荐?

我是一位资深的 Emacs 用户,最近也在尝试 VS Code。(出乎意料的是,配置这个无限可扩展的编辑器,并不比配置 Emacs 更容易。我还没有放弃,它在某些方面确实很出色,但我远没有达到自己期望的那种“彻底转向”的程度。)

那么,有没有人有一套配置能让 Rubocop、ESLint 和 Prettier 都满意?无法在保存时立即看到这些检查结果,非要等到 Travis 报错,再复制粘贴那些(按理说早已存在于 bash 历史记录中的)命令来排查问题,这简直让人抓狂。

难道不能设置成保存时自动格式化,并在无法自动修复时发出明确警告吗?

如果有人在 VS Code 中实现了这样一套优雅的配置,我很想知道您使用了哪些插件组合。

不过,也许我会回头看看如何让 Emacs 实现这些功能,以及它那些我真正喜欢的特性(目前为止最棒的是 Shift+Ctrl+F 在整个子目录树中执行 grep)。

2 个赞

我想我们 CDCK 团队中有好几位同事全程使用 VSCode。针对代码检查和格式化,我安装了以下插件:

以及相关的配置设置:

{
    "editor.tabSize": 2,
    "[javascript]": {
        "editor.formatOnSave": true,
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    "[scss]": {
        "editor.formatOnSave": true,
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    "[ruby]": {
        "editor.formatOnSave": true
    },
    "ruby.useBundler": true,
    "ruby.format": "rubocop",
    "ruby.lint": {
        "rubocop": {
            "useBundler": true
        }
    },
    "editor.formatOnSaveTimeout": 10000,
    "eslint.format.enable": true,
    "javascript.validate.enable": false
}

没错!对于 Discourse 核心项目,我们配置了 lefthook 来尽量缓解这种痛苦。如果保存时的编辑器集成还不够用,你也可以在自己的插件中实现类似的功能。

另外,我非常推荐在 VSCode 中安装 ‘GitLens’ 插件。它可以在你工作时提供有用的代码追溯(blame)注解:

5 个赞

我还没做,但现在想先说声大大的感谢!也许你的设置正是我缺少的关键,等我弄清楚该把它放在哪儿就能派上用场。

你能再详细说说如何让那个左勾拳发挥作用吗?

认为你只需要 cd 进入你的 discourse 目录,运行 yarn install(如果你还没做的话),然后执行 lefthook install

之后,每次你尝试 git commit 时,它都会在变更的文件上运行代码检查工具(linters),并提示你任何存在的问题。

1 个赞