Add support for detecting the Visual Studio version
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
using System.CodeDom;
|
||||
using System;
|
||||
using System.CodeDom.Compiler;
|
||||
using System.Reflection;
|
||||
using EnvDTE;
|
||||
using Microsoft.VisualStudio.Shell;
|
||||
using Microsoft.VisualStudio.Shell.Interop;
|
||||
|
||||
namespace ChristianHelle.DeveloperTools.CodeGenerators.Resw.VSPackage.CustomTool
|
||||
{
|
||||
@@ -8,7 +11,23 @@ namespace ChristianHelle.DeveloperTools.CodeGenerators.Resw.VSPackage.CustomTool
|
||||
{
|
||||
public ICodeGenerator Create(string className, string defaultNamespace, string inputFileContents, CodeDomProvider codeDomProvider = null, TypeAttributes? classAccessibility = null)
|
||||
{
|
||||
return new CodeDomCodeGenerator(new ResourceParser(inputFileContents), className, defaultNamespace, codeDomProvider, classAccessibility);
|
||||
return new CodeDomCodeGenerator(new ResourceParser(inputFileContents), className, defaultNamespace, codeDomProvider, classAccessibility, VisualStudioHelper.GetVersion());
|
||||
}
|
||||
}
|
||||
|
||||
public static class VisualStudioHelper
|
||||
{
|
||||
public static VisualStudioVersion GetVersion()
|
||||
{
|
||||
var dte = Package.GetGlobalService(typeof(SDTE)) as DTE;
|
||||
var vsVersion = VisualStudioVersion.VS2012;
|
||||
if (dte != null)
|
||||
{
|
||||
Version dteVersion;
|
||||
if (Version.TryParse(dte.Version, out dteVersion) && dteVersion >= new Version(12, 0))
|
||||
vsVersion = VisualStudioVersion.VS2013;
|
||||
}
|
||||
return vsVersion;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ namespace ChristianHelle.DeveloperTools.CodeGenerators.Resw.VSPackage.CustomTool
|
||||
public enum VisualStudioVersion
|
||||
{
|
||||
VS2012,
|
||||
VS2013
|
||||
VS2013,
|
||||
Unknown
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user