Change:
Issue Type: <bBug</bThe '+' button to open terminal in my visual studio code does not work. Also, the default profile selection button does not work. The only thing I changed was from "" to "externalConsole: false-true". Even if I try to restore it to its original state, it remains the same. I tried reinstalling the VSCode, deleted the "" file, and recreated it. But... :( Originally, I was using git bash as a standard, but there is only "JavaScript Debug Terminal" left. VS Code version: Code 1.60.2 (, 2021-09-22T12:00:31.514Z) OS version: WindowsNT x64 10.0. Restricted Mode: No <details<summarySystem Info</summary </details<details<summaryExtensions (25)</summaryExtensionVersion ------ rainbow-brackets0.0.6 code-gnu-global0.2.2 doxdocgen1.3.2 githistory0.6.18 norminette-421.0.8 vscode-pull-request-github0.30.0 better-cpp-syntax1.15.10 42header0.42.9 vscode-language-pack-ko1.60.4 python2021.9. vscode-pylance2021.9.4 jupyter2021.8. jupyter-keymap1.0.0 remote-containers0.194.3 remote-ssh0.65.8 remote-ssh-edit0.65.8 remote-wsl0.58.2 cmake-tools1.8.1 cpptools1.6.0 cpptools-extension-pack1.0.0 vsliveshare1.0.4836 vsliveshare-audio0.1.91 LiveServer5.6.1 code-settings-sync3.4.3 cmake0.0.17 </details<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
!
Can you share your file and also do a trace log while creating a terminal?
my file
When I click the + button, the log takes , but it doesn't actually work.
Youtube link
thanks for that info. are there any errors in the dev tools console?
There are no other problems. It was a sudden issue, and I hope it can be resolved quickly!
Do you have anti-virus software that could be blocking the terminal? If so try following the instructions in
There are no other apps installed except Windows security. The 64-bit version is installed appropriately for 64-bit operating systems.
thoughts ?
Can you try commenting out your to see if that fixes it, and then try setting ?
As you said, I to the file and it returned to its original state. After that, it worked well even if it was changed to true, and even if it was deleted from the file, the terminal worked well. I think it's back now! Thank you so much.
adding restored the functionality. Removing it afterwards does not break the functionality either.
any ideas on how this could happen? I would think the try catch would cover everything
no idea, but have seen this issue a few times
Thought I'd comment on this as well. Experienced the same issue. Tried many different solutions, as this issue seems to have been around for a while. solution worked for me "terminal.integrated.useWslProfiles": false" VS Code Version: 1.61.0 OS Version: Windows 10 Pro 21H1 .1237
Let's check: Caching is working fine - can it get into a state where the wrong set is cached and then not updated? What happens when wsl is not installed
I had the same problem when wsl wasn't responding. No profiles in vscode and windows terminal delivered an empty hanged window. A full reboot fixed that, while normal reboot prevented it from working.
Looks like a lot happened. what are some verification steps for this issue?
We haven't seen any new reports of this, so marking as verified as I couldn't repro to begin with
Had same problem. worked for me, but if i commented it or set to terminal wiil go blank. I tried other versions. The issue start appears from version 1.60
do you have wsl installed? And what version of VSCode are you seeing this on?
yes, i have wsl. Now I'm using 1.61.2 version of vs code. I can't check what wsl version because i'm using Windows 10 1709 build .2166
My windows updated to version 20H2 build .1288 and terminal work normal without option setted to false
Was just able to reproduce this. in an external or integrated terminal, when I was able to repro the issue, running was hanging as described here.

Discussion:
private _hostActiveTerminals: Map<ITerminalInstanceHost, ITerminalInstance | undefined> = new Map(); private _isShuttingDown: boolean; <ins> private _ifNoProfilesTryAgain: boolean = true; </ins> private _backgroundedTerminalInstances: ITerminalInstance[] = []; private _backgroundedTerminalDisposables: Map<number, IDisposable[]> = new Map(); private _findState: FindReplaceState;

this._isShuttingDown = false; this._findState = new FindReplaceState(); this._configHelper = _instantiationService.createInstance(TerminalConfigHelper); editorResolverService.registerEditor( `${Schemas.vscodeTerminal}:/**`, {

if (e.affectsConfiguration(TerminalSettingPrefix.DefaultProfile + platformKey) || e.affectsConfiguration(TerminalSettingPrefix.Profiles + platformKey) || e.affectsConfiguration(TerminalSettingId.UseWslProfiles)) { <del> this._refreshAvailableProfiles(); </del> <ins> await this._refreshAvailableProfiles(); </ins> } });

} private async _refreshAvailableProfilesNow(): Promise<void> { <del> const result = await this._detectProfiles(); const profilesChanged = !equals(result, this._availableProfiles); </del> <ins> const profiles = await this._detectProfiles(); const profilesChanged = !equals(profiles, this._availableProfiles); </ins> const contributedProfilesChanged = !equals(this._terminalContributionService.terminalProfiles, this._contributedProfiles); <ins> if (profiles.length === 0 && this._ifNoProfilesTryAgain) { // available profiles get updated when a terminal is created // or relevant config changes. // if there are no profiles, we want to refresh them again // since terminal creation can't happen in this case and users // might not think to try changing the config this._ifNoProfilesTryAgain = false; await this._refreshAvailableProfilesNow(); } </ins> if (profilesChanged || contributedProfilesChanged) { <del> this._availableProfiles = result; </del> <ins> this._availableProfiles = profiles; </ins> this._contributedProfiles = Array.from(this._terminalContributionService.terminalProfiles); this._onDidChangeAvailableProfiles.fire(this._availableProfiles); this._profilesReadyBarrier.open(); this._updateWebContextKey(); <del> await this._refreshPlatformConfig(result); </del> <ins> await this._refreshPlatformConfig(profiles); </ins> } }