Closed luabud closed 1 year ago
cc @cwebster-99
Just tried it out, looks great! Some feedback:
fyi @sandy081
@isidorn Is there a way to configure the profile so the terminal shows upon open? I see "terminal.hidden": "[{\"id\":\"terminal\",\"isHidden\":false}]"
but I don't believe that is what this setting is controlling, correct?
@cwebster-99 correct, the setting is not for that.
If you make the terminal visible in your profile. And then you export the profile with the UX state - the terminal visibility will be a part of the profile.
These docs have more details https://code.visualstudio.com/docs/editor/profiles
How come we use the name "Python Scripts" and not just "Python"?
Given we'll have a Django and a Python one, I thought that if people were e.g. going to do Django but saw the Python one first, they'd be tempted to pick it. I'm not attached to this idea though, so happy to remove it and leave it as just "Python"
Can we use some theme? For example the Dark theme V2 so we promote our new default themes?
Yes, absolutely! I thought of including One Dark Pro as that's a common choice in the team but I personally prefer the Default theme v2
Should we add some other VS Code settings? For example autoSave? Are there other setting we could add that we know are popular in the python community?
Auto save has been called out as a must by Python devs we interviewed in the past, but after chatting with a few folks in the team we preferred not to add it for this profile, at least for now. We couldn't think of other popular editor settings for Python devs, but if someone comes up with an idea I'll update this issue.
Can we customize the layout a bit more. For example, should we have the terminal visible? Not sure if Python users indeed use the terminal, but are there other views we should show?
Yes! My intention was the let the terminal visible, and when I exported the profile I explicitly had it open up. But I guess it didn't propagate for some reason? I'm not sure if it's a bug or if I'm doing something wrong 😅
Should we set some search.exclude, files.exclude settings so we cover Python files that should be ignored (if such exist)?
We add a few common folders by default in our code already (e.g. src
to analysis.extraPaths
). We could explicitly add it for transparency sake, but the functionality would be the same.
Are there other things our python users are struggling with (settings, view discoverability) that we could use the profile for?
Chatting with the team a few ideas came up, so I'm adding them to the 2nd draft of the profile:
"python.analysis.fixAll": ["source.unusedImports"]
--> to enable code action to remove all unused imports @luabud thank you!
Given we'll have a Django and a Python one, I thought that if people were e.g. going to do Django but saw the Python one first, they'd be tempted to pick it. I'm not attached to this idea though, so happy to remove it and leave it as just "Python"
I was just curious. We should start with a name that you think is best :)
Auto save has been called out as a must by Python devs we interviewed in the past, but after chatting with a few folks in the team we preferred not to add it for this profile, at least for now.
Just curious what is the concern here?
Yes! My intention was the let the terminal visible, and when I exported the profile I explicitly had it open up. But I guess it didn't propagate for some reason? I'm not sure if it's a bug or if I'm doing something wrong 😅
Interesting. Could you file a new bug please and ping me on it?
Chatting with the team a few ideas came up, so I'm adding them to the 2nd draft of the profile:
Awesome. Let me know once that 2nd draft is ready and I would gladly try it out.
when I exported the profile I explicitly had it open up. But I guess it didn't propagate for some reason? I'm not sure if it's a bug or if I'm doing something wrong
I ran into the same issue when I was creating and testing the Python EDU profile. I can file a bug today :)
oh sorry, I edited the opening comment with the 2nd draft, here it is: https://insiders.vscode.dev/profile/github/b00353b96014a77b2a541f62d696b910
Thank you @luabud - this looks great to me! If the team is happy with this I think we can go ahead with it as the first version
I only have three questions:
fyi @sandy081
Why containers + docker from all the remote extensions? Is it more likely that python users use Containers than other setups?
For non-data science work, yes! From most of our customer interviews + the Python Developer Survey we see containers are far more popular than VMs for Python devs.
The most recent Django developer survey shows something similar: https://lp.jetbrains.com/django-developer-survey-2022/. I don't have any reservations against promoting the other extensions, though, especially to improve discoverability 😊
Why IntelliCode?
That's a fair point. Our thinking here was that IntelliCode works quite nicely with Pylance, and even though it's not as powerful as Copilot, it could be a good addition for those who aren't able to afford it. Don't feel strongly enough to keep it, though.
Should we configure some formatter to be the default?
Yes, great point! Thanks for bringing it up 😊
Version 3 is the same as version 2 but with:
https://insiders.vscode.dev/profile/github/aca3091333dae6fd0064b7c052da5bdb
Awesome! This looks great to me 👏 Thanks you very much @luabud
@sandy081 might have additional feedback
I just tried it out in vscode.dev. The first thing I notice is the dark mode - I prefer light mode, so I don't know why a Python profile in particular would impose dark mode. I get harassed about liking light mode all the time, since dark mode has some association with "cool programmer culture" or some such, so I'm perhaps a bit sensitive about that.
Anyways, I may be the minority, so moving on to more important things: the autosuggest feels like it might be more intimidating than helpful. It suggests lots of things that I would never expect. I would turn off this autosuggest myself, and would not recommend it to new Python programmers. We had a similar autosuggest for the KA coding environment that we turned off for similar reasons. Do you have user studies on the autosuggest? (I don't know what extension it's from)
These are snippets coming from the Python Snippets 3 extension. I was also on the fence on including this because of the overwhelming amount of suggestions, but ended up including giving the popularity and the good reviews/remarks on how that's helpful for Python beginners.
For context, we used to have built-in snippets in the Python extension, but after running some user studies with new to Python and new to VS Code users, we found they were confusing to them. Giving snippets are configurable, we ended up removing them by default from the core Python extension. We got a lot of users upset with this change, and to their point snippets are really helpful for productivity, which is why I think it's worth including some in this Profile. The hypothesis here is that we're adding more transparency to the snippets by adding them in the built-in profile, so hopefully it'll be less confusing to users who follow the same profile of those we interviewed in the past and found snippets were confusing.
That all said, I agree with your point on how too many snippets are being shown there, many being more confusing than useful (in a built-in Profile perspective at least. I think the extension itself sets up the right expectation, which could explain why it's performing so well in terms of reviews). I'll look into creating a subset of snippets that we believe to be most helpful and will update the Profile.
Chatting with Sarah Kaiser during PyCascades she gave a good idea of including the Python Environment Manager extension. It's pretty popular as well and folks seem to really enjoy it once we introduce it to them. I created a new profile proposal (4th iteration, I think?) with a subset of snippets and the Python env manager extension: https://insiders.vscode.dev/profile/github/c8c826aca68c0bf263554e1bafa955d0
Let me know what you all think 😊
@luabud awesome! Thank you very much. Looks great to me. I expect us to ship this in Insiders start of April and then we can react on user feedback and fine tune this profile further.
This has been done some months ago, forgot to close the issue:
4th iteration: https://insiders.vscode.dev/profile/github/c8c826aca68c0bf263554e1bafa955d0
Extensions
"""
. This extension is very popular and has great reviews.UI State
Settings
Snippets
Backlog for additional extensions that could be added: