Implementing a Preview channel of a vscode extension - visual-studio-code

I want to offer a preview version of my vscode extension so that user can get changes more frequently.
Essentially, I'd like to replicate what VSCode does:
* Stable: tested changes, happens every month/ad hoc
* Insiders: Daily build that gets sent to users
I noticed that the Visual Studio marketplace has a mechanism for marking an extension as "Preview" but this seems to be only cosmetic, in other words, it still overwrites the latest stable version of the extension.
I thought about publishing a new extension and calling that the "Preview" version, but then I want to only allow one of the extensions to be enabled at any given time because it's unclear how my extension will operate if you essentially have 2 extensions installed and running at the same time.
Has anyone tried this before? What's the best way to achieve this?

This is no way to do this currently. The feature request is tracked here
Existing extensions—such as tslint—publish two versions: a normal release and a preview version

Related

Can't view my changes on Extension Host for my Custom VSCode extension

This is my first extension, so go easy on me haha
My extension basically uses TypeScript + Svelte, here's the repo: https://github.com/renan-brasilio/sfdx-ui
I was able to create the first version, published on VSCode Market, I had no problems on testing but now every time that try to see the changes (normally I use yarn watch or even npm run watch) but no matter the change I do, I can't see it on the Extension host, it always show the version that I created before.
I even unpublished my extension and uninstalled from my VSCode, but no luck.
I see one detail here on my sidebar.ts which gets the main page, is showing an error
Cannot find module '../components/Sidebar.svelte' or its corresponding type declarations.ts(2307)
Any thoughts on this?
Thanks in advance.

Suggestions and Intellicode no longer working after changing color theme in VS Code

what I did is just changed the color theme and after that, it is stopped working as expected regular behavior, It is not showing suggestions, VS Code IntelliCode also not working as before I have done efforts of my side as like uninstalled all extensions and installed them again, deleted VS Code from applications and installed it again. Image You can see the extensions which are using currently and also you can observe that I'm using the style of justify-content when I typed the quotes then it is supposed to show all the values available for it. but it is not showing currently
Please let me know, are there any possible ways to get back to the normal behavior of VS Code for Mac?
I already uninstalled all the extensions and installed them again, removed VS Code from Applications. and downloaded the latest version from the official VS Code site.

How to check built-in formatter/beautifier version? and does it auto-update?

Somebody from stackoverflow asked me to check if I have the latest js-beautify in my vscode. But I don't know how to check it. Can you please help?
I read from one of the threads in VS Code that it uses js-beautify as the formatter (it's the one doing the 'formatonsave' etc.). Please correct me if I'm wrong.
If it uses js-beautify, how do I know what version it is in? and does it auto-update to the latest version whenever there's a new one?
Thank you.
I already tried going through documentations and I also checked the preferences thoroughly, but I can't seem to find how to (manually) check for updates about plugins, especially the built-in ones like js-beautify.
The default setting for extensions.autoUpdate in VS Code enables auto-updating for all extensions. You can confirm this in your user settings or simply bring up the Command Palette (CTRL+SHIFT+P) and type 'auto update' to enable or disable it.
In the Command Palette you can also update extension mannually.
The current version of every installed extension is listed right next to its name in the extension panel or under the Changelog panel.

How do I disable telemetry for all users in Visual Studio Code?

I need to disable telemetry for Visual Studio code for all users. I have packaged the product in SCCM (specifically so its installed under the users profile so they can update it themselves).
I can't however figure out how to disable telemetry for all users.
I know individually the following needs to be added under the user's settings
{
"telemetry.enableCrashReporter": false,
"telemetry.enableTelemetry": false
}
Telemetry and data collection cannot be disabled in VSCode and the provided options to disable it is a red herring, see this answer for details. Essentially this is the same situation as with Windows 10 because, well, Microsoft.
As an alternative, you can use VSCodium but bear in mind 2 things:
Some extensions won't work.
Even if you hack them into work - they won't work properly or reliably (C# extension, for example, crashes, produces wrong results, etc.).
Since VSC is OpenSource, somebody took already care of that and provides a fork without telemetry:
https://vscodium.com/

How do you get #Recomended to work in VS Code?

I can get#recommended:workspace extensions to work correctly but I am unsure as to why I cannot get the general #recommended to show anything. Where am I supposed to put the extensions.json file?
My goal here is to have PowerShell install VSCode, copy over some JSON files for specific settings and then have the user shown the companies recommended extensions to install once they open up VSCode.
I know I can force them installed with code --install-extensions but I want the user to be able to pick and choose from the companies recommended list based on what kind of files they'll be working on. What I can't seem to figure out is how to get that list to show except within a workspace.
For example, we have a Chef team, an Azure team, Linux team, etc. each needing different extensions.
The #recommended option has no config. VS Code decides which extension to recommend based on the file types that exists in the folder/workspace that you opened (official release info).
So, in your scenario, I guess the best option is to use Workspace Recommendations (#recommended:workspace), using a different recommendation for each team/project.