-
Notifications
You must be signed in to change notification settings - Fork 293
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create a Jupyter "PowerToys" extension to enable experimentation of new features #9251
Comments
Basics:
Next:
One of the trickier bits moving forward is how multiple folks can work on the extension together without treading all over each other's toes. To a large degree I'd like to keep this as open as possible. I think there is a lot of flexibility with how we could all operate and few points where there would actually have to be consensus. Part of the joy of working on separate extensions is to have more flexibility with how we work and code. It should be easy to check out powertoys, work for a while on an idea and bring it back in without major merge conflicts. My personal take is I'd prefer to err on the side of developer autonomy and freedom until actual issues crop up with performance / size / code repeats. Part of the only guidance here would for most features to be aware of what might need to change to bring them into the main Jupyter extension, given that might be the goal for many features here. Some of the bits that I think do need common consensus would be release pipeline, settings to control which features show up, and telemetry both to make sure that we are good with GDPR and with making sure we know what powertoys are getting the most usage to consider what to bring into the main extension. |
Suggestion: we could have each feature as its own folder within the Sample: import {activateMetadataEditor} from './src/metadataEditor';
import {activateKernelManager} from './src/kernelManager';
activate(context) {
if (workspage.configuration.get('enableMetadataEditing')) {
activateMetadataEditor(context);
}
if (workspage.configuration.get('enableKernelManagement')) {
activateKernelManager(context);
}
} The goal is to improve productivity by sacrificing consistent code styles, interfaces etc (that can come later when we want to pull a feature into a seprate extension or into Jupyter). However Package.json will have to be shared, I think thats not a a major concern. Again, this is just one approach this is kinda the style i used for my powertoys exension (which too had smaller features in a single extension) |
@DonJayamanne Yup, that lines up with what I was thinking. I want freedom over "production ready" for this extension. IOC tests ect as you want. Just with the caveat if anyone gets too crazy they might have more work if that code needs to be brought into the main extension. |
Can we use something as simple as
I think when we implement this, we'll have to use something that's strongly typed (so we don't leak PII). |
Yeah, telemetry was just something that we might have to have some common ground on, if only because this is MS published and GDPR. Need to make sure we are safe / secure even if we are all doing our own things. Given that we are starting from scratch seems like a good idea to start with what VS Code has as well. Agree that MVP could be without, but telemetry is something that I'd want to come along sooner rather than later, just because I see looking at that as being clutch to tell what features might need to get moved up from PowerToys into main extension. Tagging @rchiodo and @amunger to make sure they can drop thoughts as well on the PowerToys extension. |
@DonJayamanne Since you've just been doing this work for the other extensions, do you have a landing page for the "how to get your extension MS publishing ready (component governance and all that)" docs? Want to make sure I get my i's dotted and t's crossed. Can just look at what the extensions are doing, but I'd like to look at the full picture myself. |
Yes, its here https://github.com/microsoft/vscode-engineering/wiki/Extensions-Build-and-Publish I can show this, takes on 2-3 minutes to show this. |
I'm wondering what some verification steps are for this issue, or whether there should be a TPI instead? |
Test plan would probably be good. Verification steps:
Anything else we're likely not going to fix. |
That works for me? @rzhao271 where were you testing this? |
The kernel explorer and execution groups seem to be working. but that |
Oh I ran a different command. Focus on Kernels view. That just sounds like that command isn't implemented. |
I entered a separate issue for that: |
Continuation of discussion that started internally.
The text was updated successfully, but these errors were encountered: