Mes extensions Visual Studio Code préférées pour le DevOps couvrent quatre besoins : le développement à distance avec Remote SSH, le code d'infrastructure (Ansible, Terraform, Docker), la gestion Git et l'écriture Markdown. Je partage ici celles que j'utilise vraiment au quotidien pour écrire de l'Infrastructure as Code et rédiger la documentation de ce blog. Pour chacune, j'explique ce qu'elle m'apporte concrètement, côté productivité comme côté qualité du code.
Mes extensions
Visual Studio Code Remote - SSH
Je vous ai déjà partagé cette extension dans ce
billet
parlant du développement à distance via les extensions remote de Microsoft.
Personnellement, je l'utilise sur mon poste de travail Windows en me
connectant dans une VM Linux construite avec Vagrant sous Hyper-V. Cela me
permet aussi d'ouvrir rapidement mes projets via son navigateur.
Une animation de l'extension en action figure dans sa documentation.
Écriture de code d'Infrastructure As Code
Je ne parle pas ici des extensions dédiées aux langages de programmation : à part Python, je n'en utilise pas. Je me concentre sur celles qui servent à écrire du code d'infrastructure.
VagrantFile Support
Ansible et Yaml
J'ai déjà documenté cette extension dans ce billet. Elle est indispensable, parce qu'elle intègre la complétion de code, le linting, ....
Le dépôt de l'extension montre son activation en images.
Spotter
J'ai présenté spotter, un outil complémentaire à ansible-lint, dans ce
billet.
Puppet
Terraform
Docker
L'extension tout-en-un permettant de coder des Dockerfile de construire et de gérer des containers.

Animation : extension Docker, © Microsoft, licence MIT (source).
Assistants
Je vous propose quelques extensions facilitant la vie
.gitignore Generator
Comme son nom l'indique cette extension génère des .gitignore à partir d'une
liste de langage utilisé.
Better Align
Cette extension permet d'aligner le code contenant des caractères =, :, =>

Animation : extension Better Align, licence MIT (source).
Bien pratique pour du terraform par exemple.
Indent Rainbow
Cette extension colorise l'indentation devant votre texte, en alternant quatre couleurs différentes à chaque pas. Très utile pour écrire du code Python, Ansible...
Live Server++
Je l'utilise dés lors qu'un des outils que j'utilise génère en sortie des fichiers html.
Snippet
Le copilot du pauvre. Cette extension permet de rechercher parmi les cheat
page de la communauté. Par exemple vous chercher un bout de code permettant de
parser du json en python. [CTRL] + [SHIFT] + [P] snippet Find : Read File

Animation : extension Snippet, © Matthias Endler, licence MIT (source).
Git
Git Graph
Affichez sous forme de graph votre référentiel git. Il permet aussi d'effectuer des actions Git.
Une animation de démonstration figure sur le dépôt de l'extension.
Gitlab Workflow
Pour ceux qui travaillent avec un serveur Gitlab cette extension est indispensable. Prise en charge des issues, merge requests, du code gitlab-ci, des pipelines, ...

Animation : extension GitLab Workflow, © GitLab, licence MIT (source).
Écriture de documents Markdown
Dans le cadre de l'écriture des billets de ce blog, j'utilise plusieurs extensions permettant de faciliter l'écriture des documents au format Markdown. Ce format est celui d'Astro, le générateur de site statique qui produit ce blog.
Markdown All in One
Cette extension contient pratiquement tout ce qu'il faut pour éditer du
markdown. De nombreux raccourcis sont disponibles dont voici les principaux :
- Ctrl/Cmd + B Met en gras le texte sélectionné
- Ctrl/Cmd + I Met en italique e texte sélectionné
- Alt+S (on Windows) Barre le texte sélectionné
- Ctrl/Cmd + Shift + V Affiche la fenêtre de prévisualisation
Markdown Lint
L'extension précédente ne gère pas le linting du markdown. Or, comme tout
format, le Markdown a ses règles ; cette extension les vérifie et signale les
écarts au fil de la frappe.
Tree Extended
Il suffit de se placer dans le navigateur de fichier de vscode et de faire un clic droit pour génerer un joli arbre comme celui-ci :
└───📁 default/ ├───📁 tests/ │ └───... ├───📄 INSTALL.rst ├───📄 converge.yml ├───📄 molecule.yml ├───📄 prepare.yml └───📄 verify.ymlRewrap
Cette extension permet de gérer automatiquement le retour à la ligne lors du dépassement des 80 caractères. Il est possible de refaire le wrapping à tout moment avec le raccourci [Alt] + [Q].
Correcteur orthographique et grammaticale
Une de mes plus grosses faiblesses, c'est bien d'écrire sans faute. Pour éviter de vous envoyer trop de fautes (certaines passent encore à travers des mailles du filet), J'utilise LanguageTool. Tout est expliqué ici

Animation : extension LanguageTool Linter, © David L. Day, licence Apache-2.0 (source).