Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -1560,6 +1560,13 @@ private void SelectMatchingUpdatePackages(ShowUpdatePackageOptions updatePackage
}
}

public void ShowVulnerablePackages()
{
ThreadHelper.ThrowIfNotOnUIThread();
_topPanel.SelectFilter(ItemFilter.Installed);
_topPanel._checkboxVulnerabilities.IsChecked = true;
}

private void CleanUp()
{
NuGetUIThreadHelper.JoinableTaskFactory.Run(async () =>
Expand Down
71 changes: 46 additions & 25 deletions src/NuGet.Clients/NuGet.Tools/NuGetPackage.cs
Original file line number Diff line number Diff line change
Expand Up @@ -378,6 +378,12 @@ private async Task AddMenuCommandHandlersAsync()
var updatePackagesDialogCommand = new OleMenuCommand(ShowUpdatePackagesDialog, changeHandler: null, BeforeQueryStatusForAddPackageDialog, updatePackagesDialogCommandID);
updatePackageDialogCommand.ParametersDescription = "$";
_mcs.AddCommand(updatePackagesDialogCommand);

// menu command for launching the PM UI for the solution to show vulnerable packages
var launchPackageManagerUICommandID = new CommandID(GuidList.guidNuGetDialogCmdSet, PkgCmdIDList.cmdidLaunchPackageManagerUI);
Comment thread
jebriede marked this conversation as resolved.
Outdated
var launchPackageManagerUICommand = new OleMenuCommand(ShowVulnerablePackagesDialog, changeHandler: null, BeforeQueryStatusForAddPackageForSolutionDialog, launchPackageManagerUICommandID);
launchPackageManagerUICommand.ParametersDescription = "$";
_mcs.AddCommand(launchPackageManagerUICommand);
}
}

Expand Down Expand Up @@ -782,6 +788,17 @@ private void ShowUpdatePackagesDialog(object sender, EventArgs e)
}).PostOnFailure(nameof(NuGetPackage), nameof(ShowUpdatePackagesDialog));
}

private void ShowVulnerablePackagesDialog(object sender, EventArgs e)
{
ThreadHelper.ThrowIfNotOnUIThread();
string parameterString = (e as OleMenuCmdEventArgs)?.InValue as string;
NuGetUIThreadHelper.JoinableTaskFactory.RunAsync(async delegate
{
var windowFrame = await ShowManageLibraryPackageForSolutionDialogAsync(GetSearchText(parameterString));
ShowVulnerablePackages(windowFrame);
}).PostOnFailure(nameof(NuGetPackage), nameof(ShowVulnerablePackagesDialog));
}

private async Task<IVsWindowFrame> FindExistingSolutionWindowFrameAsync()
{
await NuGetUIThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync();
Expand Down Expand Up @@ -1019,37 +1036,33 @@ private async Task<IVsWindowFrame> CreateDocWindowForSolutionAsync()

private void ShowManageLibraryPackageForSolutionDialog(object sender, EventArgs e)
{
string parameterString = (e as OleMenuCmdEventArgs)?.InValue as string;
NuGetUIThreadHelper.JoinableTaskFactory.RunAsync(async delegate
{
await NuGetUIThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync();
await ShowManageLibraryPackageForSolutionDialogAsync(GetSearchText(parameterString));
}).PostOnFailure(nameof(NuGetPackage), nameof(ShowManageLibraryPackageForSolutionDialog));
}

if (ShouldInitializeSolutionExperiences())
{
await InitializeSolutionExperiencesAsync();
}
private async Task<IVsWindowFrame> ShowManageLibraryPackageForSolutionDialogAsync(string searchText)
{
await NuGetUIThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync();

var windowFrame = await FindExistingSolutionWindowFrameAsync();
if (windowFrame == null)
{
// Create the window frame
windowFrame = await CreateDocWindowForSolutionAsync();
}
if (ShouldInitializeSolutionExperiences())
{
await InitializeSolutionExperiencesAsync();
}

if (windowFrame != null)
{
// process search string
string parameterString = null;
var args = e as OleMenuCmdEventArgs;
if (args != null)
{
parameterString = args.InValue as string;
}
var searchText = GetSearchText(parameterString);
Search(windowFrame, searchText);
var windowFrame = await FindExistingSolutionWindowFrameAsync();
// Create the window frame
windowFrame ??= await CreateDocWindowForSolutionAsync();

windowFrame.Show();
}
}).PostOnFailure(nameof(NuGetPackage), nameof(ShowManageLibraryPackageForSolutionDialog));
if (windowFrame != null)
{
Search(windowFrame, searchText);
windowFrame.Show();
}

return windowFrame;
}

/// <summary>
Expand Down Expand Up @@ -1090,6 +1103,14 @@ private void ShowUpdatePackages(IVsWindowFrame windowFrame, ShowUpdatePackageOpt
packageManagerControl?.ShowUpdatePackages(updatePackageOptions);
}

private static void ShowVulnerablePackages(IVsWindowFrame windowFrame)
{
ThreadHelper.ThrowIfNotOnUIThread();

var packageManagerControl = VsUtility.GetPackageManagerControl(windowFrame);
packageManagerControl?.ShowVulnerablePackages();
}

// For PowerShell, it's okay to query from the worker thread.
private void BeforeQueryStatusForPowerConsole(object sender, EventArgs args)
{
Expand Down
13 changes: 13 additions & 0 deletions src/NuGet.Clients/NuGet.Tools/NuGetTools.vsct
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,18 @@
<ButtonText>U&amp;pdate...</ButtonText>
</Strings>
</Button>

<Button guid="guidDialogCmdSet" id="cmdidLaunchPackageManagerUI" priority="0x0200" type="Button">
<Parent guid="guidPackageManagementCmdSet" id="idPackageManagementGroup" />
<!--<CommandFlag>CommandWellOnly</CommandFlag>-->
<CommandFlag>AllowParams</CommandFlag>
<CommandFlag>DefaultInvisible</CommandFlag>
<CommandFlag>DynamicVisibility</CommandFlag>
<Strings>
<CommandName>cmdidLaunchPackageManagerUI</CommandName>
<ButtonText>Manage &amp;NuGet Packages...</ButtonText>
</Strings>
</Button>
</Buttons>

<Combos>
Expand Down Expand Up @@ -304,6 +316,7 @@
<IDSymbol name="cmdidUpgradePackagesConfig" value="0x0410" />
<IDSymbol name="cmdidUpdatePackage" value="0x0500" />
<IDSymbol name="cmdidUpdatePackages" value="0x0600" />
<IDSymbol name="cmdidLaunchPackageManagerUI" value="0x0700" />
</GuidSymbol>
<GuidSymbol name="guidClearNuGetLocalResourcesCmdSet" value="{54A0AC88-A025-4A62-8D48-6C1848E4F545}">
<IDSymbol name="cmdidClearNuGetLocalResources" value="0x0100" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,12 @@ public void LaunchSolutionPackageManager()
var guidNuGetDialog = GuidList.guidNuGetDialogCmdSet;
vsUIShell.PostExecCommand(
ref guidNuGetDialog,
PkgCmdIDList.cmdidAddPackageDialogForSolution,
PkgCmdIDList.cmdidLaunchPackageManagerUI,
0,
ref targetGuid);
}).PostOnFailure(nameof(PackageManagerLaunchService));
}
}

// PkgCmdIDList.cmdidAddPackageDialogForSolution,
Comment thread
jeffkl marked this conversation as resolved.
Outdated
}
1 change: 1 addition & 0 deletions src/NuGet.Clients/NuGet.Tools/PkgCmdID.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@ internal static class PkgCmdIDList
public const int cmdidUpdatePackage = 0x0500;
public const int cmdidUpdatePackages = 0x0600;
public const int cmdidClearNuGetLocalResources = 0x0100;
public const int cmdidLaunchPackageManagerUI = 0x0700;
}
}
10 changes: 10 additions & 0 deletions src/NuGet.Clients/NuGet.Tools/xlf/NuGetTools.vsct.cs.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,16 @@
<target state="translated">cmdidClearNuGetLocalResources</target>
<note />
</trans-unit>
<trans-unit id="cmdidLaunchPackageManagerUI|ButtonText">
<source>Manage &amp;NuGet Packages...</source>
<target state="new">Manage &amp;NuGet Packages...</target>
<note />
</trans-unit>
<trans-unit id="cmdidLaunchPackageManagerUI|CommandName">
<source>cmdidLaunchPackageManagerUI</source>
<target state="new">cmdidLaunchPackageManagerUI</target>
<note />
</trans-unit>
<trans-unit id="cmdidPowerConsole|ButtonText">
<source>Package Manager C&amp;onsole</source>
<target state="translated">K&amp;onzola Správce balíčků</target>
Expand Down
10 changes: 10 additions & 0 deletions src/NuGet.Clients/NuGet.Tools/xlf/NuGetTools.vsct.de.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,16 @@
<target state="translated">cmdidClearNuGetLocalResources</target>
<note />
</trans-unit>
<trans-unit id="cmdidLaunchPackageManagerUI|ButtonText">
<source>Manage &amp;NuGet Packages...</source>
<target state="new">Manage &amp;NuGet Packages...</target>
<note />
</trans-unit>
<trans-unit id="cmdidLaunchPackageManagerUI|CommandName">
<source>cmdidLaunchPackageManagerUI</source>
<target state="new">cmdidLaunchPackageManagerUI</target>
<note />
</trans-unit>
<trans-unit id="cmdidPowerConsole|ButtonText">
<source>Package Manager C&amp;onsole</source>
<target state="translated">Paket-Manager-K&amp;onsole</target>
Expand Down
10 changes: 10 additions & 0 deletions src/NuGet.Clients/NuGet.Tools/xlf/NuGetTools.vsct.es.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,16 @@
<target state="translated">cmdidClearNuGetLocalResources</target>
<note />
</trans-unit>
<trans-unit id="cmdidLaunchPackageManagerUI|ButtonText">
<source>Manage &amp;NuGet Packages...</source>
<target state="new">Manage &amp;NuGet Packages...</target>
<note />
</trans-unit>
<trans-unit id="cmdidLaunchPackageManagerUI|CommandName">
<source>cmdidLaunchPackageManagerUI</source>
<target state="new">cmdidLaunchPackageManagerUI</target>
<note />
</trans-unit>
<trans-unit id="cmdidPowerConsole|ButtonText">
<source>Package Manager C&amp;onsole</source>
<target state="translated">C&amp;onsola del Administrador de paquetes</target>
Expand Down
10 changes: 10 additions & 0 deletions src/NuGet.Clients/NuGet.Tools/xlf/NuGetTools.vsct.fr.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,16 @@
<target state="translated">cmdidClearNuGetLocalResources</target>
<note />
</trans-unit>
<trans-unit id="cmdidLaunchPackageManagerUI|ButtonText">
<source>Manage &amp;NuGet Packages...</source>
<target state="new">Manage &amp;NuGet Packages...</target>
<note />
</trans-unit>
<trans-unit id="cmdidLaunchPackageManagerUI|CommandName">
<source>cmdidLaunchPackageManagerUI</source>
<target state="new">cmdidLaunchPackageManagerUI</target>
<note />
</trans-unit>
<trans-unit id="cmdidPowerConsole|ButtonText">
<source>Package Manager C&amp;onsole</source>
<target state="translated">C&amp;onsole du Gestionnaire de package</target>
Expand Down
10 changes: 10 additions & 0 deletions src/NuGet.Clients/NuGet.Tools/xlf/NuGetTools.vsct.it.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,16 @@
<target state="translated">cmdidClearNuGetLocalResources</target>
<note />
</trans-unit>
<trans-unit id="cmdidLaunchPackageManagerUI|ButtonText">
<source>Manage &amp;NuGet Packages...</source>
<target state="new">Manage &amp;NuGet Packages...</target>
<note />
</trans-unit>
<trans-unit id="cmdidLaunchPackageManagerUI|CommandName">
<source>cmdidLaunchPackageManagerUI</source>
<target state="new">cmdidLaunchPackageManagerUI</target>
<note />
</trans-unit>
<trans-unit id="cmdidPowerConsole|ButtonText">
<source>Package Manager C&amp;onsole</source>
<target state="translated">C&amp;onsole di Gestione pacchetti</target>
Expand Down
10 changes: 10 additions & 0 deletions src/NuGet.Clients/NuGet.Tools/xlf/NuGetTools.vsct.ja.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,16 @@
<target state="translated">cmdidClearNuGetLocalResources</target>
<note />
</trans-unit>
<trans-unit id="cmdidLaunchPackageManagerUI|ButtonText">
<source>Manage &amp;NuGet Packages...</source>
<target state="new">Manage &amp;NuGet Packages...</target>
<note />
</trans-unit>
<trans-unit id="cmdidLaunchPackageManagerUI|CommandName">
<source>cmdidLaunchPackageManagerUI</source>
<target state="new">cmdidLaunchPackageManagerUI</target>
<note />
</trans-unit>
<trans-unit id="cmdidPowerConsole|ButtonText">
<source>Package Manager C&amp;onsole</source>
<target state="translated">パッケージ マネージャー コンソール(&amp;O)</target>
Expand Down
10 changes: 10 additions & 0 deletions src/NuGet.Clients/NuGet.Tools/xlf/NuGetTools.vsct.ko.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,16 @@
<target state="translated">cmdidClearNuGetLocalResources</target>
<note />
</trans-unit>
<trans-unit id="cmdidLaunchPackageManagerUI|ButtonText">
<source>Manage &amp;NuGet Packages...</source>
<target state="new">Manage &amp;NuGet Packages...</target>
<note />
</trans-unit>
<trans-unit id="cmdidLaunchPackageManagerUI|CommandName">
<source>cmdidLaunchPackageManagerUI</source>
<target state="new">cmdidLaunchPackageManagerUI</target>
<note />
</trans-unit>
<trans-unit id="cmdidPowerConsole|ButtonText">
<source>Package Manager C&amp;onsole</source>
<target state="translated">패키지 관리자 콘솔(&amp;O)</target>
Expand Down
10 changes: 10 additions & 0 deletions src/NuGet.Clients/NuGet.Tools/xlf/NuGetTools.vsct.pl.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,16 @@
<target state="translated">cmdidClearNuGetLocalResources</target>
<note />
</trans-unit>
<trans-unit id="cmdidLaunchPackageManagerUI|ButtonText">
<source>Manage &amp;NuGet Packages...</source>
<target state="new">Manage &amp;NuGet Packages...</target>
<note />
</trans-unit>
<trans-unit id="cmdidLaunchPackageManagerUI|CommandName">
<source>cmdidLaunchPackageManagerUI</source>
<target state="new">cmdidLaunchPackageManagerUI</target>
<note />
</trans-unit>
<trans-unit id="cmdidPowerConsole|ButtonText">
<source>Package Manager C&amp;onsole</source>
<target state="translated">K&amp;onsola menedżera pakietów</target>
Expand Down
10 changes: 10 additions & 0 deletions src/NuGet.Clients/NuGet.Tools/xlf/NuGetTools.vsct.pt-BR.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,16 @@
<target state="translated">cmdidClearNuGetLocalResources</target>
<note />
</trans-unit>
<trans-unit id="cmdidLaunchPackageManagerUI|ButtonText">
<source>Manage &amp;NuGet Packages...</source>
<target state="new">Manage &amp;NuGet Packages...</target>
<note />
</trans-unit>
<trans-unit id="cmdidLaunchPackageManagerUI|CommandName">
<source>cmdidLaunchPackageManagerUI</source>
<target state="new">cmdidLaunchPackageManagerUI</target>
<note />
</trans-unit>
<trans-unit id="cmdidPowerConsole|ButtonText">
<source>Package Manager C&amp;onsole</source>
<target state="translated">C&amp;onsole do Gerenciador de Pacotes</target>
Expand Down
10 changes: 10 additions & 0 deletions src/NuGet.Clients/NuGet.Tools/xlf/NuGetTools.vsct.ru.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,16 @@
<target state="translated">cmdidClearNuGetLocalResources</target>
<note />
</trans-unit>
<trans-unit id="cmdidLaunchPackageManagerUI|ButtonText">
<source>Manage &amp;NuGet Packages...</source>
<target state="new">Manage &amp;NuGet Packages...</target>
<note />
</trans-unit>
<trans-unit id="cmdidLaunchPackageManagerUI|CommandName">
<source>cmdidLaunchPackageManagerUI</source>
<target state="new">cmdidLaunchPackageManagerUI</target>
<note />
</trans-unit>
<trans-unit id="cmdidPowerConsole|ButtonText">
<source>Package Manager C&amp;onsole</source>
<target state="translated">Консол&amp;ь диспетчера пакетов</target>
Expand Down
10 changes: 10 additions & 0 deletions src/NuGet.Clients/NuGet.Tools/xlf/NuGetTools.vsct.tr.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,16 @@
<target state="translated">cmdidClearNuGetLocalResources</target>
<note />
</trans-unit>
<trans-unit id="cmdidLaunchPackageManagerUI|ButtonText">
<source>Manage &amp;NuGet Packages...</source>
<target state="new">Manage &amp;NuGet Packages...</target>
<note />
</trans-unit>
<trans-unit id="cmdidLaunchPackageManagerUI|CommandName">
<source>cmdidLaunchPackageManagerUI</source>
<target state="new">cmdidLaunchPackageManagerUI</target>
<note />
</trans-unit>
<trans-unit id="cmdidPowerConsole|ButtonText">
<source>Package Manager C&amp;onsole</source>
<target state="translated">Paket Yöneticisi &amp;Konsolu</target>
Expand Down
10 changes: 10 additions & 0 deletions src/NuGet.Clients/NuGet.Tools/xlf/NuGetTools.vsct.zh-Hans.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,16 @@
<target state="translated">cmdidClearNuGetLocalResources</target>
<note />
</trans-unit>
<trans-unit id="cmdidLaunchPackageManagerUI|ButtonText">
<source>Manage &amp;NuGet Packages...</source>
<target state="new">Manage &amp;NuGet Packages...</target>
<note />
</trans-unit>
<trans-unit id="cmdidLaunchPackageManagerUI|CommandName">
<source>cmdidLaunchPackageManagerUI</source>
<target state="new">cmdidLaunchPackageManagerUI</target>
<note />
</trans-unit>
<trans-unit id="cmdidPowerConsole|ButtonText">
<source>Package Manager C&amp;onsole</source>
<target state="translated">程序包管理器控制台(&amp;O)</target>
Expand Down
10 changes: 10 additions & 0 deletions src/NuGet.Clients/NuGet.Tools/xlf/NuGetTools.vsct.zh-Hant.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,16 @@
<target state="translated">cmdidClearNuGetLocalResources</target>
<note />
</trans-unit>
<trans-unit id="cmdidLaunchPackageManagerUI|ButtonText">
<source>Manage &amp;NuGet Packages...</source>
<target state="new">Manage &amp;NuGet Packages...</target>
<note />
</trans-unit>
<trans-unit id="cmdidLaunchPackageManagerUI|CommandName">
<source>cmdidLaunchPackageManagerUI</source>
<target state="new">cmdidLaunchPackageManagerUI</target>
<note />
</trans-unit>
<trans-unit id="cmdidPowerConsole|ButtonText">
<source>Package Manager C&amp;onsole</source>
<target state="translated">套件管理器主控台(&amp;O)</target>
Expand Down