microsoft / vscode-docker

Docker Extension for Visual Studio Code
https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-docker
Other
1.2k stars 513 forks source link

After update to 1.42 docker container&images panels are disappeared. #1609

Closed irbisKo closed 4 years ago

irbisKo commented 4 years ago

Issue Type: Bug

Windows 10 Home. Docker-machine running. Update to new version of 1.42. There is no more panels of containers and images.. The same is in remote mode if I connect to my remote host.

Extension version: 0.10.0 VS Code version: Code 1.42.0 (ae08d5460b5a45169385ff3fd44208f431992451, 2020-02-06T10:51:34.058Z) OS version: Windows_NT x64 10.0.18362

dbreshears commented 4 years ago

@irbisKo, are you no longer seeing containers / images (does docker command line work?), or actually are the Panels completely missing in VSCode? We have tried on several machines and not able repro but have only tried on Windows Pro. Can you submit a screen shot and we can also try updating to 1.42 on Windows 10 Home.

irbisKo commented 4 years ago

Thank you for your fast feedback. Here are 3 strange behaviors what I got after update, So I restarted the computer, reinstall extensions and established a connection with remote Host. What I don't try yet is reinstall VSCode itself. 1) Now I can see in Explorer tab panels Images and Containers. If I open Docker tab then there are just Registries, Networks and Volumes. As you can see there some troubles with docker icon and there is no data. bug142PNG bug2_142PNG

Then after opening a project: The same order of tabs and pannel but with data. The terminal works fine. 2) But If I try to make manipulation on one container. For example, start/remove than I got a window for multiple selections: bug4_142PNG

3) I tried to open a project on the host. It looks 3-4 attempts from VS Code to open the project with a workspace. First two like: bug5_142PNG Then popup window: "Cannot reconnect. Please reload the window. Reconnection in 4-3-2-.." I worked already sometimes with VSCode and every time the connection was smooth. Now the connecting time very long.

I have a presentation next week for my colleges about remote development inside containers with VS Code. I think I need to use the old stable version.

Update: After reinstalling VS Code the delay and strange behaviors by connection to the host are gone. the issue with panels stays

msssk commented 4 years ago

Same problem here, upgraded VS Code to 1.42 on Windows 10 Pro with Docker Desktop 2.1.0.4 and now the only panels I see are Registries, Networks, and Volumes.

jwtd commented 4 years ago

I'm getting the same behaviors on:

OSX 10.14.6 Docker Desktop: 2.2.0.0 Visual Studio Code Version: 1.42.0 Docker extension v0.10.0

After installing, I see the docker icon in the left vertical menu, but when I open the drawer, I only see Volumes, Registries, and Networks in the drop down list.

philliphoff commented 4 years ago

@irbisKo @msssk @jwtd What other extensions have you installed? Do you see this behavior if only the Docker extension (vscode-docker) is installed?

Did you also happen to install the Docker Explorer extension? (This extension is known to have view/command IDs that conflict with our extension and can cause VS Code to exhibit weird placement/behavior of our windows.)

jwtd commented 4 years ago

Currently, the only docker extension I have installed is vscode-docker. Previously, I had the docker extension pack installed. I've tried uninstalling all and reinstalling vscode-docker on its own. I get the same issue each time.

Aside from the docker extension, I have gitlense, terraform, live share, and aws extensions installed.

philliphoff commented 4 years ago

@jwtd The Docker "extension pack" is from the same author as the Docker Explorer and just bundles both our extension and Docker Explorer, so that would definitely cause a problem. It's curious that removing that extension doesn't resolve the issue (as it does in my testing on my Windows machine).

If you click the Docker tab, then right-click at the top of the Docker explorer are (e.g. next to the "Docker" label), you should get a context menu that allows you to show/hide individual tree views (e.g. registry, networks, volumes, etc.). Do you see the images or containers tree view in that list?

msssk commented 4 years ago

I did previously have Docker Explorer and Docker both installed, and Docker was working. When I updated VSCode to 1.42 Docker stopped working. I uninstalled Docker Explorer, no change. So I uninstalled Docker, quit/opened VSCode, reinstalled Docker, quit/open again, Docker still not working. I've reinstalled Docker again and it still isn't working.

In the right-click menu I only see "Registry", "Networks", and "Volumes". I tried disabling all other extensions (none are Docker-related) and still only see "Registry", "Networks", and "Volumes".

jwtd commented 4 years ago

When I click the Docker tab, then right-click at the top of the Docker explorer areaI do get a context menu that allows you to show/hide individual tree views, but it only shows volumes, registry, and networks.

2020-02-10_16-48-53

irbisKo commented 4 years ago

@philliphoff I don't have installed Docker Explorer. Just Docker and Remote Development. The same individual tree view just with Volumes, Registries, and Networks. In the Explorer tab in the inividual tree views I can see Images and Containers.

bwateratmsft commented 4 years ago

@irbisKo Can you share a screenshot of the Views section of Contributions from the extension info page? At the bottom of the Contributions should be the Views section: image

It seems like there is some conflict on contributions that is causing the views to be hidden...

bwateratmsft commented 4 years ago

@irbisKo @msssk @jwtd I have an idea for what might be going wrong. The Docker Explorer extension (the other one, not ours) has settings to show/hide its panels: https://github.com/formulahendry/vscode-docker-explorer/blob/master/package.json#L46

Namely:

config.docker-explorer.showDockerContainers
config.docker-explorer.showDockerImages
...

Can you check your user settings and see if there are values present for those settings, particularly, false values? What happens if you remove the Docker Explorer extension and also those values?

jwtd commented 4 years ago

I looked and didn't find those set in my settings.json. I tried manually setting those values to true, but they didn't cause the menus to appear. Right now the only way I can see the images and containers is if I install the other guy's extension. When I do that they drawers appear as submenus in the default explorer menu. They do not appear in the Docker menu.

On Thu, Feb 13, 2020 at 1:36 PM Brandon Waterloo [MSFT] < notifications@github.com> wrote:

@irbisKo https://github.com/irbisKo @msssk https://github.com/msssk @jwtd https://github.com/jwtd I have an idea for what might be going wrong. The Docker Explorer extension (the other one, not ours) has settings to show/hide its panels: https://github.com/formulahendry/vscode-docker-explorer/blob/master/package.json#L46

Namely:

config.docker-explorer.showDockerContainers config.docker-explorer.showDockerImages ...

Can you check your user settings and see if there are values present for those settings, particularly, false values? What happens if you remove the Docker Explorer extension and also those values?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/microsoft/vscode-docker/issues/1609?email_source=notifications&email_token=AAALL7HG7ZHYKJ6RHHI37HTRCWHMJA5CNFSM4KRQSFKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELWDTOA#issuecomment-585906616, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAALL7FJTURSHXDBY26JXTDRCWHMJANCNFSM4KRQSFKA .

bwateratmsft commented 4 years ago

Thanks @jwtd. Man, this is a strange bug. I'll see if I can find information on VSCode; why the behavior may have changed. There could be some weird caching things happening that cause conflicts with the Docker Explorer extension even when it is uninstalled.

bwateratmsft commented 4 years ago

@sbatten, @philliphoff found https://github.com/microsoft/vscode/issues/85164, we were wondering if the code there could be causing this strange behavior we're seeing. For context--

Is it possible these things are related to those changes?

msssk commented 4 years ago

Can you check your user settings and see if there are values present for those settings

No values present, I added them manually and VSCode displayed them as unknown configuration settings and they had no effect.

bwateratmsft commented 4 years ago

Thanks folks. I've been working with @sbatten and it seems that the changes for https://github.com/microsoft/vscode/issues/85164 are related, along with the conflicting view IDs between the two extensions.

I was able to reproduce the issue with the following:

  1. Uninstall both extensions
  2. Install the Docker Explorer (third party) extension first
    1. It puts the Containers and Images view in the Explorer viewlet, not in the Docker viewlet
  3. Install the Docker (first party) extension
    1. Note: the extensions didn't actually have to be installed in this order, just loaded in this order upon launching 1.42, but installing one and then the other guarantees the load order
  4. The view-moving code that @sbatten added now thinks that the Images and Containers views (which share the same ID in both extensions) belong in the Explorer viewlet, which is why they do not show up in the Docker viewlet. I suspect for most people they do actually show up in the Explorer viewlet: image
  5. Uninstalling the Docker Explorer extension does not quite fix the problem, because the view-moving code still thinks Images and Containers belong in the Explorer viewlet, due to the conflicting IDs. Here's what I see after uninstalling the Docker Explorer extension: image image

How to fix it

  1. Uninstall the Docker Explorer (third party) extension
  2. In Settings, enable the experimental feature Workbench > View > Experimental: Allow Moving To New Container (setting ID workbench.view.experimental.allowMovingToNewContainer)
  3. In the Explorer viewlet, right click the Images and Containers views and choose Move to Panel: image
  4. They should now show in the center panel, same as where terminals and output windows usually show: image
  5. Right click them there, and choose Move to Sidebar. This should return them to their proper place in the Docker viewlet: image
  6. If desired, you can now disable the setting from step 2.

@irbisKo , @msssk , @jwtd , can you try the fix steps above and let us know if they work?

Fosol commented 4 years ago

Same issue here after updating Docker Desktop.

jwtd commented 4 years ago

Yes, this procedure corrected the issue for me.

On Fri, Feb 14, 2020 at 10:16 AM Brandon Waterloo [MSFT] < notifications@github.com> wrote:

Thanks folks. I've been working with @sbatten https://github.com/sbatten and it seems that the changes for microsoft/vscode#85164 https://github.com/microsoft/vscode/issues/85164 are related, along with the conflicting view IDs between the two extensions.

I was able to reproduce the issue with the following:

  1. Uninstall both extensions
  2. Install the Docker Explorer (third party) extension first
    1. It puts the Containers and Images view in the Explorer viewlet, not in the Docker viewlet
  3. Install the Docker (first party) extension
    1. Note: the extensions didn't actually have to be installed in this order, just loaded in this order upon launching 1.42, but installing one and then the other guarantees the load order
  4. The view-moving code that @sbatten https://github.com/sbatten added now thinks that the Images and Containers views (which share the same ID in both extensions) belong in the Explorer viewlet, which is why they do not show up in the Docker viewlet. I suspect for most people they do actually show up in the Explorer viewlet: [image: image] https://user-images.githubusercontent.com/36966225/74542493-b650ac00-4f11-11ea-8908-11c6a3f8fc8a.png
  5. Uninstalling the Docker Explorer extension does not quite fix the problem, because the view-moving code still thinks Images and Containers belong in the Explorer viewlet, due to the conflicting IDs. Here's what I see after uninstalling the Docker Explorer extension: [image: image] https://user-images.githubusercontent.com/36966225/74542577-e304c380-4f11-11ea-9a3a-c48274867300.png [image: image] https://user-images.githubusercontent.com/36966225/74542622-f3b53980-4f11-11ea-92a3-cdfe4cc957a1.png

How to fix it

  1. Uninstall the Docker Explorer (third party) extension
  2. In Settings, enable the experimental feature Workbench > View > Experimental: Allow Moving To New Container (setting ID workbench.view.experimental.allowMovingToNewContainer)
  3. In the Explorer viewlet, right click the Images and Containers views and choose Move to Panel: [image: image] https://user-images.githubusercontent.com/36966225/74542872-6f16eb00-4f12-11ea-8217-212aa6e11b39.png
  4. They should now show in the center panel, same as where terminals and output windows usually show: [image: image] https://user-images.githubusercontent.com/36966225/74542948-8e157d00-4f12-11ea-82f3-59148cbfd3fc.png
  5. Right click them there, and choose Move to Sidebar. This should return them to their proper place in the Docker viewlet: [image: image] https://user-images.githubusercontent.com/36966225/74543027-abe2e200-4f12-11ea-8a5c-3f949b0d2cdc.png
  6. If desired, you can now disable the setting from step 2.

@irbisKo https://github.com/irbisKo , @msssk https://github.com/msssk , @jwtd https://github.com/jwtd , can you try the fix steps above and let us know if they work?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/microsoft/vscode-docker/issues/1609?email_source=notifications&email_token=AAALL7BADKLO5NUW4LAII2LRC2YWLA5CNFSM4KRQSFKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELZLKAQ#issuecomment-586331394, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAALL7DNXJPCZ2QZYO4H7OTRC2YWLANCNFSM4KRQSFKA .

msssk commented 4 years ago

@bwateratmsft Thank you for troubleshooting this! Fix works!

bwateratmsft commented 4 years ago

Awesome! Glad to hear it's working.

bwateratmsft commented 4 years ago

I'll close this one as external. I created https://github.com/formulahendry/vscode-docker-explorer/pull/53 in the Docker Explorer extension to change the IDs to prevent conflicts. The Docker Explorer extension did use the IDs first, but because this extension has dependents in Remote - Containers, it would be more difficult to change this one.