Comment développer sur un serveur SSH distant avec Visual Studio Code
Modifier des fichiers stockés sur un serveur distant ne doit pas être un enchevêtrement de commandes shell et d'éditeurs de texte basiques. Visual Studio Code est l'un des IDE pour développeurs les plus populaires et une extension officiellement supportée vous permet d'ajouter des connexions SSH à votre espace de travail.
L'extension Remote - SSH peut se connecter à des serveurs réseau, lister leur structure de répertoire et ouvrir et modifier des fichiers. Presque toutes les fonctionnalités de Visual Studio Code sont disponibles, y compris l'achèvement de code IntelliSense, le débogage intégré et les extensions tierces.
Commencer
Commencez par ajouter l'extension Remote - SSH à votre éditeur. Appuyez sur Ctrl+Shift+P pour ouvrir la palette de commandes et tapez "installer". La barre latérale des extensions apparaîtra à gauche. Recherchez "remote - ssh" et installez l'extension correspondante. Elle est publiée et supportée par Microsoft.
Maintenant, vous devez vous connecter à votre serveur SSH. L'extension fonctionne avec des hôtes exécutant Ubuntu, Debian, CentOS, RHEL et Raspbian. Les serveurs Windows sont également pris en charge, à condition que le serveur OpenSSH officiel de Microsoft soit utilisé. Les hôtes macOS doivent avoir la fonction de connexion à distance de l'environnement activée.
Avant de continuer, assurez-vous d'avoir copié votre clé publique SSH locale sur votre serveur.
authorized_keysLe fichier. VS Code ne prend pas entièrement en charge l'authentification par mot de passe ; bien que cela fonctionne, vous devrez saisir à nouveau votre mot de passe chaque fois qu'une commande est exécutée.
Appuyez sur Ctrl+Shift+P pour afficher la Palette de commandes. Recherchez « explorateur à distance » et exécutez la commande « Affichage : Afficher l'explorateur à distance » pour faire apparaître le panneau latéral à distance. Sélectionnez « Cibles SSH » dans le menu déroulant en haut si ce n'est pas déjà sélectionné.
Survolez l'en-tête « Cibles SSH » dans le panneau latéral. Cliquez sur le bouton plus pour créer une nouvelle connexion. Une fenêtre contextuelle apparaîtra vous permettant d'entrer les détails de votre serveur. Cela devrait être une commande complète de connexion SSH avec le
-Adrapeau pour activer le transfert d'agent. Cela vous permet d'utiliser vos clés locales lors de l'exécution de commandes SSH ultérieures sur le serveur.
ssh user@example.com -AVous serez invité à choisir un fichier de configuration SSH dans lequel écrire. Vous pouvez choisir parmi votre fichier utilisateur par défaut, le fichier des paramètres système ou un emplacement personnalisé. Sélectionner le fichier par défaut dans votre répertoire personnel est généralement la meilleure option si vous n'êtes pas sûr.
Votre nouvel hôte sera ajouté à la barre latérale de l'Explorateur à distance. Cliquez sur l'icône de dossier à côté de son nom pour ouvrir une connexion dans une nouvelle fenêtre Visual Studio Code. La première exécution de la configuration peut prendre quelques instants pendant que Visual Studio configure l'hôte à distance et active son composant serveur.
Utiliser des connexions à distance
Une fois l'installation terminée, vous vous retrouverez dans une fenêtre normale de Visual Studio Code qui effectue des opérations sur votre hôte sélectionné. Cliquez sur le bouton "Ouvrir le dossier" en haut à gauche de la barre latérale pour trouver un répertoire sur votre serveur. Vous pourriez être invité à reconnaître une fenêtre de confiance de l'espace de travail ; si c'est le cas, cliquez sur "oui" pour marquer le répertoire comme de confiance et activer toutes les fonctionnalités de l'éditeur.
Maintenant, vous verrez le répertoire côté serveur apparaître dans le panneau Explorateur normal de VS Code. Vous pouvez ouvrir des fichiers, voir leur contenu et les modifier en utilisant le flux de travail familier. Si vous travaillez dans un dépôt Git, vous pouvez utiliser les fonctionnalités de contrôle de version intégrées pour préparer et valider des modifications comme d'habitude.
Les répertoires contenant des fichiers .vscode permettent des fonctionnalités telles que les compilations et le débogage. VS Code peut exécuter le contenu des répertoires distants, vous offrant une expérience de développement complète. Appuyez sur F5 pour démarrer votre application si un système de construction est défini. Vous pouvez définir des points d'arrêt et parcourir votre code de la même manière que pour les projets locaux.
Le panneau de terminal VS Code en bas de votre fenêtre se connectera également à l'hôte sélectionné. Vous pouvez l'utiliser pour exécuter des commandes sur votre serveur distant.
Une fois que vous avez ouvert un répertoire une fois, il apparaîtra dans la barre latérale de l'explorateur distant à l'avenir. Cliquez sur son nom sous l'hôte SSH pour lancer une nouvelle fenêtre VS Code directement vers ce répertoire distant.
Comment ça marche ?
Les capacités à distance fonctionnent en installant un composant serveur VS Code sur votre machine distante. Cela se produit automatiquement lors de votre première connexion. Le serveur surveille le système de fichiers, applique les modifications et lance les processus demandés par l'éditeur.
Le serveur est nécessaire afin que VS Code ait un accès complet au système de fichiers et la possibilité d'exécuter du code et de déboguer sur votre hôte. Vous n'avez normalement pas besoin d'interagir avec le processus serveur, car il est entièrement géré par votre client de l'éditeur. Vous pouvez le redémarrer depuis la palette de commandes si nécessaire.
Les extensions dans votre fichier .vscode seront également installées sur l'hôte distant. Cela leur donne le même accès sans compromis à vos fichiers, de sorte que la plupart des extensions fonctionneront sans problèmes.
Lorsque vous éditez dans VS Code, vous bénéficiez d'une performance presque native avec peu de surcharge. Les requêtes pour lire et écrire des fichiers sont transmises de votre fenêtre d'éditeur VS Code au processus serveur sur l'hôte distant. Cela interagit avec le système de fichiers pour fournir les données demandées et effectuer les modifications nécessaires.
Contrairement à d'autres extensions d'édition à distance, celle-ci se concentre sur la fourniture d'une expérience de développement à distance complète, et pas seulement sur la simple édition de fichiers. L'inclusion du composant serveur est vitale pour cette approche car les fonctionnalités principales de l'éditeur restent proches du code. Elles sont découplées de la fenêtre d'édition que vous voyez et avec laquelle vous interagissez.
Configuration de l'extension
L'extension dispose de plusieurs paramètres auxquels vous pouvez accéder via la commande "Remote-SSH : Settings". En haut de la page, vous pouvez spécifier le chemin d'un fichier de configuration SSH personnalisé et ajouter un délai d'attente de connexion par défaut. Cela empêche Visual Studio de se bloquer trop longtemps lorsque l'hôte distant ne répond pas. Plus bas sur la page, le paramètre "Max Reconnection Attempts" vous permet de modifier le comportement de Visual Studio en cas d'échec de la connexion.
Le paramètre "Extensions par défaut" vous permet d'ajouter des extensions VS Code qui seront installées sur tous les hôtes SSH distants. Ces extensions seront disponibles de manière universelle, même si vous ne les avez pas ajoutées au fichier .vscode de votre projet actif.
Les cases à cocher suivantes contrôlent le transfert automatique des agents. Celles-ci correspondent aux paramètres par défaut du client SSH dans votre fichier de configuration SSH.
D'autres paramètres vous permettent de personnaliser la façon dont VS Code expose et se connecte au serveur distant. Vous pouvez choisir d'utiliser une socket au lieu d'un port, de mutualiser les connexions à travers les fenêtres ouvertes, et d'utiliser un chemin binaire SSH personnalisé. Ces paramètres sont spécifiques à l'environnement ; chacun est accompagné d'une description de son utilisation prévue.
Résumé
L'extension Remote SSH de VS Code facilite le travail avec des fichiers sur des hôtes distants. Vous bénéficiez d'une expérience de développement de premier ordre sans synchroniser manuellement les fichiers entre les machines.
Le flux de travail améliore l'utilité des environnements de développement à distance. Vous pourriez configurer votre chaîne d'outils sur un seul serveur et laisser les développeurs s'y connecter à distance. VS Code est plus fiable, performant et puissant que les approches traditionnelles telles que le montage du système de fichiers distant localement ou l'utilisation de logiciels d'accès à distance comme VNC.
En plus des connexions SSH, VS Code comprend également les conteneurs Docker, le Sous-système Windows pour Linux, et GitHub Codespaces. Vous obtenez toutes les fonctionnalités de l'éditeur VS Code peu importe où votre code se trouve, vous offrant plus de flexibilité lors de la configuration d'un nouvel environnement.





