web-dev-qa-db-fra.com

VS Code - Cygwin en tant que terminal intégré

Je voudrais utiliser Cygwin en tant que terminal intégré dans Visual Studio Code sur mon ordinateur portable Windows (car cela me permettrait d'utiliser les commandes de terminal Linux git et G ++, etc.), mais lorsque j'ai défini la valeur pour "terminal.integrated.Shell.windows": à l'adresse de l'application Cygwin (.exe), il ouvre alors un nouveau terminal Cygwin plutôt que de rester dans le code de VS.

Ma question est donc la suivante: puis-je utiliser Cygwin intégré au terminal Code VS et l’utiliser pour y utiliser des commandes (mkdir, rm, etc.), mais aussi des commandes git et l’utiliser comme un compilateur et un débogueur intégrés (pour générique mais au moins pour C++)? Et comment pourrais-je m'y prendre?

19
user2766296

Ces paramètres de configuration fonctionnent pour moi:

{
  // start bash, not the mintty, or you'll get a new window
  "terminal.integrated.Shell.windows": "C:\\cygwin\\bin\\bash.exe",
  // Use this to keep bash from doing a 'cd ${HOME}'
  "terminal.integrated.env.windows": {
    "CHERE_INVOKING": "1"
  },
  // Make it a login Shell
  "terminal.integrated.shellArgs.windows": [
    "-l"
  ],
}
44
Rick Renshaw

Vous pouvez simplement appeler le Cygwin.bat sans problème ENV:

{
    // Replace with your Cygwin.bat file path 
    "terminal.integrated.Shell.windows": "C:\\cygwin64\\Cygwin.bat",
}

Assurez-vous que les scripts BAT s’adaptent à votre Cygwin.

8
Nick Tsai

En combinant les réponses ci-dessus, c'est ma configuration de travail.

{
    "terminal.integrated.Shell.windows": "C:\\cygwin\\bin\\bash.exe",
    "terminal.integrated.env.windows": {
        "CHERE_INVOKING": "1"
    },
    "terminal.integrated.shellArgs.windows": [
        "--login",
        "-i"
    ],
}

{testé sur Ubuntu 18.04lts, exécutant Windows 7 ultimate 32bt dans Virtualbox 5.2.12}