Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 072e33e997 | |||
| 8002e34eca | |||
| d189fb69d6 | |||
| ebb510ea2e |
@@ -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
|
||||
}
|
||||
}
|
||||
@@ -29,7 +29,7 @@ using System.Runtime.InteropServices;
|
||||
// You can specify all the values or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
|
||||
[assembly: AssemblyVersion("1.2.0.*")]
|
||||
[assembly: AssemblyVersion("1.3.0.*")]
|
||||
|
||||
[assembly: InternalsVisibleTo("VSPackage_IntegrationTests, PublicKey=002400000480000094000000060200000024000052534131000400000100010045bd05a5b24c74b83f069df52e138682c2fb8b1ee65cb9d351fd7e8d622308aeb588b2a2975d75da4fe8a392510528baa26a3317809ec064d3cc852f0df94752ad2228d9f2a048ee2858c1e9d505b05f7fb4ede02f34154f75ea50445741c84f5ab1c814358f5fd6a6f08bb3d94284cff0524d5ca9d888c8648bcbc7a1e0a3c8")]
|
||||
[assembly: InternalsVisibleTo("VSPackage_UnitTests, PublicKey=002400000480000094000000060200000024000052534131000400000100010045bd05a5b24c74b83f069df52e138682c2fb8b1ee65cb9d351fd7e8d622308aeb588b2a2975d75da4fe8a392510528baa26a3317809ec064d3cc852f0df94752ad2228d9f2a048ee2858c1e9d505b05f7fb4ede02f34154f75ea50445741c84f5ab1c814358f5fd6a6f08bb3d94284cff0524d5ca9d888c8648bcbc7a1e0a3c8")]
|
||||
|
||||
@@ -1,14 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
VS SDK Notes: This resx file contains the resources that will be consumed from your package by Visual Studio.
|
||||
For example, Visual Studio will attempt to load resource '400' from this resource stream when it needs to
|
||||
load your package's icon. Because Visual Studio will always look in the VSPackage.resources stream first for
|
||||
resources it needs, you should put additional resources that Visual Studio will load directly into this resx
|
||||
file.
|
||||
|
||||
Resources that you would like to access directly from your package in a strong-typed fashion should be stored
|
||||
in Resources.resx or another resx file.
|
||||
-->
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
@@ -127,13 +117,13 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="110" xml:space="preserve">
|
||||
<value>ResW File Code Generator</value>
|
||||
</data>
|
||||
<data name="112" xml:space="preserve">
|
||||
<value>Information about my packageA Visual Studio 2012 Custom Tool for generating a strongly typed helper class for accessing localized resources from a .ResW file.</value>
|
||||
<value>A Visual Studio 2012 and 2013 Custom Tool for generating a strongly typed helper class for accessing localized resources from a .ResW file.</value>
|
||||
</data>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="400" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>Resources\Package.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
|
||||
+1
@@ -66,6 +66,7 @@
|
||||
<Compile Include="SignOff-Tests\CSharpProjectTests.cs" />
|
||||
<Compile Include="SignOff-Tests\SolutionTests.cs" />
|
||||
<Compile Include="SignOff-Tests\VBProjectTests.cs" />
|
||||
<Compile Include="VisualStudioVersionHelperTests.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Key.snk" />
|
||||
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
using ChristianHelle.DeveloperTools.CodeGenerators.Resw.VSPackage.CustomTool;
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
|
||||
namespace VSPackage_IntegrationTests
|
||||
{
|
||||
[TestClass]
|
||||
public class VisualStudioHelperTests
|
||||
{
|
||||
[TestMethod]
|
||||
public void GetVersionTests()
|
||||
{
|
||||
var actual = VisualStudioHelper.GetVersion();
|
||||
Assert.AreNotEqual(VisualStudioVersion.Unknown, actual);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011">
|
||||
<Metadata>
|
||||
<Identity Id="6a4c1726-440f-4b2d-a2e5-711277da6099"
|
||||
Version="1.1"
|
||||
Version="1.3"
|
||||
Language="en-US"
|
||||
Publisher="Christian Resma Helle" />
|
||||
<DisplayName>ResW File Code Generator</DisplayName>
|
||||
|
||||
Reference in New Issue
Block a user