Context menu QueryStatus doesn't happen when VSPackage is not loaded #3835

Closed
alpaix opened this Issue Oct 31, 2016 · 1 comment

Comments

Projects
None yet
2 participants
@alpaix

alpaix commented Oct 31, 2016

Follow up on NuGet/Home#3797.

Details about Problem

Context menu status for NuGet commands such as Restore packages, Manage NuGet Packages, is not evaluated until NuGetPackage is loaded. As a result the commands appear to be available and allowed for invocation. For instance user may click "Restore Packages" when the solution is building.

Suggested Solution

Use rule-based delay activation for the NuGetPackage.

@alpaix alpaix added this to the 4.0 RC2 milestone Oct 31, 2016

@alpaix alpaix self-assigned this Oct 31, 2016

@rrelyea rrelyea modified the milestones: 4.0 RC3, 4.0 RC2 Nov 28, 2016

alpaix added a commit to alpaix/NuGet.Client that referenced this issue Dec 10, 2016

Auto-Restore UI normalization
Resolves NuGet/Home#3633, NuGet/Home#3789, NuGet/Home#3835,
NuGet/Home#3884.

The purpose of this change is to make consistent UX in all restore
scenarios: auto-restore, on-build restore, and solution restore. At the
same time each scenario has some nuances, whereas:
- Auto-restore and solution restore should write log messages in PM console
output window.
- On-build restore writes inline log messages in build output window.

Introduced new console type: `BuildOutputConsole`. It allows writing into
the VS build output window via `IOutputConsole` abstraction API.

Moved `SolutionRestoreCommand` into the solutuion restore package. As the
latter loads on solution open so the restore command should be available
at this point. At the same time the command invokation shouldn't trigger
loading of the legacy package.

Also had to do some refactoring in order to consume `VsConsole` API in
Solution Restore implementation classes:
- Moved all `SolutionRestore*` artifacts into
  `NuGet.SolutionRestoreManager` project.

Eliminated dead code including remnants of debug console and standalone
console.

@alpaix alpaix referenced this issue in NuGet/NuGet.Client Dec 10, 2016

Merged

Auto-Restore UI normalization #1052

alpaix added a commit to alpaix/NuGet.Client that referenced this issue Dec 12, 2016

Auto-Restore UI normalization
Resolves NuGet/Home#3633, NuGet/Home#3789, NuGet/Home#3835,
NuGet/Home#3884.

The purpose of this change is to make consistent UX in all restore
scenarios: auto-restore, on-build restore, and solution restore. At the
same time each scenario has some nuances, whereas:
- Auto-restore and solution restore should write log messages in PM console
output window.
- On-build restore writes inline log messages in build output window.

Introduced new console type: `BuildOutputConsole`. It allows writing into
the VS build output window via `IOutputConsole` abstraction API.

Moved `SolutionRestoreCommand` into the solutuion restore package. As the
latter loads on solution open so the restore command should be available
at this point. At the same time the command invokation shouldn't trigger
loading of the legacy package.

Also had to do some refactoring in order to consume `VsConsole` API in
Solution Restore implementation classes:
- Moved all `SolutionRestore*` artifacts into
  `NuGet.SolutionRestoreManager` project.

Eliminated dead code including remnants of debug console and standalone
console.

alpaix added a commit to alpaix/NuGet.Client that referenced this issue Dec 13, 2016

Auto-Restore UI normalization
Resolves NuGet/Home#3633, NuGet/Home#3789, NuGet/Home#3835,
NuGet/Home#3884.

The purpose of this change is to make consistent UX in all restore
scenarios: auto-restore, on-build restore, and solution restore. At the
same time each scenario has some nuances, whereas:
- Auto-restore and solution restore should write log messages in PM console
output window.
- On-build restore writes inline log messages in build output window.

Introduced new console type: `BuildOutputConsole`. It allows writing into
the VS build output window via `IOutputConsole` abstraction API.

Moved `SolutionRestoreCommand` into the solutuion restore package. As the
latter loads on solution open so the restore command should be available
at this point. At the same time the command invokation shouldn't trigger
loading of the legacy package.

Also had to do some refactoring in order to consume `VsConsole` API in
Solution Restore implementation classes:
- Moved all `SolutionRestore*` artifacts into
  `NuGet.SolutionRestoreManager` project.

Eliminated dead code including remnants of debug console and standalone
console.

alpaix added a commit to NuGet/NuGet.Client that referenced this issue Dec 13, 2016

Auto-Restore UI normalization
Resolves NuGet/Home#3633, NuGet/Home#3789, NuGet/Home#3835,
NuGet/Home#3884.

The purpose of this change is to make consistent UX in all restore
scenarios: auto-restore, on-build restore, and solution restore. At the
same time each scenario has some nuances, whereas:
- Auto-restore and solution restore should write log messages in PM console
output window.
- On-build restore writes inline log messages in build output window.

Introduced new console type: `BuildOutputConsole`. It allows writing into
the VS build output window via `IOutputConsole` abstraction API.

Moved `SolutionRestoreCommand` into the solutuion restore package. As the
latter loads on solution open so the restore command should be available
at this point. At the same time the command invokation shouldn't trigger
loading of the legacy package.

Also had to do some refactoring in order to consume `VsConsole` API in
Solution Restore implementation classes:
- Moved all `SolutionRestore*` artifacts into
  `NuGet.SolutionRestoreManager` project.

Eliminated dead code including remnants of debug console and standalone
console.

alpaix added a commit to alpaix/NuGet.Client that referenced this issue Dec 14, 2016

Auto-Restore UI normalization
Resolves NuGet/Home#3633, NuGet/Home#3789, NuGet/Home#3835,
NuGet/Home#3884.

The purpose of this change is to make consistent UX in all restore
scenarios: auto-restore, on-build restore, and solution restore. At the
same time each scenario has some nuances, whereas:
- Auto-restore and solution restore should write log messages in PM console
output window.
- On-build restore writes inline log messages in build output window.

Introduced new console type: `BuildOutputConsole`. It allows writing into
the VS build output window via `IOutputConsole` abstraction API.

Moved `SolutionRestoreCommand` into the solutuion restore package. As the
latter loads on solution open so the restore command should be available
at this point. At the same time the command invokation shouldn't trigger
loading of the legacy package.

Also had to do some refactoring in order to consume `VsConsole` API in
Solution Restore implementation classes:
- Moved all `SolutionRestore*` artifacts into
  `NuGet.SolutionRestoreManager` project.

Eliminated dead code including remnants of debug console and standalone
console.
@alpaix

This comment has been minimized.

Show comment
Hide comment

alpaix commented Dec 14, 2016

Resolved with NuGet/NuGet.Client#1052.

@alpaix alpaix closed this Dec 14, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment