diff --git a/src/cascadia/TerminalSettingsModel/Microsoft.Terminal.Settings.ModelLib.vcxproj b/src/cascadia/TerminalSettingsModel/Microsoft.Terminal.Settings.ModelLib.vcxproj index a5d82e34d..60de4fd1c 100644 --- a/src/cascadia/TerminalSettingsModel/Microsoft.Terminal.Settings.ModelLib.vcxproj +++ b/src/cascadia/TerminalSettingsModel/Microsoft.Terminal.Settings.ModelLib.vcxproj @@ -14,7 +14,6 @@ - DefaultTerminal.idl @@ -85,7 +84,6 @@ - DefaultTerminal.idl @@ -267,4 +265,4 @@ - \ No newline at end of file + diff --git a/src/cascadia/TerminalSettingsModel/Microsoft.Terminal.Settings.ModelLib.vcxproj.filters b/src/cascadia/TerminalSettingsModel/Microsoft.Terminal.Settings.ModelLib.vcxproj.filters index 873dcb28c..a99f5e654 100644 --- a/src/cascadia/TerminalSettingsModel/Microsoft.Terminal.Settings.ModelLib.vcxproj.filters +++ b/src/cascadia/TerminalSettingsModel/Microsoft.Terminal.Settings.ModelLib.vcxproj.filters @@ -46,9 +46,6 @@ profileGeneration - - profileGeneration - @@ -95,9 +92,6 @@ profileGeneration - - profileGeneration - @@ -129,4 +123,4 @@ {81a6314f-aa5b-4533-a499-13bc3a5c4af0} - \ No newline at end of file + diff --git a/src/cascadia/TerminalSettingsModel/VcDevCmdGenerator.cpp b/src/cascadia/TerminalSettingsModel/VcDevCmdGenerator.cpp deleted file mode 100644 index 633e5b94c..000000000 --- a/src/cascadia/TerminalSettingsModel/VcDevCmdGenerator.cpp +++ /dev/null @@ -1,94 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -#include "pch.h" -#include "DynamicProfileUtils.h" -#include "VcDevCmdGenerator.h" - -using namespace winrt::Microsoft::Terminal::Settings::Model; - -void VcDevCmdGenerator::GenerateProfiles(const VsSetupConfiguration::VsSetupInstance& instance, bool hidden, std::vector>& profiles) const -{ - try - { - const std::filesystem::path root{ GetVcCmdScriptDirectory(instance) }; - if (!std::filesystem::exists(root)) - { - return; - } - -// x64 environments only installed on 64-bit machines. -#ifdef _WIN64 - const auto vcvars64 = root / L"vcvars64.bat"; - if (std::filesystem::exists(vcvars64)) - { - auto profile = CreateProfile(instance, L"x64", vcvars64, hidden); - profiles.emplace_back(std::move(profile)); - - // Only the VC environment for the matching architecture should be shown by default. - hidden = true; - } - - const auto vcvarsamd64_x86 = root / L"vcvarsamd64_x86.bat"; - if (std::filesystem::exists(vcvarsamd64_x86)) - { - auto profile = CreateProfile(instance, L"x64_x86", vcvarsamd64_x86, true); - profiles.emplace_back(std::move(profile)); - } - - const auto vcvarsx86_amd64 = root / L"vcvarsx86_amd64.bat"; - if (std::filesystem::exists(vcvarsx86_amd64)) - { - auto profile = CreateProfile(instance, L"x86_x64", vcvarsx86_amd64, true); - profiles.emplace_back(std::move(profile)); - } -#endif // _WIN64 - - const auto vcvars32 = root / L"vcvars32.bat"; - if (std::filesystem::exists(vcvars32)) - { - auto profile = CreateProfile(instance, L"x86", vcvars32, hidden); - profiles.emplace_back(std::move(profile)); - } - } - CATCH_LOG(); -} - -winrt::com_ptr VcDevCmdGenerator::CreateProfile(const VsSetupConfiguration::VsSetupInstance& instance, const std::wstring_view& prefix, const std::filesystem::path& path, bool hidden) const -{ - const auto seed = GetProfileGuidSeed(instance, path); - const winrt::guid profileGuid{ ::Microsoft::Console::Utils::CreateV5Uuid(TERMINAL_PROFILE_NAMESPACE_GUID, gsl::as_bytes(gsl::make_span(seed))) }; - - auto profile = winrt::make_self(profileGuid); - profile->Name(winrt::hstring{ GetProfileName(instance, prefix) }); - profile->Commandline(winrt::hstring{ GetProfileCommandLine(path) }); - profile->StartingDirectory(winrt::hstring{ instance.GetInstallationPath() }); - profile->Icon(winrt::hstring{ GetProfileIconPath() }); - profile->Hidden(hidden); - - return profile; -} - -std::wstring VcDevCmdGenerator::GetProfileGuidSeed(const VsSetupConfiguration::VsSetupInstance& instance, const std::filesystem::path& path) const -{ - return L"VsDevCmd" + instance.GetInstanceId() + path.native(); -} - -std::wstring VcDevCmdGenerator::GetProfileName(const VsSetupConfiguration::VsSetupInstance& instance, const std::wstring_view& prefix) const -{ - std::wstring name{ prefix + L" Native Tools Command Prompt for VS " }; - name.append(instance.GetProfileNameSuffix()); - return name; -} - -std::wstring VcDevCmdGenerator::GetProfileCommandLine(const std::filesystem::path& path) const -{ - std::wstring commandLine{ L"cmd.exe /k \"" + path.native() + L"\"" }; - - return commandLine; -} - -std::wstring VcDevCmdGenerator::GetVcCmdScriptDirectory(const VsSetupConfiguration::VsSetupInstance& instance) const -{ - return instance.ResolvePath(L"VC\\Auxiliary\\Build\\"); -} diff --git a/src/cascadia/TerminalSettingsModel/VcDevCmdGenerator.h b/src/cascadia/TerminalSettingsModel/VcDevCmdGenerator.h deleted file mode 100644 index 8e30cf28b..000000000 --- a/src/cascadia/TerminalSettingsModel/VcDevCmdGenerator.h +++ /dev/null @@ -1,40 +0,0 @@ -/*++ -Copyright (c) Microsoft Corporation -Licensed under the MIT license. - -Module Name: -- VcDevCmdGenerator - -Abstract: -- Dynamic profile generator for Visual C++ development environments. - -Author(s): -- Heath Stewart - September 2021 - ---*/ - -#pragma once -#include "VisualStudioGenerator.h" -#include "VsSetupConfiguration.h" - -namespace winrt::Microsoft::Terminal::Settings::Model -{ - class VcDevCmdGenerator final : public VisualStudioGenerator::IVisualStudioProfileGenerator - { - public: - void GenerateProfiles(const VsSetupConfiguration::VsSetupInstance& instance, bool hidden, std::vector>& profiles) const override; - - private: - winrt::com_ptr CreateProfile(const VsSetupConfiguration::VsSetupInstance& instance, const std::wstring_view& prefix, const std::filesystem::path& path, bool hidden) const; - - std::wstring GetProfileIconPath() const - { - return L"ms-appx:///ProfileIcons/{0caa0dad-35be-5f56-a8ff-afceeeaa6101}.png"; - } - - std::wstring GetProfileGuidSeed(const VsSetupConfiguration::VsSetupInstance& instance, const std::filesystem::path& path) const; - std::wstring GetProfileName(const VsSetupConfiguration::VsSetupInstance& instance, const std::wstring_view& prefix) const; - std::wstring GetProfileCommandLine(const std::filesystem::path& path) const; - std::wstring GetVcCmdScriptDirectory(const VsSetupConfiguration::VsSetupInstance& instance) const; - }; -}; diff --git a/src/cascadia/TerminalSettingsModel/VisualStudioGenerator.cpp b/src/cascadia/TerminalSettingsModel/VisualStudioGenerator.cpp index 9e883205e..2c1069b3f 100644 --- a/src/cascadia/TerminalSettingsModel/VisualStudioGenerator.cpp +++ b/src/cascadia/TerminalSettingsModel/VisualStudioGenerator.cpp @@ -4,7 +4,6 @@ #include "pch.h" #include "DynamicProfileUtils.h" #include "VisualStudioGenerator.h" -#include "VcDevCmdGenerator.h" #include "VsDevCmdGenerator.h" #include "VsDevShellGenerator.h" @@ -20,7 +19,6 @@ void VisualStudioGenerator::GenerateProfiles(std::vector