VS Code - Cygwin as Integrated Terminal

前端 未结 4 511
时光说笑
时光说笑 2020-12-23 12:01

I would like to use Cygwin as the integrated terminal on Visual Studio Code on my Windows laptop (as this would give me use of the Linux terminal commands git and G++, etc.)

相关标签:
4条回答
  • 2020-12-23 12:03

    You could just call the Cygwin.bat without ENV issue:

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

    Make sure the BAT scripts fit to your Cygwin.

    0 讨论(0)
  • 2020-12-23 12:12

    These config settings work for me:

    {
      // 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"
      ],
    }
    
    0 讨论(0)
  • 2020-12-23 12:20

    Combining above answers, this is my working configuration.

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

    {tested at ubuntu 18.04lts, running Windows 7 ultimate 32bt in Virtualbox 5.2.12}

    0 讨论(0)
  • 2020-12-23 12:26

    VS Code only allows you to set one default terminal configuration at a time and as its likely that users would want multiple shells to be available at any time like CMD, Powershell and Cygwin Bash, it would be best to use an Visual Studio Code Extension called Shell Launcher.

    This tool will allow you to launch any number of shells at any time. First you need to reassign the CTRL-SHIFT-T hotkey to shellLauncher or use a different unused hotkey.

    Then, go into your settings.json for VS Code and add the following block:

    "shellLauncher.shells.windows": [
      {
        "shell": "C:\\Windows\\System32\\cmd.exe",
        "label": "cmd"
      },
      {
        "shell": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
        "label": "PowerShell"
      },
      {
        "shell": "C:\\cygwin\\bin\\bash.exe",
        "args": ["-l"],
        "env": {"CHERE_INVOKING": "1"},
        "label": "Cygwin Bash"
      }
    ],
    

    Note: alter paths above as required

    Now when you hit the hotkey you assigned, you will get a dropdown of the available terminals configured.

    0 讨论(0)
提交回复
热议问题