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.CodeDom.Compiler;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
using EnvDTE;
|
||||||
|
using Microsoft.VisualStudio.Shell;
|
||||||
|
using Microsoft.VisualStudio.Shell.Interop;
|
||||||
|
|
||||||
namespace ChristianHelle.DeveloperTools.CodeGenerators.Resw.VSPackage.CustomTool
|
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)
|
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
|
public enum VisualStudioVersion
|
||||||
{
|
{
|
||||||
VS2012,
|
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
|
// You can specify all the values or you can default the Revision and Build Numbers
|
||||||
// by using the '*' as shown below:
|
// 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_IntegrationTests, PublicKey=002400000480000094000000060200000024000052534131000400000100010045bd05a5b24c74b83f069df52e138682c2fb8b1ee65cb9d351fd7e8d622308aeb588b2a2975d75da4fe8a392510528baa26a3317809ec064d3cc852f0df94752ad2228d9f2a048ee2858c1e9d505b05f7fb4ede02f34154f75ea50445741c84f5ab1c814358f5fd6a6f08bb3d94284cff0524d5ca9d888c8648bcbc7a1e0a3c8")]
|
||||||
[assembly: InternalsVisibleTo("VSPackage_UnitTests, PublicKey=002400000480000094000000060200000024000052534131000400000100010045bd05a5b24c74b83f069df52e138682c2fb8b1ee65cb9d351fd7e8d622308aeb588b2a2975d75da4fe8a392510528baa26a3317809ec064d3cc852f0df94752ad2228d9f2a048ee2858c1e9d505b05f7fb4ede02f34154f75ea50445741c84f5ab1c814358f5fd6a6f08bb3d94284cff0524d5ca9d888c8648bcbc7a1e0a3c8")]
|
[assembly: InternalsVisibleTo("VSPackage_UnitTests, PublicKey=002400000480000094000000060200000024000052534131000400000100010045bd05a5b24c74b83f069df52e138682c2fb8b1ee65cb9d351fd7e8d622308aeb588b2a2975d75da4fe8a392510528baa26a3317809ec064d3cc852f0df94752ad2228d9f2a048ee2858c1e9d505b05f7fb4ede02f34154f75ea50445741c84f5ab1c814358f5fd6a6f08bb3d94284cff0524d5ca9d888c8648bcbc7a1e0a3c8")]
|
||||||
|
|||||||
@@ -1,14 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?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>
|
<root>
|
||||||
<!--
|
<!--
|
||||||
Microsoft ResX Schema
|
Microsoft ResX Schema
|
||||||
@@ -127,13 +117,13 @@
|
|||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</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">
|
<data name="110" xml:space="preserve">
|
||||||
<value>ResW File Code Generator</value>
|
<value>ResW File Code Generator</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="112" xml:space="preserve">
|
<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>
|
</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">
|
<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>
|
<value>Resources\Package.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
+1
@@ -66,6 +66,7 @@
|
|||||||
<Compile Include="SignOff-Tests\CSharpProjectTests.cs" />
|
<Compile Include="SignOff-Tests\CSharpProjectTests.cs" />
|
||||||
<Compile Include="SignOff-Tests\SolutionTests.cs" />
|
<Compile Include="SignOff-Tests\SolutionTests.cs" />
|
||||||
<Compile Include="SignOff-Tests\VBProjectTests.cs" />
|
<Compile Include="SignOff-Tests\VBProjectTests.cs" />
|
||||||
|
<Compile Include="VisualStudioVersionHelperTests.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="Key.snk" />
|
<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">
|
xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011">
|
||||||
<Metadata>
|
<Metadata>
|
||||||
<Identity Id="6a4c1726-440f-4b2d-a2e5-711277da6099"
|
<Identity Id="6a4c1726-440f-4b2d-a2e5-711277da6099"
|
||||||
Version="1.1"
|
Version="1.3"
|
||||||
Language="en-US"
|
Language="en-US"
|
||||||
Publisher="Christian Resma Helle" />
|
Publisher="Christian Resma Helle" />
|
||||||
<DisplayName>ResW File Code Generator</DisplayName>
|
<DisplayName>ResW File Code Generator</DisplayName>
|
||||||
|
|||||||
Reference in New Issue
Block a user