Code change:
<!-- Do Not Delete This! featurerequesttemplate --<!-- Please read our Rules of Conduct: --<!-- Please search existing issues to avoid creating duplicates. --<!-- Describe the feature you'd like. --When I use command in VSCode to disable the extension of the current folder/workspace it doesn't work. Other attempts: also invalid when adding options. Expected Result: Disable the specified extension. !
To extend it a little bit: These commands do work, when the workspace/folder is not yet open! (with disabled extensions) Even we did not found any documentation about it...
Right, this works only when the window is not opened. I do not think we send the CLI args to the opened window. Also this option is to disable the extension for the current session only. This will be reset when user restarts VS Code without this option. I will update the help doc.
Thank you for your reply. I understand that the disabled will be reset when VS Code is restarted, but I still hope that the command will take effect in the current window, such as the following. Is it possible to solve it, or other alternatives?
I am not sure if it is possible to update the args for the current window. CC
Only when you trigger a reload:
Thank you. So for the user, there's no way to solve this problem, right?
You cannot change the args of the current window as a user.
I would like to add, that this feature is not documented online somewhere right? I could not find anything about it... I just stumbled over it. Can an extension do this? Well it would reload the screen anyway, which is what we would like to prevent...
Yeah not even internally you can change without a window reload at the moment unless a specific component supports this of course, which depends on the use case.
Question: The user can simply disable a extension per Click, even defined if globally or per workspace, is there no such API an extension could call doing this? Its related to this comment: And we have currently 2 approaches (extensions) trying to improve the situation: Disable extensions Unwanted recommendations see for screenshots
would know
There is no API for this - May I know why an extension has to do this? Related, Have you tried the new profiles feature that is in preview? - This can be enabled using setting where you can create different profiles (settings, extensions, .... ) for different scenarios/use cases and switch seamlessly.
Hi, Yes, this is required in Vue, You can view the details here: I tried to use the profiles feature, but it seems that it cannot configure “Built-in Extensions”, and it is not very convenient to configure it once for each project, especially in teamwork.
You can configure enablement state of built in extensions in profiles. May I know if you tried this and if does not work and file an issue, because it is supposed to work. You do not need to configure for each project. You configure a profile once and open the workspace using this profile.
I just tried it, the profiles feature can't meet this requirement, first of all, the exported configuration file is compressed, it's hard to read and modify., After formatting it, I found that it can't disable the extension. When I switch between different profiles, it's more like uninstalling those extensions that are not selected, but built in extensions cannot be uninstalled. I tried using a new profile, then disabled a built in extensions in VS Code and exported it, and when I imported it, the extension wasn't disabled.
This is not hand written and machine generated. Yes, but built in extensions can be disabled and profile carry this information. Can you please share the profile?
Ok, here is the exported config file after disabling built-in extensions. Extension id: vscode.typescript-language-features VS Code: 1.75.0-insider
Thanks for the profile. I could repro the bug. Filed a separate issue tracking the bug so that it can be verified too.
Thank you for your patience and reply, I wish you a happy new year.

Related discussion:
text: 'no-cached-data': { type: 'boolean' }, 'prof-startup-prefix': { type: 'string' }, 'prof-v8-extensions': { type: 'boolean' }, <del> 'disable-extensions': { type: 'boolean', deprecates: ['disableExtensions'], cat: 't', description: localize('disableExtensions', "Disable all installed extensions.") }, 'disable-extension': { type: 'string[]', cat: 't', args: 'ext-id', description: localize('disableExtension', "Disable an extension.") }, </del> <ins> 'disable-extensions': { type: 'boolean', deprecates: ['disableExtensions'], cat: 't', description: localize('disableExtensions', "Disable all installed extensions. This option is not persisted and is effective only when the command opens a new window.") }, 'disable-extension': { type: 'string[]', cat: 't', args: 'ext-id', description: localize('disableExtension', "Disable the provided extension. This option is not persisted and is effective only when the command opens a new window.") }, </ins> 'sync': { type: 'string', cat: 't', description: localize('turn sync', "Turn sync on or off."), args: ['on | off'] }, 'inspect-extensions': { type: 'string', allowEmptyValue: true, deprecates: ['debugPluginHost'], args: 'port', cat: 't', description: localize('inspect-extensions', "Allow debugging and profiling of extensions. Check the developer tools for the connection URI.") },