From 8540013ed53f47aeb604eabf1e80f0b96d2464c4 Mon Sep 17 00:00:00 2001 From: seonghwan-dev <79823287+seonghwan-dev@users.noreply.github.com> Date: Sun, 25 Apr 2021 17:19:57 +0900 Subject: [PATCH] Add files via upload --- .../OpenInclude.Utility.csproj | 49 +++++ .../Properties/AssemblyInfo.cs | 36 +++ OpenInclude.Utility/UnityInclude.cs | 54 +++++ OpenInclude.Utility/UnityPath.cs | 73 +++++++ OpenInclude/OpenInclude.cs | 206 ++++++++++++++++++ OpenInclude/OpenInclude.csproj | 95 ++++++++ OpenInclude/OpenIncludePackage.cs | 53 +++++ .../OpenIncludeSuggestedActionSource.cs | 96 ++++++++ OpenInclude/Properties/AssemblyInfo.cs | 33 +++ OpenInclude/calcifer_square.png | Bin 0 -> 107639 bytes OpenInclude/source.extension.vsixmanifest | 22 ++ ShaderlabAlmighty.sln | 37 ++++ ShaderlabAlmighty/Properties/AssemblyInfo.cs | 33 +++ ShaderlabAlmighty/ShaderlabAlmighty.csproj | 72 ++++++ ShaderlabAlmighty/ShaderlabAlmightyPackage.cs | 53 +++++ .../source.extension.vsixmanifest | 20 ++ 16 files changed, 932 insertions(+) create mode 100644 OpenInclude.Utility/OpenInclude.Utility.csproj create mode 100644 OpenInclude.Utility/Properties/AssemblyInfo.cs create mode 100644 OpenInclude.Utility/UnityInclude.cs create mode 100644 OpenInclude.Utility/UnityPath.cs create mode 100644 OpenInclude/OpenInclude.cs create mode 100644 OpenInclude/OpenInclude.csproj create mode 100644 OpenInclude/OpenIncludePackage.cs create mode 100644 OpenInclude/OpenIncludeSuggestedActionSource.cs create mode 100644 OpenInclude/Properties/AssemblyInfo.cs create mode 100644 OpenInclude/calcifer_square.png create mode 100644 OpenInclude/source.extension.vsixmanifest create mode 100644 ShaderlabAlmighty.sln create mode 100644 ShaderlabAlmighty/Properties/AssemblyInfo.cs create mode 100644 ShaderlabAlmighty/ShaderlabAlmighty.csproj create mode 100644 ShaderlabAlmighty/ShaderlabAlmightyPackage.cs create mode 100644 ShaderlabAlmighty/source.extension.vsixmanifest diff --git a/OpenInclude.Utility/OpenInclude.Utility.csproj b/OpenInclude.Utility/OpenInclude.Utility.csproj new file mode 100644 index 0000000..b08b24c --- /dev/null +++ b/OpenInclude.Utility/OpenInclude.Utility.csproj @@ -0,0 +1,49 @@ + + + + + Debug + AnyCPU + {471D9D31-DE12-4242-8AB5-B98FFC7E87AC} + Library + Properties + OpenInclude.Utility + OpenInclude.Utility + v4.7.2 + 512 + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OpenInclude.Utility/Properties/AssemblyInfo.cs b/OpenInclude.Utility/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..45d8cc9 --- /dev/null +++ b/OpenInclude.Utility/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("OpenInclude.Utility")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("OpenInclude.Utility")] +[assembly: AssemblyCopyright("Copyright © 2021")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("471d9d31-de12-4242-8ab5-b98ffc7e87ac")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenInclude.Utility/UnityInclude.cs b/OpenInclude.Utility/UnityInclude.cs new file mode 100644 index 0000000..ef11f57 --- /dev/null +++ b/OpenInclude.Utility/UnityInclude.cs @@ -0,0 +1,54 @@ +using System; + +namespace OpenInclude.Utility +{ + public class UnityInclude + { + private readonly string identityPath; + private readonly string packageDisplayName = string.Empty; + private readonly string packageSubDirectory = string.Empty; + + public UnityInclude(string includeLine) + { + var removals = new string[] { "#include", " ", "\t", "\"" }; + var path = includeLine; + + foreach (var removal in removals) + { + path = path.Replace(removal, ""); + } + + identityPath = path; + + var directoryBlocks = identityPath.Split('/'); + for (int i = 0; i < directoryBlocks.Length; i++) + { + if (i == 0) { } + else if (i == 1) + { + packageDisplayName = directoryBlocks[i]; + } + else + { + packageSubDirectory += directoryBlocks[i]; + if (i != directoryBlocks.Length - 1) packageSubDirectory += "/"; + } + } + + Console.WriteLine(identityPath); + Console.WriteLine(packageDisplayName); + Console.WriteLine(packageSubDirectory); + + } + + public string PackageName + { + get { return packageDisplayName; } + } + + public string SubDirectory + { + get { return packageSubDirectory; } + } + } +} \ No newline at end of file diff --git a/OpenInclude.Utility/UnityPath.cs b/OpenInclude.Utility/UnityPath.cs new file mode 100644 index 0000000..64e3d3f --- /dev/null +++ b/OpenInclude.Utility/UnityPath.cs @@ -0,0 +1,73 @@ +using System; +using System.IO; + +namespace OpenInclude.Utility +{ + public class UnityPath + { + private string m_path; + + public string Root { get; } + + public UnityPath(string path) + { + this.m_path = path; + + if (path.Contains("Assets")) + { + Root = path.Substring(0, path.IndexOf("Assets", StringComparison.Ordinal) - 1); + } + else if (path.Contains("Packages")) + { + Root = path.Substring(0, path.IndexOf("Packages", StringComparison.Ordinal) - 1); + } + else if (path.Contains("Library\\PackageCache")) + { + Root = path.Substring(0, path.IndexOf("Library\\PackageCache", StringComparison.Ordinal) - 1); + } + + Console.WriteLine($"ROOT - {Root}"); + } + + public string GetResolvedPath(string packageName) + { + DirectoryInfo di; + DirectoryInfo[] subDirs; + + di = new DirectoryInfo(Root + "/Packages"); + subDirs = di.GetDirectories(); + + foreach (var dir in subDirs) + { + if (dir.FullName.Contains(packageName)) + { + return dir.FullName; + } + } + + di = new DirectoryInfo(Root + "/Library/PackageCache"); + subDirs = di.GetDirectories(); + + foreach (var dir in subDirs) + { + if (dir.FullName.Contains(packageName)) + { + return dir.FullName; + } + } + + di = new DirectoryInfo(Root + "/Assets"); + subDirs = di.GetDirectories(); + + foreach (var dir in subDirs) + { + if (dir.FullName.Contains(packageName)) + { + return dir.FullName; + } + } + + return string.Empty; + } + } +} \ No newline at end of file diff --git a/OpenInclude/OpenInclude.cs b/OpenInclude/OpenInclude.cs new file mode 100644 index 0000000..7ada360 --- /dev/null +++ b/OpenInclude/OpenInclude.cs @@ -0,0 +1,206 @@ +using System; +using System.Text; +using System.IO; +using System.Collections.Generic; +using System.Threading.Tasks; +using Microsoft.VisualStudio.Language.Intellisense; +using Microsoft.VisualStudio.Text; +using Microsoft.VisualStudio.Text.Editor; +using Microsoft.VisualStudio.Text.Operations; +using Microsoft.VisualStudio.Utilities; +using System.ComponentModel.Composition; +using System.Threading; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Documents; +using EnvDTE; +using Microsoft.VisualStudio.Imaging.Interop; +using Microsoft.VisualStudio.Shell; +using Microsoft.VisualStudio.Shell.Interop; +using OpenInclude.Utility; +using Task = System.Threading.Tasks.Task; + +namespace OpenInclude +{ + internal static class FileAndContentTypeDefinitions + { + [Export] [Name("shader")] [BaseDefinition("text")] + internal static ContentTypeDefinition shaderContentTypeDefinition; + + [Export] [Name(".shader")] [ContentType("shader")] + internal static FileExtensionToContentTypeDefinition shaderFileExtensionDefinition; + + [Export] + [Name(".hlsl")] + [ContentType("shader")] + internal static FileExtensionToContentTypeDefinition HLSLFileExtensionDefinition; + + [Export] + [Name(".glsl")] + [ContentType("shader")] + internal static FileExtensionToContentTypeDefinition GLSLFileExtensionDefinition; + + [Export] + [Name(".cginc")] + [ContentType("shader")] + internal static FileExtensionToContentTypeDefinition CGINCLUDEFileExtensionDefinition; + } + + internal abstract class OpenIncludeSuggestedActionSourceProviderBase : ISuggestedActionsSourceProvider + { + [Import(typeof(ITextStructureNavigatorSelectorService))] + internal ITextStructureNavigatorSelectorService NavigatorService { get; set; } + + public ISuggestedActionsSource CreateSuggestedActionsSource(ITextView textView, ITextBuffer textBuffer) + { + if (textBuffer == null || textView == null) + { + return null; + } + + return new OpenIncludeSuggestedActionSource(this, textView, textBuffer); + } + } + + [Export(typeof(ISuggestedActionsSourceProvider))] + [Name("Open Include Text Suggested Action ")] + [ContentType("text")] + internal class OpenIncludeSuggestedActionSourceProviderText : OpenIncludeSuggestedActionSourceProviderBase + { + + } + + [Export(typeof(ISuggestedActionsSourceProvider))] + [Name("Open Include Text Suggested Action ")] + [ContentType("shader")] + internal class OpenIncludeSuggestedActionSourceProviderShader : OpenIncludeSuggestedActionSourceProviderBase + { + + } + + internal class OpenDocumentAction : ISuggestedAction + { + private readonly ITrackingSpan m_span; + private readonly string m_display; + private readonly ITextSnapshot m_snapshot; + + public OpenDocumentAction(ITrackingSpan span) + { + m_span = span; + m_snapshot = span.TextBuffer.CurrentSnapshot; + + m_display = string.Format("Open '{0}'", GetExportedPath(GetTrimText(span))); + } + + private string GetTrimText(ITrackingSpan span) + { + string text = span.GetText(m_snapshot); + return text.Replace(" ", ""); + } + + private string GetExportedPath(string trimmedText) + { + var text = trimmedText.Replace("#include", "").Replace("\"", "").Replace(" ", ""); + return text; + } + + public Task GetPreviewAsync(CancellationToken cancellationToken) + { + DTE dte = Package.GetGlobalService(typeof(SDTE)) as DTE; + string docName = dte.ActiveDocument.FullName; + + var includeLine = GetExportedPath(GetTrimText(m_span)); + + var currentDocument1 = new UnityPath(docName); + var includeDocument = new UnityInclude(includeLine); + + var resolved = currentDocument1.GetResolvedPath(includeDocument.PackageName) + "/" + includeDocument.SubDirectory; + + var sr = new StreamReader(resolved); + StringBuilder sb = new StringBuilder(); + + sb.AppendLine($"// {resolved}\n"); + for (int i = 0; i < 5; ++i) + { + sb.AppendLine(sr.ReadLine()); + } + sb.AppendLine("..."); + + var textBlock = new TextBlock(); + textBlock.Padding = new Thickness(5); + + textBlock.Inlines.Add(new Run() + { + Text = $"{sb.ToString()}" + }); + + return Task.FromResult(textBlock); + } + + public Task> GetActionSetsAsync(CancellationToken cancellationToken) + { + return Task.FromResult>(null); + } + + public bool HasActionSets + { + get { return false; } + } + public string DisplayText + { + get { return m_display; } + } + public ImageMoniker IconMoniker + { + get { return default(ImageMoniker); } + } + public string IconAutomationText + { + get + { + return null; + } + } + public string InputGestureText + { + get + { + return null; + } + } + public bool HasPreview + { + get { return true; } + } + + public void Invoke(CancellationToken cancellationToken) + { + ThreadHelper.JoinableTaskFactory.RunAsync(async () => + { + await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync(); + + var dte = (DTE)Package.GetGlobalService(typeof(SDTE)); + var path = dte.ActiveDocument.FullName; + + var includeLine = GetExportedPath(GetTrimText(m_span)); + + var currentDocument1 = new UnityPath(path); + var includeDocument = new UnityInclude(includeLine); + + var resolved = currentDocument1.GetResolvedPath(includeDocument.PackageName) + "/" + includeDocument.SubDirectory; + dte.ItemOperations.OpenFile(resolved); + }); + } + + public void Dispose() + { + } + + public bool TryGetTelemetryId(out Guid telemetryId) + { + // This is a sample action and doesn't participate in LightBulb telemetry + telemetryId = Guid.Empty; + return false; + } + } +} diff --git a/OpenInclude/OpenInclude.csproj b/OpenInclude/OpenInclude.csproj new file mode 100644 index 0000000..7c433ab --- /dev/null +++ b/OpenInclude/OpenInclude.csproj @@ -0,0 +1,95 @@ + + + + 16.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + + + + Debug + AnyCPU + 2.0 + {82b43b9b-a64c-4715-b499-d71e9ca2bd60};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + {22247888-E1F7-4A0A-8B3D-2EB59D639777} + Library + Properties + OpenInclude + OpenInclude + v4.7.2 + true + true + true + false + false + true + true + Program + $(DevEnvDir)devenv.exe + /rootsuffix Exp + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + Designer + + + + + + + + + + + + + + + + + + + + + {471d9d31-de12-4242-8ab5-b98ffc7e87ac} + OpenInclude.Utility + + + + + Always + true + + + + + + \ No newline at end of file diff --git a/OpenInclude/OpenIncludePackage.cs b/OpenInclude/OpenIncludePackage.cs new file mode 100644 index 0000000..dd67eea --- /dev/null +++ b/OpenInclude/OpenIncludePackage.cs @@ -0,0 +1,53 @@ +using Microsoft.VisualStudio.Shell; +using System; +using System.Runtime.InteropServices; +using System.Threading; +using Task = System.Threading.Tasks.Task; + +namespace OpenInclude +{ + /// + /// This is the class that implements the package exposed by this assembly. + /// + /// + /// + /// The minimum requirement for a class to be considered a valid package for Visual Studio + /// is to implement the IVsPackage interface and register itself with the shell. + /// This package uses the helper classes defined inside the Managed Package Framework (MPF) + /// to do it: it derives from the Package class that provides the implementation of the + /// IVsPackage interface and uses the registration attributes defined in the framework to + /// register itself and its components with the shell. These attributes tell the pkgdef creation + /// utility what data to put into .pkgdef file. + /// + /// + /// To get loaded into VS, the package must be referred by <Asset Type="Microsoft.VisualStudio.VsPackage" ...> in .vsixmanifest file. + /// + /// + [PackageRegistration(UseManagedResourcesOnly = true, AllowsBackgroundLoading = true)] + [Guid(OpenIncludePackage.PackageGuidString)] + public sealed class OpenIncludePackage : AsyncPackage + { + /// + /// OpenIncludePackage GUID string. + /// + public const string PackageGuidString = "7e7e8d36-5f66-4283-978f-31726eaa2dc6"; + + #region Package Members + + /// + /// Initialization of the package; this method is called right after the package is sited, so this is the place + /// where you can put all the initialization code that rely on services provided by VisualStudio. + /// + /// A cancellation token to monitor for initialization cancellation, which can occur when VS is shutting down. + /// A provider for progress updates. + /// A task representing the async work of package initialization, or an already completed task if there is none. Do not return null from this method. + protected override async Task InitializeAsync(CancellationToken cancellationToken, IProgress progress) + { + // When initialized asynchronously, the current thread may be a background thread at this point. + // Do any initialization that requires the UI thread after switching to the UI thread. + await this.JoinableTaskFactory.SwitchToMainThreadAsync(cancellationToken); + } + + #endregion + } +} diff --git a/OpenInclude/OpenIncludeSuggestedActionSource.cs b/OpenInclude/OpenIncludeSuggestedActionSource.cs new file mode 100644 index 0000000..a44c0dd --- /dev/null +++ b/OpenInclude/OpenIncludeSuggestedActionSource.cs @@ -0,0 +1,96 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.VisualStudio.Language.Intellisense; +using Microsoft.VisualStudio.Text; +using Microsoft.VisualStudio.Text.Editor; +using Microsoft.VisualStudio.Text.Operations; + +namespace OpenInclude +{ + internal class OpenIncludeSuggestedActionSource : ISuggestedActionsSource + { + private readonly OpenIncludeSuggestedActionSourceProviderBase m_provider; + private readonly ITextView m_textView; + private readonly ITextBuffer m_textBuffer; + + public OpenIncludeSuggestedActionSource(OpenIncludeSuggestedActionSourceProviderBase provider, ITextView textView, + ITextBuffer textBuffer) + { + this.m_provider = provider; + this.m_textView = textView; + this.m_textBuffer = textBuffer; + } + + private bool TryGetWordUnderCaret(out TextExtent wordExtent) + { + ITextCaret caret = m_textView.Caret; + SnapshotPoint point; + + if (caret.Position.BufferPosition > 0) + { + point = caret.Position.BufferPosition - 1; + } + else + { + wordExtent = default(TextExtent); + return false; + } + + ITextStructureNavigator navigator = m_provider.NavigatorService.GetTextStructureNavigator(m_textBuffer); + + wordExtent = navigator.GetExtentOfWord(point); + return true; + } + + public Task HasSuggestedActionsAsync(ISuggestedActionCategorySet requestedActionCategories, SnapshotSpan range, CancellationToken cancellationToken) + { + return Task.Factory.StartNew(() => + { + TextExtent extent; + if (TryGetWordUnderCaret(out extent)) + { + // don't display the action if the extent has whitespace + return extent.IsSignificant; + } + return false; + }); + } + + public IEnumerable GetSuggestedActions(ISuggestedActionCategorySet requestedActionCategories, SnapshotSpan range, CancellationToken cancellationToken) + { + TextExtent extent; + if (TryGetWordUnderCaret(out extent) && extent.IsSignificant) + { + ITextSnapshotLine line = range.Snapshot.GetLineFromPosition(range.Start.Position); + + var lineSpan = range.Snapshot.CreateTrackingSpan(line.Extent, SpanTrackingMode.EdgeInclusive); + + if (!lineSpan.GetText(lineSpan.TextBuffer.CurrentSnapshot).Contains("#include")) + { + return Enumerable.Empty(); + } + + var openAction = new OpenDocumentAction(lineSpan); + + return new SuggestedActionSet[] { new SuggestedActionSet(new ISuggestedAction[] { openAction }) }; + } + return Enumerable.Empty(); + } + + public event EventHandler SuggestedActionsChanged; + + public void Dispose() + { + } + + public bool TryGetTelemetryId(out Guid telemetryId) + { + // This is a sample provider and doesn't participate in LightBulb telemetry + telemetryId = Guid.Empty; + return false; + } + } +} \ No newline at end of file diff --git a/OpenInclude/Properties/AssemblyInfo.cs b/OpenInclude/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..f5a9622 --- /dev/null +++ b/OpenInclude/Properties/AssemblyInfo.cs @@ -0,0 +1,33 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("OpenInclude")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("OpenInclude")] +[assembly: AssemblyCopyright("")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/OpenInclude/calcifer_square.png b/OpenInclude/calcifer_square.png new file mode 100644 index 0000000000000000000000000000000000000000..c21a833aeeaaa041a6d7e957054b0b0bfb3ce6d9 GIT binary patch literal 107639 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 hM=<@5k + + + + OpenInclude + Simple plugins to open include files in shader files. + calcifer_square.png + + + + + + + + + + + + + + + diff --git a/ShaderlabAlmighty.sln b/ShaderlabAlmighty.sln new file mode 100644 index 0000000..0ce5593 --- /dev/null +++ b/ShaderlabAlmighty.sln @@ -0,0 +1,37 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.31129.286 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShaderlabAlmighty", "ShaderlabAlmighty\ShaderlabAlmighty.csproj", "{89AA9E43-9A5C-4A71-96A9-C5EC8EDD3550}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenInclude", "OpenInclude\OpenInclude.csproj", "{22247888-E1F7-4A0A-8B3D-2EB59D639777}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenInclude.Utility", "OpenInclude.Utility\OpenInclude.Utility.csproj", "{471D9D31-DE12-4242-8AB5-B98FFC7E87AC}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {89AA9E43-9A5C-4A71-96A9-C5EC8EDD3550}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {89AA9E43-9A5C-4A71-96A9-C5EC8EDD3550}.Debug|Any CPU.Build.0 = Debug|Any CPU + {89AA9E43-9A5C-4A71-96A9-C5EC8EDD3550}.Release|Any CPU.ActiveCfg = Release|Any CPU + {89AA9E43-9A5C-4A71-96A9-C5EC8EDD3550}.Release|Any CPU.Build.0 = Release|Any CPU + {22247888-E1F7-4A0A-8B3D-2EB59D639777}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {22247888-E1F7-4A0A-8B3D-2EB59D639777}.Debug|Any CPU.Build.0 = Debug|Any CPU + {22247888-E1F7-4A0A-8B3D-2EB59D639777}.Release|Any CPU.ActiveCfg = Release|Any CPU + {22247888-E1F7-4A0A-8B3D-2EB59D639777}.Release|Any CPU.Build.0 = Release|Any CPU + {471D9D31-DE12-4242-8AB5-B98FFC7E87AC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {471D9D31-DE12-4242-8AB5-B98FFC7E87AC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {471D9D31-DE12-4242-8AB5-B98FFC7E87AC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {471D9D31-DE12-4242-8AB5-B98FFC7E87AC}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {F3D6DDCF-26E6-4C67-BBD7-D0F88D53FFE4} + EndGlobalSection +EndGlobal diff --git a/ShaderlabAlmighty/Properties/AssemblyInfo.cs b/ShaderlabAlmighty/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..7ce81ce --- /dev/null +++ b/ShaderlabAlmighty/Properties/AssemblyInfo.cs @@ -0,0 +1,33 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("ShaderlabAlmighty")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("ShaderlabAlmighty")] +[assembly: AssemblyCopyright("")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/ShaderlabAlmighty/ShaderlabAlmighty.csproj b/ShaderlabAlmighty/ShaderlabAlmighty.csproj new file mode 100644 index 0000000..87a4fc9 --- /dev/null +++ b/ShaderlabAlmighty/ShaderlabAlmighty.csproj @@ -0,0 +1,72 @@ + + + + 16.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + + + + Debug + AnyCPU + 2.0 + {82b43b9b-a64c-4715-b499-d71e9ca2bd60};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + {89AA9E43-9A5C-4A71-96A9-C5EC8EDD3550} + Library + Properties + ShaderlabAlmighty + ShaderlabAlmighty + v4.7.2 + true + true + true + false + false + true + true + Program + $(DevEnvDir)devenv.exe + /rootsuffix Exp + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + Designer + + + + + + + + + + + + + \ No newline at end of file diff --git a/ShaderlabAlmighty/ShaderlabAlmightyPackage.cs b/ShaderlabAlmighty/ShaderlabAlmightyPackage.cs new file mode 100644 index 0000000..9562c69 --- /dev/null +++ b/ShaderlabAlmighty/ShaderlabAlmightyPackage.cs @@ -0,0 +1,53 @@ +using Microsoft.VisualStudio.Shell; +using System; +using System.Runtime.InteropServices; +using System.Threading; +using Task = System.Threading.Tasks.Task; + +namespace ShaderlabAlmighty +{ + /// + /// This is the class that implements the package exposed by this assembly. + /// + /// + /// + /// The minimum requirement for a class to be considered a valid package for Visual Studio + /// is to implement the IVsPackage interface and register itself with the shell. + /// This package uses the helper classes defined inside the Managed Package Framework (MPF) + /// to do it: it derives from the Package class that provides the implementation of the + /// IVsPackage interface and uses the registration attributes defined in the framework to + /// register itself and its components with the shell. These attributes tell the pkgdef creation + /// utility what data to put into .pkgdef file. + /// + /// + /// To get loaded into VS, the package must be referred by <Asset Type="Microsoft.VisualStudio.VsPackage" ...> in .vsixmanifest file. + /// + /// + [PackageRegistration(UseManagedResourcesOnly = true, AllowsBackgroundLoading = true)] + [Guid(ShaderlabAlmightyPackage.PackageGuidString)] + public sealed class ShaderlabAlmightyPackage : AsyncPackage + { + /// + /// ShaderlabAlmightyPackage GUID string. + /// + public const string PackageGuidString = "1b9a6fee-09c7-4b32-b691-6419f40c7815"; + + #region Package Members + + /// + /// Initialization of the package; this method is called right after the package is sited, so this is the place + /// where you can put all the initialization code that rely on services provided by VisualStudio. + /// + /// A cancellation token to monitor for initialization cancellation, which can occur when VS is shutting down. + /// A provider for progress updates. + /// A task representing the async work of package initialization, or an already completed task if there is none. Do not return null from this method. + protected override async Task InitializeAsync(CancellationToken cancellationToken, IProgress progress) + { + // When initialized asynchronously, the current thread may be a background thread at this point. + // Do any initialization that requires the UI thread after switching to the UI thread. + await this.JoinableTaskFactory.SwitchToMainThreadAsync(cancellationToken); + } + + #endregion + } +} diff --git a/ShaderlabAlmighty/source.extension.vsixmanifest b/ShaderlabAlmighty/source.extension.vsixmanifest new file mode 100644 index 0000000..1361d56 --- /dev/null +++ b/ShaderlabAlmighty/source.extension.vsixmanifest @@ -0,0 +1,20 @@ + + + + + ShaderlabAlmighty + Empty VSIX Project. + + + + + + + + + + + + + +