
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.

É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, ....

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.

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 =, :, =>

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

Git
Git Graph
Affichez sous forme de graph votre référentiel git. Il permet aussi d'effectuer des actions Git.

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, ...

É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. Format pris en charge par Hugo, le générateur de site statique que j'utilise.
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
