Skip to content
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

Docker Explorer 2.0 #966

Merged
merged 9 commits into from
Jun 7, 2019
Merged

Docker Explorer 2.0 #966

merged 9 commits into from
Jun 7, 2019

Conversation

ejizba
Copy link
Contributor

@ejizba ejizba commented Jun 4, 2019

Summary

I set out with the goal to move the Docker explorer over to the shared tree implementation used by our other extensions. It was a bit more of a ...massive... undertaking than I expected because I basically had to tear everything down and rebuild it. In the end, I think I fixed a lot of bugs and improved a lot of things, but most importantly this codebase will be much easier for us to maintain because it's now based on our shared building blocks.

We are going to need to have people (on our team and hopefully outside of our team) bash against this for a little while before releasing. With that in mind, any time spent reviewing this is much appreciated!

Help Wanted! Please follow these instructions to install the latest build from master and let us know what you think!

THE NEW EXPLORER

It features separate views for containers/images/registries - which means you can hide/resize/reorder each view on its own.

Screen Shot 2019-06-04 at 9 53 35 AM

It also has in-line error messages when failing to connect, which IMO is much better than that big scary error message we used to have.

Screen Shot 2019-06-04 at 9 54 29 AM

THE NEW COMMAND PALETTE

Just like the above, the commands are all grouped based on images/containers/registries. It will also be a one-to-one mapping of the tree. So if you have the tree grouped/sorted/etc., you will see that when running from the command palette.

Screen Shot 2019-06-04 at 9 55 54 AM

Since Docker previously had the option for "All Containers", I wanted to maintain and improve on that functionality. Now you will see a multi-select quick pick:

Screen Shot 2019-06-04 at 9 56 33 AM

THE NEW ACR TASK VIEW

The old way of viewing tasks was through a web view that honestly wasn't accessible, wasn't consistent with other VS Code experiences, and was going to be annoying to maintain going forward. I moved all tasks into the tree. You can still view properties, copy image digest, and view logs - but you can't write a custom filter for viewing tasks. I still think this is a net-positive experience and we can theoretically add back support for filtering in this new world.

Screen Shot 2019-06-04 at 10 52 41 AM (2)

More detailed list of fixes

Leverage tree from shared package

Leverage wizard from shared package

Leverage consistent error handling/telemetry from shared package

Other:

@ejizba ejizba requested a review from a team as a code owner June 4, 2019 18:10
ejizba added 2 commits June 4, 2019 13:57
And rename tag/repo tree items to differentiate remote from local
@eine
Copy link

eine commented Jun 18, 2019

I'm trying 0.6.3-alpha from https://dev.azure.com/ms-azuretools/AzCode/_build/results?buildId=6664 on Win10 with VSC:

Version: 1.35.1 (user setup)
Commit: c7d83e57cd18f18026a8162d042843bda1bcf21f
Date: 2019-06-12T14:30:02.622Z
Electron: 3.1.8
Chrome: 66.0.3359.181
Node.js: 10.2.0
V8: 6.6.346.32
OS: Windows_NT x64 10.0.17134

THE NEW EXPLORER

This is great. I was wondering if there was anything wrong with my setup before I saw this '2.0' issue.

It also has in-line error messages when failing to connect

This works ok. I restarted docker-for-win, to test it. Both showing the messages and automatically reconnecting again.

Just like the above, the commands are all grouped based on images/containers/registries.

This is great too.

Since Docker previously had the option for "All Containers", I wanted to maintain and improve on that functionality. Now you will see a multi-select quick pick:

I don't know if this is the desired behaviour, but I found myself trying it multiple times until I guessed it:

  • F1
  • Docke Cont Start
  • Enter
  • ArrowDown
  • Enter

Nothing happens. Due to the checkbox, the last 'Enter' has no effect, although I 'selected' a container with the arrow key. For it to work, I need to press 'Space' before the last 'Enter'. This will select the container.

I'd say that requiring to press 'space' is unnecessary when the users want to start/stop/whatever a single container.

Note that this does not apply if you do some of the steps with the mouse, because clicking on a container will select it only.

THE NEW ACR TASK VIEW

I am not a user of ACR.

@ejizba
Copy link
Contributor Author

ejizba commented Jun 18, 2019

@1138-4eb thanks for the feedback!

Regarding the space bar vs. enter - that confused me as well when I first tried it. Created a new issue here: #1005

@ejizba ejizba mentioned this pull request Jul 2, 2019
@microsoft microsoft locked and limited conversation to collaborators Oct 27, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.