Utilisation de Visual Studio Code
Visual Studio Code (VS Code) est un environnement de développement intégré développé par Microsoft pour Windows, Linux, macOS et les navigateurs web. Veuillez trouver ci-dessous quelques recommandations d’utilisation dans l’écosystème du CC-IN2P3.
Note
Ceci s’applique également aux dérivés/alternatives de VSCode/VSCodium, notamment Antigravity, Cursor, Positron, Zed, etc.
Associez votre session de VS Code au même serveur interactif (et pas à l’alias
cca) :connectez-vous aux serveurs interactifs à l’aide d’un client SSH (pas VS Code, mais PuTTY, OpenSSH, etc.),
récupérez le nom d’hôte du serveur auquel vous vous êtes connecté :
% hostname cca042
connectez-vous via la fonctionnalité Remote SSH de votre VS Code sur ce serveur (en suivant l’exemple précédent, sur
cca042.in2p3.frau lieu decca.in2p3.fr) ;attendez que VS Code ait terminé son initialisation, en particulier si vous n’avez pas suivi les recommandations de dépannage ci-dessous concernant le répertoire de travail.
Évitez de lancer une session interactive depuis un terminal VS Code. Votre
srunrisquerait, en cas de déconnexion de VS Code, de persister sur la plateforme de calcul, occupant de la ressource inutilisable. Privilégiez un client SSH (PuTTY, OpenSSH, etc.).
Dépannage
Répertoire de travail
Lorsque VS Code démarre, il lance la commande git status -z -uall dans son répertoire de travail. Cette commande n’est pas optimisée pour un répertoire contenant beaucoup de fichiers et/ou des fichiers de taille importante : veuillez lancer VS Code à partir d’un répertoire contenant un faible nombre de fichiers.
En règle générale, veuillez privilégier un sous-répertoire de votre répertoire personnel (HOME) plutôt qu’un de votre répertoire GROUP.
Serveur Jupyter Notebook
VS Code permet de lancer un serveur Notebook Jupyter intégré. Si le serveur Jupyter intégré est lancé lors d’une connexion à un serveur interactif cca, son utilisation peut provoquer le dépassement des limites acceptés et son exécution sera interrompue.
Pour exécuter vos notebooks Jupyter, nous vous conseillons de privilégier l’utilisation de la Plateforme de Notebooks Jupyter proposée par le CC-IN2P3.
Perte de connexion
Si la connexion internet de votre poste de travail peut être interrompue par la mise en veille de votre écran (cas des utilisateurs Mac avec une connexion Thunderbolt, c’est-à-dire une connexion au réseau Ethernet filaire dans l’écran), vos fenêtres VS Code seront fermées par le manque de connexion. Voici, pour info, la description de ce qu’il se passe :
VS Code crée une connexion SSH vers un serveur
ccaet lance (sur cet interactif)Node.js;l’utilisateur interrompt temporairement de son activité ;
le poste de travail détecte le manque d’activité et met l’écran en veille: la connexion réseau est coupée et
la connexion SSH disparaît ;
mais le
Node.jsde VS Code persiste ;le VS Code fantôme est détecté par le monitoring des interactifs (et tué).
Optimiser la performance
Pour résoudre certains problèmes de performance avec VScode depuis un serveur interactif, vous pouvez ajouter les lignes ci-dessous dans votre fichier de configuration ~/.vscode-server/data/Machine/settings.json.
{ "files.watcherExclude": { "**/.git/objects/**": true, "**/.git/subtree-cache/**": true, "**/node_modules/*/**": true, "**/.cache/**": true, "**/.conda/**": true, "**/.local/**": true, "**/.nextflow/**": true } }
Bien évidemment, vous pouvez modifier ou ajouter des répertoires à la liste.
Sur-exploitation des ressources
Par défaut, lors de son démarrage, VS Code recherche les noms des symboles du code source pour ses fonctions d’auto-complétion. Pour cela, il utilise ripgrep qui utilise tous les cœurs de la machine pour faire un scan rapide.
Attention
Il est recommandé, si possible, de désactiver cette collecte avec ripgrep (ou de la configurer pour être moins agressive) pour éviter la charge trop importante sur le serveur interactif.
Pour désactiver ripgrep, ajoutez la ligne suivante au fichier de configuration de VS Code :
"search.useRipgrep": false
Localisation du fichier de configuration en ce qui concerne VS Code (le nommage du répertoire
Codepeux changer selon le logiciel alternatif utilisé) :sur Linux :
$HOME/.config/Code/User/settings.jsonsur macOS :
$HOME/Library/Application\ Support/Code/User/settings.json