VSCode 터미널에 Git Bash 설정하기

an·2022년 2월 17일
4

어느 순간부터 VSCode 터미널이 Git Bash가 아닌 다른 환경으로 이용하고 있었다. 심지어 Git Bash가 안보이는거... 그래서 이왕 설정하는 김에 기본 터미널을 Git Bash로 하고자 했다.

그런데 문제!! 열심히 구글링해서 터미널 설정 바꾸려니까 몇가지 이슈가 있었다.

settings.json 옆에 나와있는 메시지

This is deprecated, the new recommended way to configure your default shell is by creating a terminal profile in #terminal.integrated.profiles.windows# and setting its profile name as the default in #terminal.integrated.defaultProfile.windows#. This will currently take priority over the new profiles settings but that will change in the future.

VSCode가 복수의 터미널을 사용할 수 있도록 프로필을 관리하는 형태로 업데이트 되었다는 것이다. 그래서 terminal.integrated.shell.windows 대신 위의 형태로 사용해야했다.


VSCode 터미널에 Git Bash 설정

  1. settings.json 파일 열기
  2. 내용 수정하기

1. settings.json 파일 여는 2가지 방법

  • f1 혹은 ctrl+shift+p (명령팔레트) > 'settings' 입력 > Preferences: Open Settings (JSON) 클릭
  • File - Preperences - Settings 혹은 ctrl+, (설정) > 'terminal.integrated.shell' 입력 > 파일 클릭

2. 내용 수정하기

  • 수정하여 추가된 코드
{
    "terminal.integrated.profiles.windows": {
        "GitBash": {
            "path": ["C:\\Git\\bin\\bash.exe"],
        },
    },
    "terminal.integrated.defaultProfile.windows": "GitBash",
}
  • 수정된 settings.json 파일

이렇게 나는 settings.json 파일을 열어서 기존 내용을 수정해주었다. settings.json 파일은 열려고 할때마다 어려워서 정리해봤다... 터미널 설정 경로는 따로 지정하지 않았다면 다음과 같다.

터미널 설정 경로 (default)

Git Bash c:\Program Files\Git\bin\bash.exe
Command Prompt C:\WINDOWS\System32\cmd.exe
PowerShell C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe

결과 화면

기본 터미널이 Git Bash로 잘 설정된 것을 확인할 수 있다.



VSCode 터미널을 설정하고 확인차 이것저것 눌러보다가 PowerShell에서 오류가 나고 있다는 것을 알았다... 휴
바로 PowerShell 스크립트 실행 권한 오류인데, 다행히도 간단하게 해결할 수 있었다.

PowerShell 스크립트 실행 권한 오류 메시지

빨간색으로 "이 시스템에서 스크립트를 실행할 수 없으므로~~~ "라고 떴다.


PowerShell 스크립트 실행 권한 변경

  1. PowerShell 관리자 권한으로 실행
  2. Set-ExecutionPolicy RemoteSigned 입력

get-help Set-ExecutionPolicy으로 어떤 권한을 설정할 수 있는지 확인할 수 있는데, 그 중에서 내가 한 RemoteSigned는 로컬 컴퓨터에서 본인이 생성한 스크립트만 실행 가능 또는 인터넷에서 다운로드 받은 스크립트는 신뢰된 배포자에 의해 서명된 것만 실행 가능한 정책이다. [ Restricted > AllSigned > RemoteSigned > Unrestricted > ByPass > Undefined ] 순으로 제한적인 정책에서 정책을 적용하지 않는다고 보면 된다.

0개의 댓글