터미널 셸 통합
Visual Studio Code는 일반적인 셸과 통합할 수 있는 기능을 가지고 있어 셸 내부에서 실제로 무슨 일이 일어나고 있는지 더 잘 이해할 수 있습니다. 이 추가 정보는 작업 디렉토리 감지 및 명령 감지, 데코레이션, 탐색과 같은 유용한 기능을 가능하게 합니다.
지원되는 셸:
- Linux/macOS: bash, fish, pwsh, zsh
- Windows: pwsh
설치
자동 스크립트 삽입
기본적으로, 셸 통합 스크립트는 VS Code에서 실행된 지원되는 셸에서 자동으로 활성화되어야 합니다. 이는 셸 세션이 시작될 때 인수 및/또는 환경 변수를 주입하여 수행됩니다. 이 자동 주입은 terminal.integrated.shellIntegration.enabled
를 false
로 설정하여 비활성화할 수 있습니다.
이 표준적이고 쉬운 방법은 하위 셸, 일반 ssh
세션( Remote - SSH 확장을 사용하지 않는 경우) 또는 일부 복잡한 셸 설정과 같은 고급 사용 사례에서는 작동하지 않을 수 있습니다. 이러한 경우 셸 통합을 활성화하는 권장 방법은 수동 설치입니다.
자동 주입은 셸의 오래된 버전에서는 작동하지 않을 수 있습니다. 예를 들어, 오래된 버전의 fish는 주입이 작동하는 방식인 $XDG_DATA_DIRS
환경 변수를 지원하지 않습니다. 수동 설치를 통해 작동시킬 수 있습니다.
수동 설치
셸 통합을 수동으로 설치하려면 VS Code 셸 통합 스크립트가 셸 초기화 중에 실행되어야 합니다. 이를 수행하는 방법은 사용하는 셸과 OS에 따라 다릅니다. 수동 설치를 사용하는 경우 terminal.integrated.shellIntegration.enabled
를 false
로 설정하는 것이 권장되지만 필수는 아닙니다.
Insiders 빌드를 사용하는 경우 아래의 code
를 code-insiders
로 대체하십시오.
bash
다음 내용을 ~/.bashrc
파일에 추가하십시오. bash에서 code ~/.bashrc
를 실행하여 VS Code에서 파일을 엽니다.
[[ "$TERM_PROGRAM" == "vscode" ]] && . "$(code --locate-shell-integration-path bash)"
fish
다음 내용을 config.fish
에 추가하십시오. fish에서 code $__fish_config_dir/config.fish
를 실행하여 VS Code에서 파일을 엽니다.
string match -q "$TERM_PROGRAM" "vscode"
and . (code --locate-shell-integration-path fish)
pwsh
다음 내용을 PowerShell 프로필에 추가하십시오. pwsh에서 code $Profile
을 실행하여 VS Code에서 파일을 엽니다.
if ($env:TERM_PROGRAM -eq "vscode") { . "$(code --locate-shell-integration-path pwsh)" }
zsh
다음 내용을 ~/.zshrc
파일에 추가하십시오. bash에서 code ~/.zshrc
를 실행하여 VS Code에서 파일을 엽니다.
[[ "$TERM_PROGRAM" == "vscode" ]] && . "$(code --locate-shell-integration-path zsh)"
Git Bash
다음 내용을 ~/.bashrc
파일에 추가하십시오. Git Bash에서 code ~/.bashrc
를 실행하여 VS Code에서 파일을 엽니다.
[[ "$TERM_PROGRAM" == "vscode" ]] && . "$(code --locate-shell-integration-path bash)"
이식성 대 성능
위의 셸 통합 설치는 code
가 $PATH
에 있는 경우 모든 설치 유형과 호환되는 크로스 플랫폼입니다. 그러나 이 권장 접근 방식은 스크립트 경로를 가져오기 위해 Node.js를 시작하므로 셸 시작 시 약간의 지연이 발생합니다. 이 지연을 줄이기 위해 스크립트를 미리 해결하고 초기화 스크립트에 직접 추가하여 인라인하십시오.
# 먼저 실행 파일의 경로를 출력합니다:
code --locate-shell-integration-path bash
# 위의 결과를 소스 명령문에 추가합니다:
[[ "$TERM_PROGRAM" == "vscode" ]] && . "/path/to/shell/integration/script.sh"
명령 데코레이션 및 개요 눈금자
셸 통합이 가능하게 하는 것 중 하나는 터미널 내에서 실행된 명령의 종료 코드를 가져오는 기능입니다. 이 정보를 사용하여 명령이 성공했는지 실패했는지를 나타내는 데코레이션이 줄의 왼쪽에 추가됩니다. 이러한 데코레이션은 편집기에서와 마찬가지로 스크롤 막대의 비교적 새로운 개요 눈금자에도 나타납니다.