microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
162.39k stars 28.62k forks source link

Built-in Profiles #166359

Closed isidorn closed 1 year ago

isidorn commented 1 year ago

We should have some Built-In profiles to help users more easily get setup with VS Code. Profiles should not be extension / language specific but instead specific to the job the user needs to do. For example:

VS Code default settings are not cool, and profiles should also be used as a way to make the popular VS Code customisations more discoverable. Profiles should be opionated! There's even a website that helps with this https://makevscodeawesome.com/ The built-in profiles should be surfaced in the Welcome view and probably under the Profiles menu (maybe a submenu).

isidorn commented 1 year ago

@joaomoreno had a great idea that we should also link from our Docs - so in Python docs => "Would you like to apply a profile for Python, click here". User clicking on this would open VS Code and offer to apply a profile. Same for other languages. So this will connect well our website docs to the experience in VS Code.

@gregvanl @luabud what do you think?

luabud commented 1 year ago

I love the idea! We have some tutorials that could benefit from profiles as well, like the getting started and the web development ones. I agree with the idea of making profiles specific to the job to be done, but given there are different frameworks that are used for the similar goals (e.g. Django, Flask and FastAPI) and each one may require different configs, is the idea that we'd offer different profiles per framework, or would it be just one profile that would include configs for all of the supported frameworks (in this case, to offer support for web development with Python more generally?)

isidorn commented 1 year ago

@luabud good question. Depends on the case - I suggest to best write down what would go inside the Django profile, what would go in the Flask profile, in the FastAPI one etc. And then see how much overlap there is. If there is a lot of overlap (like I think there will be) then the best is to have one Python Web Development profile.

joaomoreno commented 1 year ago

We should have some Built-In profiles to help users more easily get setup with VS Code.

I'm not entirely sure it's a good idea to have built-in profiles out of the box. What VS Code should do is drive users to profiles, in certain areas of the product, ie Getting Started, docs, etc.

Building on top of #167700, https://vscode.dev/profile could be a good entrypoint for a few useful profiles.

alexdima commented 1 year ago

I personally don't think of profiles in terms of the job I'm trying to do (I'm always doing the same job in my world view), but in terms of the technology and extensions I need to get things done.

I would therefore find it useful for VS Code to have a Rust profile out of the box that could help me get great Rust experience in VS Code, or a Java profile for the same, etc. And all of this without interfering with my other projects.

theonlyfoxy commented 1 year ago

Maybe even Built-in Marketplace for Profiles :)

isidorn commented 1 year ago

We have started discussions about this, but due to the short milestone I am pushing this out to March to continue work then.

Binboukami commented 1 year ago

(...) What VS Code should do is drive users to profiles, in certain areas of the product, ie Getting Started, docs, etc.

An introduction to the profiles feature could be added into one of the walkthroughs displayed on the Welcome page.

Maybe under the settings and extensibility topics.

image

isidorn commented 1 year ago

Discussed with @sandy081 on how to surface built-in profiles in VS Code and here are our notes:

sandy081 commented 1 year ago

Builtin profile templates are now supported in the Create flow

image