Skip to main content

Changement d’interprĂ©teur de commandes dans un codespace

Vous pouvez changer votre interprĂ©teur de commandes dans un codespace pour conserver la configuration Ă  laquelle vous ĂȘtes habituĂ©.

Lorsque vous travaillez dans un codespace, vous pouvez ouvrir une nouvelle fenĂȘtre de terminal avec l’interprĂ©teur de commandes de votre choix, changer votre interprĂ©teur de commandes par dĂ©faut pour les nouvelles fenĂȘtres de terminal ou installer un nouvel interprĂ©teur de commandes. Vous pouvez Ă©galement utiliser des dotfiles pour configurer votre interprĂ©teur de commandes.

Les codespaces qui utilisent l’image conteneur de dĂ©veloppement par dĂ©faut sont fournis avec les interprĂ©teurs de commandes bash, zsh et fish installĂ©s. Si vous ouvrez un nouveau codespace dans le client web VS Code ou si vous vous connectez Ă  un codespace via SSH, le terminal s’ouvre avec une session bash exĂ©cutĂ©e par dĂ©faut. Dans l’application de bureau VS Code, l’interprĂ©teur de commandes par dĂ©faut dĂ©pend de vos paramĂštres locaux et de votre systĂšme d’exploitation. Pour plus d’informations, consultez Profils de terminal dans la documentation VS Code.

Changement de l’interprĂ©teur de commandes par dĂ©faut dans VS Code

Si vous ne souhaitez pas utiliser l’interprĂ©teur de commandes par dĂ©faut, vous pouvez ouvrir une nouvelle session de terminal avec un autre interprĂ©teur de commandes.

  1. Si vous ne voyez pas le terminal intégré dans VS Code, appuyez sur Ctrl+`.

  2. À droite de l’icĂŽne permettant d’ouvrir une nouvelle fenĂȘtre de terminal, sĂ©lectionnez l’icĂŽne de liste dĂ©roulante.

    Capture d’écran du terminal intĂ©grĂ© dans VS Code. À cĂŽtĂ© de l’icĂŽne plus, une flĂšche vers le bas est encadrĂ©e en orange.

  3. Dans le menu dĂ©roulant, cliquez sur le nom de l’interprĂ©teur de commandes que vous souhaitez utiliser.

Installation d’un nouvel interprĂ©teur de commandes

Si vous souhaitez utiliser un interprĂ©teur de commandes qui n’est pas dĂ©jĂ  installĂ© dans l’image de base ou la configuration du conteneur de dĂ©veloppement d’un codespace, vous pouvez installer un nouvel interprĂ©teur de commandes.

Si vous utilisez l’image conteneur de dĂ©veloppement par dĂ©faut, recherchez les instructions d’installation pour Ubuntu Linux. Si vous souhaitez juste utiliser un autre interprĂ©teur de commandes pour une session, vous pouvez utiliser la ligne de commande pour installer l’interprĂ©teur de commandes dans le codespace dans lequel vous travaillez. Toutefois, vous risquez de perdre les programmes que vous avez installĂ©s si vous regĂ©nĂ©rez le conteneur dans le codespace. Pour plus d’informations, consultez « PrĂ©sentation approfondie de GitHub Codespaces Â».

Une option plus robuste pour installer de nouveaux interprĂ©teurs de commandes consiste Ă  inclure les commandes d’installation dans un dĂ©pĂŽt dotfiles ou en tant que commande de cycle de vie, par exemple postCreateCommand dans un fichier devcontainer.json. Utilisez un dĂ©pĂŽt dotfiles pour installer un interprĂ©teur de commandes que vous souhaitez utiliser dans tous vos propres codespaces, et un fichier devcontainer.json pour un interprĂ©teur de commandes que les contributeurs Ă  un dĂ©pĂŽt spĂ©cifique doivent avoir installĂ©. Pour plus d’informations, consultez « Personnalisation de GitHub Codespaces pour votre compte Â» et « PrĂ©sentation des conteneurs de dĂ©veloppement Â».

Ajout d’un profil de terminal VS Code pour un nouvel interprĂ©teur de commandes

VS Code dĂ©tecte automatiquement la plupart des interprĂ©teurs de commandes standard et les ajoute en tant que profil de terminal pour vous permettre d’ouvrir facilement de nouvelles fenĂȘtres de terminal Ă  l’aide de l’interprĂ©teur de commandes que vous avez installĂ©.

Si l’interprĂ©teur de commandes que vous installez n’est pas dĂ©tectĂ© automatiquement, vous pouvez ajouter un nouveau profil de terminal Ă  vos paramĂštres utilisateur. Ce paramĂštre dĂ©pend de votre systĂšme d’exploitation, donc vous devez utiliser linux pour le client web VS Code et votre systĂšme d’exploitation local pour l’application de bureau.

  1. Pour ouvrir la Visual Studio Code Command Palette, appuyez sur Commande+Maj+P (Mac) ou Ctrl+Maj+P (Windows).

  2. Commencez Ă  taper « paramĂštres utilisateur Â», puis cliquez sur PrĂ©fĂ©rences : Ouvrir les paramĂštres utilisateur (JSON) .

  3. Dans le fichier settings.json, Ă  l’intĂ©rieur de l’objet JSON, ajoutez une nouvelle propriĂ©tĂ© comme suit. Remplacez OPERATING-SYSTEM par le systĂšme d’exploitation appropriĂ© (par exemple linux, windows ou osx) et SHELL par l’interprĂ©teur de commandes que vous avez installĂ©.

    JSON
    "terminal.integrated.profiles.OPERATING-SYSTEM": {
      "SHELL": {
        "path": "SHELL"
      }
    }
    

    Par exemple :

    "terminal.integrated.profiles.linux": {
     "csh": {
       "path": "csh"
     }
    }
    
  4. Enregistrez le fichier .

Vous pouvez utiliser la Synchronisation des paramĂštres pour partager ces paramĂštres entre tous les codespaces que vous ouvrez dans le client web VS Code et l’application de bureau. Si vous travaillez dans le client web, la Synchronisation des paramĂštres est dĂ©sactivĂ©e par dĂ©faut et vous devez l’activer pour pousser (push) les modifications vers vos paramĂštres ou tirer (pull) de nouvelles modifications que vous avez apportĂ©es ailleurs. Pour plus d’informations, consultez « Personnalisation de GitHub Codespaces pour votre compte Â».

DĂ©finition de l’interprĂ©teur de commandes par dĂ©faut dans VS Code

Vous pouvez dĂ©finir un profil de terminal par dĂ©faut pour choisir l’interprĂ©teur de commandes par dĂ©faut utilisĂ© pour toutes les nouvelles fenĂȘtres de terminal que vous ouvrez dans VS Code. Le profil de terminal par dĂ©faut dĂ©pend de votre systĂšme d’exploitation, donc vous pouvez dĂ©finir un profil par dĂ©faut pour Linux si vous utilisez le client web VS Code, ou pour votre systĂšme d’exploitation local si vous utilisez l’application de bureau.

Remarque

Quel que soit votre profil par défaut, les espaces de code ouverts dans le client web s'ouvrent toujours avec une session bash en cours d'exécution.

  1. Pour ouvrir la Visual Studio Code Command Palette, appuyez sur Commande+Maj+P (Mac) ou Ctrl+Maj+P (Windows).

  2. Commencez Ă  taper « paramĂštres utilisateur Â», puis cliquez sur PrĂ©fĂ©rences : Ouvrir les paramĂštres utilisateur (JSON) .

  3. Dans l’objet JSON, pour dĂ©finir l’interprĂ©teur de commandes par dĂ©faut pour le systĂšme d’exploitation appropriĂ©, ajoutez des lignes ou modifiez des lignes existantes comme suit.

    "terminal.integrated.defaultProfile.OPERATING-SYSTEM": "SHELL"
    

    Par exemple :

    JSON
    {
       "terminal.integrated.defaultProfile.osx": "zsh",
       "terminal.integrated.defaultProfile.linux": "bash",
       "terminal.integrated.defaultProfile.windows": "PowerShell"
    }
    
  4. Enregistrez le fichier settings.json.

Vous pouvez utiliser la Synchronisation des paramĂštres pour partager ces paramĂštres entre tous les codespaces que vous ouvrez dans le client web VS Code et l’application de bureau. Si vous travaillez dans le client web, la Synchronisation des paramĂštres est dĂ©sactivĂ©e par dĂ©faut et vous devez l’activer pour pousser (push) les modifications vers vos paramĂštres ou tirer (pull) de nouvelles modifications que vous avez apportĂ©es ailleurs. Pour plus d’informations, consultez « Personnalisation de GitHub Codespaces pour votre compte Â».

DĂ©finition de l’interprĂ©teur de commandes par dĂ©faut sur SSH

Lorsque vous vous connectez à un codespace à partir de la ligne de commande via SSH, vous vous connectez à une session bash dans le codespace par défaut.

Si vous avez activĂ© un dĂ©pĂŽt dotfiles pour GitHub Codespaces, vous pouvez changer l’interprĂ©teur de commandes par dĂ©faut auquel vous vous connectez en ajoutant une commande Ă  un script d’installation, comme install.sh dans vos dotfiles. Pour plus d’informations, consultez « Utilisation de GitHub Codespaces avec l’interface CLI de GitHub Â» et « Personnalisation de GitHub Codespaces pour votre compte Â». Par exemple, la commande suivante remplace l’interprĂ©teur de commandes par dĂ©faut par zsh.

Shell
sudo chsh "$(id -un)" --shell "/usr/bin/zsh"

Si vous souhaitez utiliser un interprĂ©teur de commandes par dĂ©faut qui n’est pas installĂ© dans votre codespace par dĂ©faut, ou vĂ©rifier que vous avez la derniĂšre version de l’interprĂ©teur de commandes, vous pouvez commencer par installer l’interprĂ©teur de commandes.

Shell
sudo apt-get update -y
sudo apt-get install -y csh
sudo chsh "$(id -un)" --shell "/usr/bin/csh"

Remarque

Si vous crĂ©ez un codespace (par exemple avec gh codespace create), vous devez attendre suffisamment de temps pour vous assurer que le script a terminĂ© son exĂ©cution avant de vous connecter au codespace via SSH. Si l’exĂ©cution du script n’est pas terminĂ©e, vous vous connecterez Ă  une session bash par dĂ©faut.

Lorsque vous ĂȘtes connectĂ© au codespace, dans la plupart des interprĂ©teurs de commandes, vous pouvez utiliser la commande readlink /proc/$$/exe pour vĂ©rifier que l’interprĂ©teur de commandes appropriĂ© est en cours d’exĂ©cution.

Configuration de votre interpréteur de commandes

Avec la plupart des interprĂ©teurs de commandes, vous avez la possibilitĂ© d’utiliser un fichier de configuration, tel que .bashrc, pour configurer l’interprĂ©teur de commandes avec vos paramĂštres prĂ©fĂ©rĂ©s. Ces paramĂštres peuvent inclure des Ă©lĂ©ments tels que des alias et des variables d’environnement.

Par dĂ©faut, les codespaces contiennent une configuration prĂ©dĂ©finie pour les interprĂ©teurs de commandes prĂ©installĂ©s. Par exemple, le rĂ©pertoire de base d’un codespace contient les fichiers .bashrc et .zshrc. Vous pouvez changer le contenu de ces fichiers, puis utiliser une commande telle que source ~/.bashrc pour mettre Ă  jour la configuration de votre interprĂ©teur de commandes. Toutefois, vous perdrez toute modification apportĂ©e Ă  ces fichiers si vous reconstruisez le conteneur dans un codespace. Pour plus d’informations, consultez « PrĂ©sentation approfondie de GitHub Codespaces Â».

En rĂšgle gĂ©nĂ©rale, vous devez utiliser un dĂ©pĂŽt dotfiles pour configurer les interprĂ©teurs de commandes avec vos paramĂštres prĂ©fĂ©rĂ©s. La configuration de vos dotfiles s’applique Ă  tous les codespaces que vous crĂ©ez et persiste aprĂšs les reconstructions du conteneur. Pour plus d’informations, consultez « Personnalisation de GitHub Codespaces pour votre compte Â».

RĂ©solution des problĂšmes de l’interprĂ©teur de commandes fish

L’interprĂ©teur de commandes fish inclut une interface de configuration web. Vous pouvez utiliser la commande fish_config pour dĂ©marrer un serveur web local et lancer cette interface, puis effectuer des opĂ©rations comme changer l’invite de terminal ou afficher vos variables d’environnement.

Vous pouvez utiliser l’interface web de fish dans un codespace. Toutefois, les paramĂštres de couleur dans le terminal intĂ©grĂ© de VS Code dĂ©pendent du thĂšme VS Code choisi, et vous ne pouvez pas remplacer ces paramĂštres en dĂ©finissant un nouveau thĂšme dans l’interface fish_config.

Lorsque fish dĂ©marre le serveur local, le lien par dĂ©faut que fournit GitHub Codespaces au port transfĂ©rĂ© ne fonctionne pas. Par exemple, si vous cliquez sur Ouvrir dans le navigateur dans le message contextuel, vous arrivez sur une page d’erreur.

Pour accĂ©der Ă  l’interface web de fish_config :

  1. Dans un terminal exécutant une session fish, entrez fish_config.

  2. Dans la sortie du terminal, utilisez Commande+clic ou Ctrl+clic pour ouvrir le lien dans le fichier HTML web_config.

    $ fish_config
    Web config started at file:///tmp/web_config60rc9tr3.html
    Hit ENTER to stop.
    
  3. Dans le fichier web_config, utilisez Commande+clic ou Ctrl+clic pour ouvrir le lien dans le port transféré.

    <body>
      <p><a href="http://localhost:8000/1b9411c2469e392b96df5e5b28da485b/">Start the Fish Web config</a></p>
    </body>
    

Pour aller plus loin