EnvDTE.Client/Impl/ProjectModelImpl/PropertyImpl/PropertyInfo/VisualStudioProperties.Project.cs (74 lines of code) (raw):
using System;
using System.Collections.Generic;
namespace JetBrains.EnvDTE.Client.Impl.ProjectModelImpl.PropertyImpl.PropertyInfo;
// TODO: Improve support for C++ project properties
internal static partial class VisualStudioProperties
{
internal static readonly IReadOnlyDictionary<string, StringPropertyInfo> ProjectPropertiesMap =
new Dictionary<string, StringPropertyInfo>
{
["ApplicationIcon"] = new("ApplicationIcon", "ApplicationIcon", false),
["ApplicationManifest"] = new("ApplicationManifest", "ApplicationManifest", false),
["AssemblyName"] = new("AssemblyName", "AssemblyName", false),
["AssemblyOriginatorKeyFile"] = new("AssemblyOriginatorKeyFile", "AssemblyOriginatorKeyFile", false),
["AssemblyVersion"] = new("AssemblyVersion", "AssemblyVersion", false),
["Authors"] = new("Authors", "Authors", false),
["AutoGenerateBindingRedirects"] = new BoolPropertyInfo("AutoGenerateBindingRedirects", "AutoGenerateBindingRedirects", false),
["AuthenticationMode"] = new EnumPropertyInfo("AuthenticationMode", "AuthenticationMode", false, new (["None", "Windows"], StringComparer.OrdinalIgnoreCase)),
["CanUseTargetFSharpCoreVersion"] = new BoolPropertyInfo("CanUseTargetFSharpCoreVersion", "CanUseTargetFSharpCoreVersion", false),
["Company"] = new("Company", "Company", false),
["Copyright"] = new("Copyright", "Copyright", false),
["DefaultNamespace"] = new("DefaultNamespace", "RootNamespace", false),
["DelaySign"] = new BoolPropertyInfo("DelaySign", "DelaySign", false),
["Description"] = new("Description", "Description", false),
["FileName"] = new("FileName", "MSBuildProjectFile", true),
["FileVersion"] = new("FileVersion", "FileVersion", false),
["FullPath"] = new("FullPath", "MSBuildProjectDirectory", true),
["FullProjectFileName"] = new("FullProjectFileName", "MSBuildProjectFullPath", true),
["GenerateAssemblyInfo"] = new BoolPropertyInfo("GenerateAssemblyInfo", "GenerateAssemblyInfo", false),
["GeneratePackageOnBuild"] = new BoolPropertyInfo("GeneratePackageOnBuild", "GeneratePackageOnBuild", false),
["LocalPath"] = new("LocalPath", "MSBuildProjectDirectory", true),
["MyType"] = new("MyType", "MyType", false),
["Name"] = new("Name", "Name", false),
["NeutralLanguage"] = new("NeutralLanguage", "NeutralLanguage", false),
["OutputFileName"] = new("OutputFileName", "TargetFileName", true),
["OutputName"] = new("OutputName", "OutputName", false),
["OutputType"] = new MappedPropertyInfo<int>("OutputType", "OutputType", false, [(0, "WinExe"), (1, "Exe"), (2, "Library")]),
["OutputTypeEx"] = new MappedPropertyInfo<int>("OutputTypeEx", "OutputType", false, [(0, "WinExe"), (1, "Exe"), (2, "Library"), (3, "WinMDObj"), (4, "AppContainerExe")]),
["PackageIconUrl"] = new("PackageIconUrl", "PackageIconUrl", false),
["PackageIcon"] = new("PackageIcon", "PackageIcon", false),
["PackageId"] = new("PackageId", "PackageId", false),
["PackageLicenseExpression"] = new("PackageLicenseExpression", "PackageLicenseExpression", false),
["PackageLicenseFile"] = new("PackageLicenseFile", "PackageLicenseFile", false),
["PackageLicenseUrl"] = new("PackageLicenseUrl", "PackageLicenseUrl", false),
["PackageProjectUrl"] = new("PackageProjectUrl", "PackageProjectUrl", false),
["PackageReleaseNotes"] = new("PackageReleaseNotes", "PackageReleaseNotes", false),
["PackageRequireLicenseAcceptance"] = new BoolPropertyInfo("PackageRequireLicenseAcceptance", "PackageRequireLicenseAcceptance", false),
["PackageTags"] = new("PackageTags", "PackageTags", false),
["PostBuildEvent"] = new("PostBuildEvent", "PostBuildEvent", false),
["PreBuildEvent"] = new("PreBuildEvent", "PreBuildEvent", false),
["Product"] = new("Product", "Product", false),
["ReferencePath"] = new("ReferencePath", "ReferencePath", false),
["RepositoryType"] = new("RepositoryType", "RepositoryType", false),
["RepositoryUrl"] = new("RepositoryUrl", "RepositoryUrl", false),
["RootNamespace"] = new("RootNamespace", "RootNamespace", false),
["RunPostBuildEvent"] = new EnumPropertyInfo("RunPostBuildEvent", "RunPostBuildEvent", false, new (["Always", "OnBuildSuccess", "OnOutputUpdated"], StringComparer.OrdinalIgnoreCase)),
["SignAssembly"] = new BoolPropertyInfo("SignAssembly", "SignAssembly", false),
["StartupObject"] = new ("StartupObject", "StartupObject", false),
["SupportedTargetFrameworks"] = new ("SupportedTargetFrameworks", "SupportedTargetFrameworks", false),
// TODO: Figure out how they calculate this property
["TargetFramework"] = new ("TargetFramework", "TargetFramework", true),
["FriendlyTargetFramework"] = new("FriendlyTargetFramework", "TargetFramework", false),
["TargetFrameworkMoniker"] = new("TargetFrameworkMoniker", "TargetFrameworkMoniker", false),
["TargetFrameworkMonikers"] = new("TargetFrameworkMonikers", "TargetFrameworkMonikers", true),
["TargetFrameworks"] = new("TargetFrameworks", "TargetFrameworks", false),
["TargetFSharpCoreVersion"] = new("TargetFSharpCoreVersion", "TargetFSharpCoreVersion", false),
["ActiveDebugProfile"] = new("ActiveDebugProfile", "ActiveDebugProfile", false),
["URL"] = new("URL", "MSBuildProjectFullPath", true),
["Version"] = new("Version", "Version", false),
["Win32ResourceFile"] = new("Win32ResourceFile", "Win32Resource", false),
["RunAnalyzersDuringBuild"] = new BoolPropertyInfo("RunAnalyzersDuringBuild", "RunAnalyzersDuringBuild", false),
["RunAnalyzersDuringLiveAnalysis"] = new BoolPropertyInfo("RunAnalyzersDuringLiveAnalysis", "RunAnalyzersDuringLiveAnalysis", false),
["EnableNETAnalyzers"] = new BoolPropertyInfo("EnableNETAnalyzers", "EnableNETAnalyzers", false),
["AnalysisLevel"] = new("AnalysisLevel", "AnalysisLevel", false),
["EnforceCodeStyleInBuild"] = new BoolPropertyInfo("EnforceCodeStyleInBuild", "EnforceCodeStyleInBuild", false),
};
}