Recomendações de extensões para VS Code?

Sou um usuário veterano do Emacs. Tenho tentado usar o VS Code há algum tempo. (Surpresa: configurar esse editor infinitamente extensível não é mais fácil do que era o Emacs. Não desisti, e ele é realmente bom para algumas coisas, mas não me tornei tão convencido quanto esperava).

Então, alguém tem uma configuração que deixa o Rubocop, o eslint e o Prettier felizes? É frustrante não conseguir ver esses problemas até o Travis reclamar e depois copiar e colar aqueles comandos (que já deveriam estar no histórico do bash) para descobrir o que está errado.

Não dá para simplesmente fazer com que ele formate o código ao salvar e alertar fortemente se não for possível corrigir automaticamente?

Se alguém tiver isso funcionando de forma elegante, adoraria saber quais plugins você está usando.

Mas talvez eu vá tentar fazer o Emacs fazer isso, junto com algumas outras coisas que realmente gosto (a melhor até agora sendo shift-control-f para fazer grep em toda a árvore de um subdiretório).

Acho que somos alguns aqui na CDCK que usamos o VSCode para tudo. Para linting/formatting, tenho:

E as configurações relevantes:

{
    "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
}

Sim, com certeza! Para o núcleo do Discourse, temos uma configuração do lefthook para tentar aliviar parte desse problema. Se a integração do editor ao salvar não for suficiente, você certamente pode fazer algo similar nos seus plugins.

Também recomendo fortemente instalar a extensão ‘GitLens’ para o VSCode. Ela pode fornecer anotações úteis de blame enquanto você trabalha:

Ainda não fiz isso, mas queria dizer agora um grande obrigado! E talvez suas configurações sejam o ingrediente que estou faltando, assim que eu descobrir onde encaixar isso.

Pode me dizer mais sobre como fazer aquele gancho de esquerda funcionar?

Eu acho que você só precisa cd para o diretório do seu discourse, executar yarn install (o que você já pode ter feito) e depois lefthook install

Então, toda vez que você tentar git commit, ele executará os linters nos arquivos alterados e avisará sobre quaisquer problemas.