Visual Studio Code 통합 터미널에서 Windows에서 Bash를 어떻게 사용합니까?


답변:


347

더 이상 bash.exe 경로를 수동으로 입력 할 필요가 없습니다. 이 답변은 더 이상 사용되지 않습니다. 이제 bash로 직접 전환 할 수 있습니다. git이 설치되어 있는지 확인하십시오.


https://git-scm.com/download/win 에서 Git을 설치 하십시오 .

그런 다음 Visual Studio Code를 열고 Ctrl+ Shift+를 사용하여 명령 팔레트를 엽니 다 P. 그런 다음 "사용자 설정 열기"를 입력 한 다음 드롭 다운 메뉴에서 "사용자 설정 열기"를 선택하십시오.

Visual Studio 코드 명령 미각

그러면 왼쪽에 기본 설정이 있고 오른쪽에 설정이있는이 탭이 열립니다.

여기에 이미지 설명을 입력하십시오

이제이 코드 줄을 자신의 설정 페이지 (오른쪽 창)에 복사하고- "terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe"

참고 : Git 설치에서 파일 "C:\\Program Files\Git\bin\bash.exe"이있는 경로 bash.exe입니다. Linux 용 Windows 서브 시스템 (WSL) Bash 쉘을 사용하는 경우 경로는 다음과 같습니다."C:\Windows\System32\bash.exe"

이제 Ctrl+ `를 눌러 Visual Studio Code에서 터미널을 엽니 다. 그리고 당신은 배쉬를 가질 것입니다-

여기에 이미지 설명을 입력하십시오


1
그것들은 git bash의 기본 색상입니다.
Mahade Walid 2016 년

5
두 가지 정보가 도움이 될 수 있습니다. 경로를 작성할 때 json에서 백 슬래시 문자를 이스케이프해야합니다. 또한 32 비트 버전은 기본적으로 색상이 없을 수 있으므로 64 비트 버전의 git bash를 vscode에 포함시켜야합니다. (그냥 ") (86"경로에서 부분 제거)
라요스 메스 자 로스

2
Lajos에 추가 했는데도 여전히 터미널이 열리지 않으면 vscode를 다시 시작하십시오.
adityah

3
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\bin\bash.exe"터미널이 열리지 않는 문제가 있습니다. 시도했다 "terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe". 나를 위해 완벽하게 일했습니다.
Dharmjeet Kumar

28
참고로 링크 bash.exe하지 말고 링크하십시오 git-bash.exe. 후자는 VS 코드 외부에서 터미널을 별도의 창으로 열고 VS 코드 bash.exe내에서 실행합니다.
다리우스

258
  1. https://git-scm.com/download/win 에서 Git 설치

  2. Visual Studio Code 를 열고 Ctrl+ `를 길게 눌러 터미널을 엽니 다.

    여기에 이미지 설명을 입력하십시오

  3. Ctrl+ Shift+를 사용하여 명령 팔레트를 엽니 다 P.

  4. 유형-기본 쉘 선택

  5. 옵션에서 Git Bash를 선택하십시오.

  6. 터미널 창에서 + 아이콘을 클릭하십시오

  7. 새로운 터미널은 이제 Git Bash 터미널이됩니다. Git Bash를로드하는 데 몇 초가 걸립니다.

    여기에 이미지 설명을 입력하십시오

  8. 이제 터미널 드롭 다운에서 다른 터미널 간을 전환 할 수 있습니다.

    여기에 이미지 설명을 입력하십시오


5
이것은 나를 위해 일했습니다. 기본 bash를 수동으로 추가하여 다른 모든 가이드를 시도했지만 매번 새 터미널 창이 열립니다. 많은 감사
글렌

3
이것은 내가 ...이해야 간단한 허용 대답을 검색 한 것입니다
Boopathi T

1
완벽하게 설명했습니다 ..이 회신에 감사드립니다.
SKalariya

ctrl +`가 작동하지 않으면 (git에서 설치하고 사용자 설정 json을 설정 한 후에도 아무 일도 일어나지 않습니다!) 다음을 시도하십시오 : ctrl + shift + P> Focus Terminal.
olisteadman

1
더 간단하고 빠른 솔루션
Themelis

80

업데이트 됨 : 최신 버전의 Visual Studio Code에는 터미널 풀다운 메뉴에 기본 셸 선택 명령이 있습니다.

기본 셸 선택 옵션

% PATH % 환경 변수에있는 쉘만 나열합니다. 경로에없는 쉘의 경우 다른 답변을 참조하십시오.

추가 팁 : bash를 시작할 때 .bashrc초기화 명령이있는 경우을 실행 .bash_profile해야합니다 .bashrc. Conda 환경 을 사용하는 데 필수적입니다Git Bash에서 .

버전 1.36 이전 (2019 년 6 월)

지금은 (적어도에서 Visual Studio 코드 1.22에서) 가장 쉬운 방법은 입력하는 것입니다 Shift+ Ctrl+ P열기 위해 명령 팔레트 와 종류를 :

Select Default Shell

이제 경로에서 찾은 쉘 중에서 원하는 쉘을 쉽게 선택할 수 있습니다 .

쉘 선택 목록

% PATH %에없는 쉘에 대해서는 다른 답변을 참조하십시오.

참조 전체 비주얼 스튜디오 코드 쉘 참조 . 고기가 많이 있습니다.


1
이것은 내가 찾고있는 대답이었습니다. 나는 WSL 배쉬를 사용하고 싶었지만 다른 답변은 자식과 함께 제공되는 bash는 사용하려고 한
ahmadali shafiee

1
"디폴트"로 만들지 않고 특정 쉘을 여는 방법이 있습니까? "한 번만 '공개 bash'를 갖는 것이 합리적이라고 생각합니다.
브렌트 아리아스

41

Ctrl+ `를 길게 누르면 터미널이 열립니다. 터미널 내부에서 터미널에서 bashGit Bash를 사용하도록 입력 하십시오. 참고 : 머신에 Git Bash가 설치되어 있는지 확인하십시오.

PowerShell을 다시 사용 powershell하려면 터미널을 입력 하십시오. Windows 명령 행을 사용하려면 cmd터미널에 입력 하십시오.

선택한 설정이 기본값으로 사용됩니다.


4
이 선택한 답변에 더 많은 가치를 추가
pjdupreez

1
"powershell로 다시 전환"하려면 exit기본 쉘 내에서 실행중인 bash 쉘에서 시작한 다음 powershellbash가 powershell이 ​​무엇인지 모르기 때문에 입력 해야합니다.
Lucas Morgan

13

나를 위해 다음은 작동하는 유일한 조합입니다!

"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\git-cmd.exe",
"terminal.integrated.shellArgs.windows": [
  "--command=usr/bin/bash.exe",
  "-l",
  "-i"
]

git-bash.exe를 ...shell.windowsBash가 Visual Studio 외부에서 열 때마다!


1
이것은 정말로 나를 도왔다. 위의 이전 답변에 따라 bash가 작동하지만 bash 및 git 별칭이 모두 손실되었습니다. 이것은 그들을 다시 샀다. 감사.
David Martin

1
이것은 나와 함께 일한 것입니다 : "terminal.integrated.shell.windows": "C : \\ Program Files \\ Git \\ bin \\ bash.exe", "terminal.integrated.shellArgs.windows": [ "- -login ","-i "]
Belal Mohammed 8

이 솔루션은 저에게도 효과적이었습니다. 추가해야 할주의 사항은 내 경우에는 gitbash로 지연을 줄이고이 게시물 stackoverflow.com/questions/32232978/…을 따라 Windows에서 새로운 HOME 환경 변수를 설정한다는 것입니다. VSCode에서 제대로 작동하려면 위의 답변이 완벽하게 작동했습니다.
Rob B

13

Visual Studio Code의 최신 업데이트로 인해 상황이 약간 변경되었습니다. 다음 단계가 저에게 효과적입니다.

  1. 를 눌러 Ctrl+ Shift+ P비주얼 스튜디오 코드 명령 미각을 엽니 다.

  2. >preferences: Open Settings (JSON)텍스트 영역을 입력 하십시오.

  3. 오른쪽 창에 표시되는 JSON 파일 끝에 다음 줄을 추가하십시오.

    "terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe"
  4. Visual Studio Code 인스턴스를 닫았다가 다시 엽니 다.


10

Paul DeCarlo 의이 튜토리얼 을 따라 Git Bash for Windows 대신 WSL (Windows Subsystem for Linux)의 Bash를 사용했습니다. 위의 답변과 동일한 단계이지만 사용자 설정에서 아래를 대신 사용하십시오.

"terminal.integrated.shell.windows": "C:\\Windows\\sysnative\\bash.exe",

이것은 처음으로 나를 위해 일했습니다 ...이 물건에는 드문 경우입니다.


1
참으로 드물다. 최첨단
Christopher Painter

7

이것은 적어도 나를 위해 Visual Studio Code가 외부 터미널로 새 Bash 창을 열게합니다.

통합 환경을 원한다면 Git 설치 폴더 sh.exe안의 파일 을 가리켜 야 bin합니다.

따라서 구성은이라고 말합니다 C:\\<my-git-install>\\bin\\sh.exe.


5

Git Bash를 현재 사용자에게만 설치했는지 아니면 모든 사용자에게 설치했는지에 따라 다릅니다.

모든 사용자에게 설치되어 있으면 "terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe"사용자 설정 ( Ctrl+ Comma)을 입력하십시오.

현재 사용자에게만 설치된 경우 "terminal.integrated.shell.windows": "C:\\Users\\<name of your user>\\AppData\\Local\\Programs\\Git\\bin\\bash.exe"사용자 설정 ( Ctrl+Comma )을 입력하십시오.

위에 나열된 방법이 작동하지 않으면 Christer의 솔루션 을 사용해보십시오 -

통합 환경을 원하면 sh.exe내부 파일 을 가리켜 야 합니다.binGit 설치 폴더 합니다.

따라서 구성은이라고 말합니다 C:\\<my-git-install>\\bin\\sh.exe.

참고 : sh.exe와 bash.exe는 나에게 완전히 동일하게 나타납니다. 그들 사이에 차이가 없어야합니다.



4

나는 이미 많은 conda환경을 설정했다WSL (Windows의 Ubuntu에서 Bash) Visual Studio Code에서 동일한 Bash 설치를 사용하고 싶었습니다.

이를 위해, 난 그냥 (이 특정 배쉬 실행 파일의 경로를 지정했다 대신Git-Bash 비주얼 스튜디오 코드의 설정에 대한)를 :

"terminal.integrated.shell.windows": "C:\\Windows\\System32\\bash.exe"


추신 : Ubuntu on Bash 실행 파일이 Windows 컴퓨터에 설치되어 있는지 확인하려면 Command prompt(검색 :)을 열고 다음 cmd을 실행하십시오.

where bash.exe


4

이 답변은 최상위 투표 답변과 비슷하지만 중요한 차이점이 있습니다.이 질문에 대한 많은 이전 답변은 Git Bash 실행에 중점을두고 내 답변은 WSL Bash 실행에 중점을 둡니다 .

  1. Windows 10 시스템에서 Linux 용 Windows 서브 시스템을 사용하십시오.

  2. Visual Studio Code Ctrl + `를 열고 길게 눌러 터미널을 엽니 다.

  3. 을 사용하여 명령 팔레트를 엽니 다 Ctrl + Shift + P.

  4. -를 입력하십시오 Select Default Shell.

  5. 옵션에서 WSL Bash(NOT Git Bash)를 선택하십시오 .

여기에 이미지 설명을 입력하십시오

  1. +터미널 창에서 아이콘을 클릭하십시오 . 새로운 터미널은 이제 WSL Bash 터미널이 될 것입니다!

4

최신 VS 코드 :

  • settings.json이 보이지 않으면 메뉴 파일-> 환경 설정-> 설정으로 이동하십시오 (또는을 누르십시오 Ctrl+,)
  • 설정이 나타나면 사용자 (기본적으로 선택됨) 및 작업 영역의 두 탭을 참조하십시오. 사용자-> 기능-> 터미널로 이동하십시오.
  • 터미널 섹션이 나타납니다 (링크 참조) edit in settings.json. 클릭하여 추가"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",
  • VS 코드를 저장하고 다시 시작하십시오.

배쉬 터미널은 터미널에 반영됩니다.


1

Fortune 500 회사에 문의하는 것은 슬프게도 Windows 7 이며 관리자 권한이 없습니다. 따라서 Node.js, Npm, Visual Studio Code 등이 내 컴퓨터로 푸시되었습니다. 많이 변경할 수 없습니다.

Windows 7을 실행하는이 컴퓨터의 경우 :

아래는 새로운 설정입니다. 작동하지 않는 것은 주석 처리됩니다.

{
    "update.channel": "none",
    "terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe"
    //"terminal.integrated.shell.windows": "C:\\Windows\\sysnative\\bash.exe"
}

0

vscode 1.42.1에서 위의 답변을 시도했지만 그들은 git bash 터미널을 가져 오기 위해 노력했습니다. 결론적으로이 설정은 터미널에서 bash 쉘을 여는 경우에만 작동합니다.

"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe"

그러나 셸 \에서 이스케이프 문자로 경로 구분 기호에 사용되는 문자를 이해 하기 때문에 빌드하는 데 사용되는 쉘이기도하고 원하지 않는 부작용이 있으며 MS C ++ 체인을 손상시킵니다 . 나를 위해 완전한 수정을 위해이 여분의 변수를 추가하여 변수를 powershell로 설정해야했습니다.

"terminal.integrated.automationShell.windows": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe"

이제 bash 터미널을 사용 Ctrl-Shift-B하거나 F5문제없이 작업 할 수 있습니다.

아, 그리고 다른 포스터에서 언급 했듯이이 정보의 출처는 VSCode의 documentation 입니다.


0

분리되거나 관련되지 않은 쉘 및 code [args]지원은 어떻습니까?

VScode 통합 WSL bash터미널 지원 을 구성하고 사용하는 방법에 대한 다른 답변이 있지만 "분리 된 쉘"문제는 해결하지 못합니다. IDE와 연관된 인스턴스.

이러한 쉘은 다음과 같은 오류를 제공 할 수 있습니다.

Command is only available in WSL or inside a Visual Studio Code terminal.

또는...

Unable to connect to VS Code server. Error in request

여기 스크립트가 있습니다이 문제를 쉽게 해결할 수 가 있습니다.

나는 이것을 매일 사용 tmux하여 특정 VScode 서버 인스턴스와 의 세션 에서 쉘을 연결 하거나 호스팅 IDE에서 분리 된 통합 쉘을 수정합니다.

#!/bin/bash
# codesrv-connect
#
#  Purpose:
#     Copies the vscode connection environment from one shell to another, so that you can use the
#     vscode integrated terminal's "code [args]" command to communicate with that instance of vscode
#     from an unrelated shell.
#
#  Usage:
#    1.  Open an integrated terminal in vscode, and run codesrv-connect
#    2.  In the target shell, cd to the same directory and run
#       ". .codesrv-connect", or follow the instruction printed by codesrv-connect.
#
#  Setup:
#    Put "codesrv-connect somewhere on your PATH (e.g. ~/bin)"
#
#  Cleanup:
#    - Delete abandoned .codesrv-connect files when their vscode sessions die.
#    - Do not add .codesrv-connect files to git repositories.
#
#  Notes:
#     The VSCODE_IPC_HOOK_CLI environment variable points to a socket which is rather volatile, while the long path for the 'code' alias is more stable: vscode doesn't change the latter even across a "code -r ." reload.  But the former is easily detached and so you need a fresh value if that happens.  This is what codesrv-connect does: it captures the value of these two and writes them to .codesrv-connect in the current dir.
#
#   Verinfo: v1.0.0 - les.matheson@gmail.com - 2020-03-31
#

function errExit {
    echo "ERROR: $@" >&2
    exit 1
}

[[ -S $VSCODE_IPC_HOOK_CLI ]] || errExit "VSCODE_IPC_HOOK_CLI not defined or not a pipe [$VSCODE_IPC_HOOK_CLI]"
if [[ $(which code) != *vscode-server* ]]; then
    errExit "The 'code' command doesn't refer to something under .vscode-server: $(type -a code)"
fi
cat <<EOF >.codesrv-connect
# Temp file created by $(which codesrv-connect): source this into your working shell like '. .codesrv-connect'
# ( git hint: add ".codesrv-connect" to .gitignore )
#
cd "$PWD"
if ! test -S "$VSCODE_IPC_HOOK_CLI"; then
    echo "ERROR: $VSCODE_IPC_HOOK_CLI not a socket. Dead session."
else
    export VSCODE_IPC_HOOK_CLI="$VSCODE_IPC_HOOK_CLI"
    alias code=$(which code)
    echo "Done: the 'code' command will talk to socket \"$VSCODE_IPC_HOOK_CLI\" now."
    echo "You can delete .codesrv-connect when the vscode server context dies, or reuse it in other shells until then."
fi
EOF

echo "# OK: run this to connect to vscode server in a destination shell:"
echo ". $PWD/.codesrv-connect"

0

이미 "bash", "powershell""cmd" CLI가 있고 올바른 경로 설정이있는 경우 다음 방법으로 한 CLI에서 다른 CLI로 전환 할 수 있습니다.

Ctrl+ ': 기본 CLI를 사용하여 터미널 창을 엽니 다.

bash + enter: 기본 / 현재 CLI에서 bash CLI로 전환합니다.

powershell + enter: 기본 / 현재 CLI에서 powershell CLI로 전환합니다.

cmd + enter: 기본 / 현재 CLI에서 cmd CLI로 전환합니다.

내가 사용하는 VS 코드 버전은 1.45.0입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.