Skip to content

Commit

Permalink
fix quick info bug and add support for VS2013
Browse files Browse the repository at this point in the history
fix quick info bug and add support for VS2013
  • Loading branch information
wudixiaop committed Sep 5, 2014
1 parent 21a386b commit 4f47002
Show file tree
Hide file tree
Showing 5 changed files with 38 additions and 24 deletions.
7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,19 @@ A Visual Studio Plugin for Unity3D Shader.

####Features:
* Syntax Hightlighting [**Done**]
* Quickinfo [*Working on...*]
* Quickinfo [**Done**]
* Code Completion [*Working on*]

####How to build:
1. Download Visual Studio 2012 SDK from [Here](http://www.microsoft.com/en-us/download/details.aspx?id=30668)
1. Download Visual Studio SDK
2. Install the SDK
3. Open ShaderlabVS solution
4. Press *F6* to build solution


####Support Visual Studio Version:
* Visual Studio 2012

* Visual Studio 2013



Expand Down
19 changes: 11 additions & 8 deletions Src/ShaderlabVS.Data/ShaderlabDataManager.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;

Expand Down Expand Up @@ -69,24 +71,25 @@ public static ShaderlabDataManager Instance

private ShaderlabDataManager()
{
HLSLCGFunctions = DefinationDataProvider<HLSLCGFunction>.ProvideFromFile(ShaderlabDataManager.HLSL_CG_FUNCTION_DEFINATIONFILE);
string currentAssemblyDir = (new FileInfo(Assembly.GetExecutingAssembly().CodeBase.Substring(8))).DirectoryName;
HLSLCGFunctions = DefinationDataProvider<HLSLCGFunction>.ProvideFromFile(Path.Combine(currentAssemblyDir, ShaderlabDataManager.HLSL_CG_FUNCTION_DEFINATIONFILE));

List<HLSLCGKeywords> hlslcgKeywords = DefinationDataProvider<HLSLCGKeywords>.ProvideFromFile(ShaderlabDataManager.HLSL_CG_KEYWORD_DEFINATIONFILE);
List<HLSLCGKeywords> hlslcgKeywords = DefinationDataProvider<HLSLCGKeywords>.ProvideFromFile(Path.Combine(currentAssemblyDir, ShaderlabDataManager.HLSL_CG_KEYWORD_DEFINATIONFILE));
HLSLCGBlockKeywords = GetHLSLCGKeywordsByType(hlslcgKeywords, "block");
HLSLCGNonblockKeywords = GetHLSLCGKeywordsByType(hlslcgKeywords, "nonblock");
HLSLCGSpecialKeywords = GetHLSLCGKeywordsByType(hlslcgKeywords, "special");

var dts = DefinationDataProvider<HLSLCGDataTypes>.ProvideFromFile(ShaderlabDataManager.HLSL_CG_DATATYPE_DEFINATIONFILE).First();
var dts = DefinationDataProvider<HLSLCGDataTypes>.ProvideFromFile(Path.Combine(currentAssemblyDir, ShaderlabDataManager.HLSL_CG_DATATYPE_DEFINATIONFILE)).First();
if (dts != null)
{
HLSLCGDatatypes = dts.DataTypes;
}

UnityBuiltinDatatypes = DefinationDataProvider<UnityBuiltinDatatype>.ProvideFromFile(ShaderlabDataManager.UNITY3D_DATATYPE_DEFINATIONFILE);
UnityBuiltinFunctions = DefinationDataProvider<UnityBuiltinFunction>.ProvideFromFile(ShaderlabDataManager.UNITY3D_FUNCTION_DEFINATIONFILE);
UnityBuiltinMacros = DefinationDataProvider<UnityBuiltinMacros>.ProvideFromFile(ShaderlabDataManager.UNITY3D_MACROS_DEFINATIONFILE);
UnityBuiltinValues = DefinationDataProvider<UnityBuiltinValue>.ProvideFromFile(ShaderlabDataManager.UNITY3D_VALUES_DEFINATIONFILE);
UnityKeywords = DefinationDataProvider<UnityKeywords>.ProvideFromFile(ShaderlabDataManager.UNITY3D_KEYWORD_DEFINATIONFILE);
UnityBuiltinDatatypes = DefinationDataProvider<UnityBuiltinDatatype>.ProvideFromFile(Path.Combine(currentAssemblyDir, ShaderlabDataManager.UNITY3D_DATATYPE_DEFINATIONFILE));
UnityBuiltinFunctions = DefinationDataProvider<UnityBuiltinFunction>.ProvideFromFile(Path.Combine(currentAssemblyDir, ShaderlabDataManager.UNITY3D_FUNCTION_DEFINATIONFILE));
UnityBuiltinMacros = DefinationDataProvider<UnityBuiltinMacros>.ProvideFromFile(Path.Combine(currentAssemblyDir, ShaderlabDataManager.UNITY3D_MACROS_DEFINATIONFILE));
UnityBuiltinValues = DefinationDataProvider<UnityBuiltinValue>.ProvideFromFile(Path.Combine(currentAssemblyDir, ShaderlabDataManager.UNITY3D_VALUES_DEFINATIONFILE));
UnityKeywords = DefinationDataProvider<UnityKeywords>.ProvideFromFile(Path.Combine(currentAssemblyDir, ShaderlabDataManager.UNITY3D_KEYWORD_DEFINATIONFILE));

}

Expand Down
2 changes: 1 addition & 1 deletion Src/ShaderlabVS/ShaderlabQuickInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ void textView_MouseHover(object sender, MouseHoverEventArgs e)

if (!controllerProvider.QuickInfoBroker.IsQuickInfoActive(this.textView))
{
quickInfoSession = controllerProvider.QuickInfoBroker.CreateQuickInfoSession(textView, point, true);
quickInfoSession = controllerProvider.QuickInfoBroker.TriggerQuickInfo(textView, point, true);
}
}
}
Expand Down
24 changes: 16 additions & 8 deletions Src/ShaderlabVS/ShaderlabVS.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -88,28 +88,36 @@
</ItemGroup>
<ItemGroup>
<Content Include="Data\HLSL_CG_datatype.def">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<IncludeInVSIX>true</IncludeInVSIX>
</Content>
<Content Include="Data\HLSL_CG_functions.def">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<IncludeInVSIX>true</IncludeInVSIX>
</Content>
<Content Include="Data\HLSL_CG_Keywords.def">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<IncludeInVSIX>true</IncludeInVSIX>
</Content>
<Content Include="Data\Unity3D_functions.def">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<IncludeInVSIX>true</IncludeInVSIX>
</Content>
<Content Include="Data\Unity3D_keywords.def">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<IncludeInVSIX>true</IncludeInVSIX>
</Content>
<Content Include="Data\Unity3D_macros.def">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<IncludeInVSIX>true</IncludeInVSIX>
</Content>
<Content Include="Data\Unity3D_values.def">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<IncludeInVSIX>true</IncludeInVSIX>
</Content>
<Content Include="Data\Unity3D_datatype.def">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<IncludeInVSIX>true</IncludeInVSIX>
</Content>
<Content Include="gplex.exe" />
</ItemGroup>
Expand Down
10 changes: 6 additions & 4 deletions Src/ShaderlabVS/source.extension.vsixmanifest
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011" xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011">
<Metadata>
<Identity Id="ShaderlabVS..c702cfb7-573c-45f4-9469-115fcb519ad2" Version="0.1" Language="en-US" Publisher="Rocky Lai" />
<Identity Id="ShaderlabVS..c702cfb7-573c-45f4-9469-115fcb519ad2" Version="0.2" Language="en-US" Publisher="Rocky Lai" />
<DisplayName>ShaderlabVS</DisplayName>
<Description xml:space="preserve">A Visual Studo plugin for Unity3D shader</Description>
</Metadata>
<Installation>
<InstallationTarget Id="Microsoft.VisualStudio.Pro" Version="11.0" />
<InstallationTarget Version="[11.0,12.0)" Id="Microsoft.VisualStudio.VSWinExpress" />
<InstallationTarget Version="[11.0,12.0)" Id="Microsoft.VisualStudio.Ultimate" />
<InstallationTarget Id="Microsoft.VisualStudio.Pro" Version="[11.0, 12.0]" />
<InstallationTarget Version="[11.0,12.0]" Id="Microsoft.VisualStudio.VSWinExpress" />
<InstallationTarget Version="[11.0,12.0]" Id="Microsoft.VisualStudio.Ultimate" />
<InstallationTarget Version="[11.0,12.0]" Id="Microsoft.VisualStudio.Premium" />
<InstallationTarget Version="[11.0,12.0]" Id="Microsoft.VisualStudio.VSWinDesktopExpress" />
</Installation>
<Dependencies>
<Dependency Id="Microsoft.Framework.NDP" DisplayName="Microsoft .NET Framework" d:Source="Manual" Version="4.5" />
Expand Down

0 comments on commit 4f47002

Please sign in to comment.