¿Recomendaciones de extensiones para VS Code?

Soy un usuario veterano de Emacs. He estado probando VS Code durante un tiempo. (Sorpresa: configurar este editor infinitamente extensible no es más fácil que con Emacs. No me he rendido, y es realmente bueno para algunas cosas, pero ni siquiera me he convertido tanto como esperaba).

Entonces, ¿alguien tiene una configuración que haga feliz a Rubocop, eslint y prettier? Es desesperante no poder ver esos problemas hasta que Travis se queja y luego copiar y pegar esos comandos (que deberían estar en el historial de bash para estas alturas) para averiguar qué está mal.

¿No puedo simplemente hacer que formatee el código al guardar y que advierta claramente si no es auto-corregible?

Si alguien tiene esto funcionando de una manera excelente, me encantaría saber qué conjunto de plugins estás utilizando.

Pero quizás iré a ver cómo hacer que Emacs haga esto, junto con un par de cosas que realmente me gustan (la mejor hasta ahora es shift-control-f para buscar en todo un árbol de subdirectorios).

Creo que hay varios de nosotros en CDCK que usamos VSCode para todo. Para linting y formateo, tengo:

Y la configuración relevante:

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

¡Totalmente! Para el núcleo de Discourse, tenemos una configuración de lefthook para intentar evitar parte de ese dolor. Si la integración del editor al guardar no es suficiente, definitivamente podrías hacer algo similar en tus plugins.

También recomendaría encarecidamente instalar la extensión ‘GitLens’ para VSCode. Puede proporcionarte anotaciones útiles de blame mientras trabajas:

Aún no lo he hecho, pero quería dar las gracias de antemano. ¡Y quizás tus ajustes sean el ingrediente que me falta una vez que averigüe dónde encajarlo!

¿Podrías explicarme más sobre cómo hacer que ese gancho izquierdo haga algo?

Creo que solo necesitas cd en tu directorio de Discourse, ejecutar yarn install (lo cual quizás ya hayas hecho) y luego lefthook install.

Luego, cada vez que intentes hacer un git commit, se ejecutarán los linters en los archivos modificados y te advertirá sobre cualquier problema.