Add `vcpkg integrate powershell` for tab completion
MODIFY
src/vcpkg/commands.integrate.cpp
src/vcpkg/commands.integrate.cpp
@@ -324,18 +324,20 @@ With a project open, go to Tools->NuGet Package Manager->Package Manager Console
" vcpkg integrate install Make installed packages available user-wide. Requires admin privileges on "
"first use\n"
" vcpkg integrate remove Remove user-wide integration\n"
- " vcpkg integrate project Generate a referencing nuget package for individual VS project use\n";
+ " vcpkg integrate project Generate a referencing nuget package for individual VS project use\n"
+ " vcpkg integrate powershell Enable PowerShell Tab-Completion\n";
namespace Subcommand
{
static const std::string INSTALL = "install";
static const std::string REMOVE = "remove";
static const std::string PROJECT = "project";
+ static const std::string POWERSHELL = "powershell";
}
static std::vector<std::string> valid_arguments(const VcpkgPaths&)
{
- return {Subcommand::INSTALL, Subcommand::REMOVE, Subcommand::PROJECT};
+ return {Subcommand::INSTALL, Subcommand::REMOVE, Subcommand::PROJECT, Subcommand::POWERSHELL};
}
const CommandStructure COMMAND_STRUCTURE = {
@@ -365,6 +367,12 @@ With a project open, go to Tools->NuGet Package Manager->Package Manager Console
{
return integrate_project(paths);
}
+ if (args.command_arguments[0] == Subcommand::POWERSHELL)
+ {
+ System::powershell_execute("PowerShell Tab-Completion",
+ paths.scripts / "addPoshVcpkgToPowershellProfile.ps1");
+ Checks::exit_success(VCPKG_LINE_INFO);
+ }
#endif
Checks::exit_with_message(VCPKG_LINE_INFO, "Unknown parameter %s for integrate", args.command_arguments[0]);

Add `vcpkg integrate powershell` for tab completion