통합 터미널 및 작업에 대해 Visual Studio Code가 갑자기 PowerShell로 기본 설정됨
제가 오늘 아침에 일어나서 Visual Studio Code를 실행했을 때, 실행 시 기본 터미널인 Visual Studio Code가 Git Bash가 아닌 PowerShell이 되었습니다.Windows에 있습니다.settings.json을 사용할 수 없도록 변경해 보았습니다.제가 놓친 게 있나요?
{
"workbench.startupEditor": "newUntitledFile",
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",
"[javascript]": {
"editor.defaultFormatter": "rvest.vs-code-prettier-eslint"
},
"aws.samcli.location": "C:\\Users\\king\\AppData\\Roaming\\npm\\sam.exe",
"typescript.updateImportsOnFileMove.enabled": "always",
"[html]": {
"editor.defaultFormatter": "vscode.html-language-features"
},
"editor.formatOnSave": true,
"editor.formatOnPaste": true,
"javascript.updateImportsOnFileMove.enabled": "always",
"explorer.confirmDragAndDrop": false,
"diffEditor.maxComputationTime": 0,
"extensions.ignoreRecommendations": true,
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"editor.renderControlCharacters": true,
"[jsonc]": {
"editor.quickSuggestions": {
"strings": true
},
"editor.suggest.insertMode": "replace"
},
"window.zoomLevel": 0,
"editor.accessibilitySupport": "off",
"workbench.editor.untitled.hint": "hidden",
"terminal.integrated.defaultProfile.windows": "Git Bash",
"terminal.external.windowsExec": "C:\\Program Files\\Git\\bin\\bash.exe",
"terminal.explorerKind": "external",
"terminal.integrated.automationShell.linux": ""
}
이와 관련된 스택 오버플로 게시물이 기본 PowerShell을 만들고 있지만, 특히 PowerShell을 중지하는 것이 목표이기 때문에 잘못된 설정은 보이지 않았습니다!
업데이트: 버전 v1.60.0에 버그가 있습니다. 문제를 해결하려면 v1.60.1 이상으로 업그레이드합니다.
이 버그는 다음과 같은 증상으로 나타납니다.
그
Open in Integrated Terminal
탐색기 창의 바로 가기에 있는 바로 가기 메뉴 명령은 구성된 셸을 무시하고 항상 기본 셸(Windows의 경우 PowerShell)을 사용합니다.별도의 작업이 있든 없든 작업을 실행할 때도 마찬가지입니다.
terminal.integrated.automationShell.*
설정).또한 Visual Studio Code를 종료할 때 지정된 폴더나 작업영역에 통합 터미널이 열려 있는 경우 다음 번에 통합 터미널이 자동으로 다시 열릴 때 시작되는 셸은 구성된 셸이 아닌 다시 기본 셸입니다.반대로 다시 열어도 통합 터미널이 자동으로 열리지 않는 경우 수동으로 열어도 구성된 기본 셸과 나중에 다른 셸 인스턴스를 수동으로 만들 수 있습니다.
다음 정보는 버그와 관련이 없는 것으로 밝혀졌지만, 통합 터미널의 셸이 구성되는 방식에 대한 Visual Studio Code의 최근 변경에 대한 유용한 일반 정보일 것입니다.
기존 기본 셸 설정에서 셸 프로파일로 마이그레이션:
최근에는 및 설정이 더 이상 사용되지 않고 소위 셸 프로파일을 통해 여러 셸을 선택할 수 있는 보다 유연한 모델로 대체되었습니다.
"terminal.integrated.profiles.*"
필수 항목인 " 관사과함께항무""terminal.integrated.defaultProfile.*"
기본적으로 사용할 프로파일 이름을 참조하는 설정 - 명시적으로 정의된 사용자 정의 프로파일이거나 플랫폼에 적합한 기본 프로파일 중 하나일 수 있습니다.- 참고:
*
위의 설정에서 이름은 적절한 플랫폼 식별자를 나타냅니다. 즉,windows
,linux
또는osx
(macOS).
- 참고:
, v1.60.1일 ,
"terminal.integrated.shell.*"
설정도 존재하며 새 설정이 우선합니다(편집 시 도구 설명)."terminal.integrated.shell.*"
settings.json
이러한 변화가 아직 일어나지 않았음을 시사합니다.두 가지 설정이 모두 없는 경우 Windows에서는 PowerShell이고 Unix와 유사한 플랫폼에서는 [1]환경 변수에 지정된 대로 사용자의 기본 셸인 Visual Studio Code의 기본 셸이 사용됩니다.
v1.60 이전 버전에서 시작된 최근 Visual Studio Code 버전은 일회성으로 보이는 경우 사용되지 않는 설정을 새 설정으로 마이그레이션하는 프롬프트 오퍼링을 표시했습니다.
마이그레이션을 수락하면 다음과 같은 결과가 발생합니다.
- 정성작설
"terminal.integrated.shell.*"
설정 셸 포함 시 설 값 사 셸 프 필"terminal.integrated.shell.*"
, 그고있, 만다면약리,"terminal.integrated.shellArgs.*"
사용자 프로필의 " 해사용지정프이로름접있다습미니가사에의필당자다"가 있습니다.(migrated)
- 정성작설
terminal.integrated.defaultProfile.*
이 값은 마이그레이션된 프로필의 이름으로, 기본 셸이 됩니다. - 설정 존기 정제거
"terminal.integrated.shell.*"
그리고."terminal.integrated.shellArgs.*"
- 정성작설
마이그레이션을 거부하는 경우 아래 설명과 같이 나중에 기본 셸을 다시 선택하여 마이그레이션을 효과적으로 수행할 수 있습니다.
- 참고: 새로운 기능
"terminal.integrated.defaultProfile.*"
프로세스에서 생성된 설정은 레거시를 효과적으로 재정의합니다."terminal.integrated.shell.*"
그리고."terminal.integrated.shellArgs.*"
설정은 자동으로 제거되지 않습니다.혼동을 방지하려면 다음에서 제거하는 것이 가장 좋습니다.settings.json
manually
- 참고: 새로운 기능
기본 셸을 지정하기 위해 사용할 기본 셸 프로파일을 선택합니다.
아이콘의 합니다.
단말기 에서 ) 통합터의오서에다선음택니다합을른쪽널미▁)▁)▁select다를 선택합니다.
Select Default Profile
기본값을 선택하기 위해 정의된 프로파일 목록을 제공합니다. 명시적으로 정의된 프로파일이 없는 경우 표준 프로파일이 제공됩니다(아래 참조).은 이는다같다습니과음▁a다ates▁into같니▁this습으로 번역됩니다.
terminal.integrated.defaultProfile.*
에서settings.json
이 값은 선택한 셸 프로파일의 이름입니다. 이는 내장 프로파일의 이름이거나 명시적으로 정의된 프로파일 중 하나일 수 있습니다."terminal.integrated.profiles.*"
참고: 이 셸은 기본적으로 작업에도 사용됩니다(에서 정의됨).
tasks.json
)로 수 , 는 )로 덮어쓸 수 있습니다."terminal.integrated.automationShell.*"
대체 셸의 실행 파일을 가리키는 설정입니다.
선택적으로, 당신의
settings.json
파일: 관심 있는 셸 프로파일을 사용하여 플랫폼에 적합한 설정을 만들 수 있습니다.의 참고: 도.
settings.json
없음 포함(플랫폼 적합)"terminal.integrated.profiles.*"
Visual Studio 코드에는 기본 표준 프로필이 포함되어 있으며 기본 셸을 선택할 때 선택할 수 있습니다.- 이러한 표준 프로파일은 호스트 플랫폼과 함께 제공되는 셸과 윈도우즈의 Git Bash와 같이 Visual Studio가 지정된 시스템에서 동적으로 검색하는 일부 셸이 혼합된 것입니다.
표준 프로파일을 명시적으로 생성하려면 다음을 수행합니다.
참고: 표준 프로파일을 사용자 정의하기 위해 이 작업을 선택할 수 있습니다.그러나 사용자 정의 프로필을 추가하는 것이 목적이라면 - 예를 들어 이 답변을 참조하십시오 - 표준 프로필을 내부에 생성할 필요는 없습니다.
"terminal.integrated.profiles.*"
Visual Studio Code는 명시적으로 정의되지 않은 경우에도 이러한 설정에 대해 알고 있기 때문입니다.경유
File > Preferences > Settings
(),Ctrl-, 검색profiles
합니다.Edit in settings.json
Terminal > Integrated > Profiles > *
이렇게 설정, 림열이 열립니다.settings.json
표준 프로필을 추가하여 편집할 수 있습니다. 파일을 저장하기만 하면 됩니다.- 고참: 만약인
"terminal.integrated.profiles.*"
표시된 설정에 플랫폼에 적합한 예상 표준 프로필이 포함되어 있지 않습니다. 해당 이름의 설정이 이미 존재할 수 있습니다. 표준 프로필을 강제로 생성하고 기존 설정을 제거하거나 주석을 추가하여 파일을 저장한 다음 다시 시도하십시오.
- 고참: 만약인
Windows(윈도우)에서는 다음과 같은 작업이 수행됩니다.
"terminal.integrated.profiles.windows": { "PowerShell": { "source": "PowerShell", "icon": "terminal-powershell" }, "Command Prompt": { "path": [ "${env:windir}\\Sysnative\\cmd.exe", "${env:windir}\\System32\\cmd.exe" ], "args": [], "icon": "terminal-cmd" }, "Git Bash": { "source": "Git Bash" } }
Visual Studio Code에 사용되는 다양한 셸 유형에 대한 개요를 제공하는 질문에서 링크하는 답변이 새 셸 프로파일에 대한 정보를 반영하도록 업데이트되었습니다.
참고:PowerShell(Core) v6+ 설치가 발견되면 기본 제공 윈도우즈 PowerShell 버전보다 우선합니다.
편집:1
참고: 이제 이 버그는 VSCode를 통해 해결되었습니다.VSCode를 최신 버전으로 업데이트하십시오(2021년 9월 17일).
일시적인 해결책이 있습니다.
이 를 먼저이코붙습니다여넣를에 .settings.json
그리고 저장
"terminal.integrated.defaultProfile.windows": "Git Bash",
"terminal.integrated.profiles.windows": {
"C:\\Program Files\\Git\\bin\\bash.exe": {
"path": "",
"args": []
}
},
를 닫기 에 VSCode를 합니다.Output
에 Terminal
- 이제 VSCode를 열 수 있습니다.
- VSCode가 로드된 후 Terminal을 클릭해야 합니다.이제 bash가 표시됩니다.
- VSCode를 닫기 전에 출력을 선택합니다.
참조: VSCode가 윈도우즈에서 $Bash가 아닌 통합 터미널용 PowerShell로 갑자기 기본 설정됨
참고: 이것은 해결책이 아닙니다.당신이 실망하는 것을 막을 수 있을지도 모르기 때문에 공유했습니다.
제가 처음 올린 글인데, 틀린 부분이 있으면 수정할 수 있도록 알려주세요.
공식 웹 사이트 https://code.visualstudio.com/updates/v1_59 (현재 상단에 있음)에서 언제든지 이전 릴리스를 다운로드하여 설치할 수 있습니다.
버전 1.60이 버그로 처리되었기 때문에 v1.59가 적합합니다.
자동 업데이트 사용 안 함
여기에 설명되어 있습니다.
- 설정 열기
File > Preferences > Settings
. - 더하다
"update.mode": "none"
설정으로 이동합니다.
이전 버전 설치
나중에 다운로드한 버전을 설치하여 현재 버전을 덮어쓸 수 있습니다.
참고: 다음 버전이 해결될 때까지 기다리십시오. 따라서 자동 업데이트를 사용할 수 없도록 설정했다는 것을 기억하십시오.
저도 같은 문제가 있지만 명령 프롬프트를 실행하려고 합니다....에 추가하여 수정합니다.\Code\User\settings.json
"말단.통합된.자동화Shell.windows": "cmd.exe",
이는 PR 154290을 통해 VSCode 1.70(2022년 7월)에 완화/향상을 추가하고 91b82c0을 적용할 문제 138999와 관련이 있을 수 있습니다.
사용 가능한 프로필이 준비될 수 있도록 장벽을 높입니다.
프로필이 준비될 때까지 최대 20초 동안 기다리십시오. 그러면 첫 번째 터미널을 시작하기 전에 실제 기본 터미널을 확인할 수 있습니다.
이렇게 오래 걸리진 않을 것으로 예상됩니다.
사용자 설정이 동기화된 VSCode의 경우 프로파일이 완전히 로드되는 데 예상보다 많은 시간이 소요될 수 있으므로 이 문제를 해결할 수 있습니다.
설정.json에서 CMD를 Git Bash :-)로 바꾸기만 하면 됩니다.
"terminal.integrated.profiles.windows": {
"PowerShell": {
"source": "PowerShell",
"icon": "terminal-powershell"
},
"Command Prompt": {
"path": [
//"${env:windir}\\Sysnative\\cmd.exe",
//"${env:windir}\\System32\\cmd.exe"
"C:\\PrivateProgramms\\Git\\bin\\bash.exe"
],
"args": [],
"icon": "terminal-cmd"
},
"Git Bash": {
"source": "Git Bash"
//"path": [ "C:\\PrivateProgramms\\Git\\bin\\bash.exe" ],
//"args": [],
//"icon": "terminal-cmd"
}
},
"terminal.integrated.defaultProfile.windows": "Command Prompt"
언급URL : https://stackoverflow.com/questions/69047142/visual-studio-code-is-suddenly-defaulting-to-powershell-for-integrated-terminal
'programing' 카테고리의 다른 글
도커 파일에서 PYONUNBUFFERED의 용도는 무엇입니까? (0) | 2023.08.05 |
---|---|
Python에서 클래스 속성 캐싱 (0) | 2023.08.05 |
그룹 SQL별 실행 총계(Oracle) (0) | 2023.08.05 |
항목이 없는 경우 오류 없이 존재하는지 확인 (0) | 2023.08.05 |
데이터가 추가될 때 div 끝까지 자동 스크롤하는 방법은 무엇입니까? (0) | 2023.08.05 |