Recommandations d'extensions VS Code ?

Je suis un utilisateur chevronné d’Emacs. J’essaie VS Code depuis un moment. (Sensation : configurer cet éditeur infiniment extensible n’est pas plus facile qu’avec Emacs. Je n’ai pas abandonné, et il est vraiment bon pour quelques tâches, mais je ne suis même pas aussi converti que je l’espérais).

Alors, quelqu’un a-t-il une configuration qui satisfait Rubocop, eslint et Prettier ? C’est frustrant de ne pas pouvoir voir ces problèmes avant que Travis ne se plaigne, puis de copier-coller ces commandes (qui devraient déjà être dans l’historique du bash) pour déterminer ce qui ne va pas.

Ne puis-je pas simplement configurer le formatage à l’enregistrement et recevoir un avertissement clair si le problème n’est pas automatiquement corrigible ?

Si quelqu’un a une configuration élégante qui fonctionne, j’aimerais savoir quels plugins vous utilisez.

Mais peut-être vais-je plutôt essayer de faire faire cela à Emacs, ainsi que quelques autres choses que j’apprécie vraiment (la meilleure à ce jour étant shift-control-f pour rechercher dans tout un sous-arborescence de répertoires).

Je pense qu’il y en a quelques-uns d’entre nous chez CDCK qui utilisent VSCode pour tout. Pour le linting et le formatage, j’utilise :

Et les paramètres pertinents :

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

Tout à fait ! Pour le cœur de Discourse, nous avons une configuration lefthook pour tenter d’éviter une partie de cette frustration. Si l’intégration de l’éditeur au moment de l’enregistrement ne suffit pas, vous pouvez tout à fait faire quelque chose de similaire dans vos plugins.

Je recommande également vivement d’installer l’extension ‘GitLens’ pour VSCode. Elle peut vous fournir des annotations de blame utiles pendant que vous travaillez :

Je ne l’ai pas encore fait, mais je voulais dire un grand merci maintenant ! Et peut-être que tes paramètres seront l’élément qui me manque une fois que j’aurai compris où le placer.

Peux-tu en dire plus sur la façon de faire en sorte que ce crochet gauche fasse quelque chose ?

Je pense que vous devez simplement cd dans votre répertoire Discourse, exécuter yarn install (ce que vous avez peut-être déjà fait), puis lefthook install.

Ensuite, chaque fois que vous tentez de faire un git commit, il exécutera les linters sur les fichiers modifiés et vous avertira de tout problème.