diff --git a/LigerShark.Templates/Angular2RenameWizard.cs b/LigerShark.Templates/Angular2RenameWizard.cs new file mode 100644 index 00000000..a82aa289 --- /dev/null +++ b/LigerShark.Templates/Angular2RenameWizard.cs @@ -0,0 +1,118 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Globalization; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using EnvDTE; +using Microsoft.VisualStudio.Shell.Interop; +using Microsoft.VisualStudio.TemplateWizard; + +namespace LigerShark.Templates +{ + /// + /// Custom wizard used by the Angular2 item templates to produce proper names + /// + public class Angular2RenameWizard : Component, IWizard + { + public void RunStarted(object automationObject, Dictionary replacementsDictionary, WizardRunKind runKind, object[] customParams) + { + try + { + var safeItemName = replacementsDictionary["$safeitemname$"]; + var properName = safeItemName; + + if (safeItemName.Contains(".")) + { + var indexOfPeriod = safeItemName.IndexOf(".", StringComparison.CurrentCulture); + properName = safeItemName.Remove(indexOfPeriod); + } + + properName = FromCamelCase(properName); + + replacementsDictionary.Add("$properName$", properName); + } + catch (Exception ex) + { + LogError(ex.ToString()); + } + + } + + public void ProjectFinishedGenerating(Project project) + { + + } + + public void ProjectItemFinishedGenerating(ProjectItem projectItem) + { + + } + + public bool ShouldAddProjectItem(string filePath) + { + return true; + } + + public void BeforeOpeningFile(ProjectItem projectItem) + { + } + + public void RunFinished() + { + } + + private string FromCamelCase(string value) + { + if (string.IsNullOrEmpty(value)) + { + return value; + } + if (char.IsUpper(value[0])) + { + return value; + } + + var chArray = value.ToCharArray(); + + if (value.Length < 3) + { + chArray[0] = char.ToUpper(chArray[0], CultureInfo.InvariantCulture); + } + else + { + + if (char.IsUpper(chArray[2])) + { + for (var i = 0; i < 2; i++) + { + chArray[i] = char.ToUpper(chArray[i], CultureInfo.InvariantCulture); + } + } + else + { + chArray[0] = char.ToUpper(chArray[0], CultureInfo.InvariantCulture); + } + } + return new string(chArray); + } + + private void LogError(string message) + { + try + { + IVsActivityLog _log = GetService(typeof(SVsActivityLog)) as IVsActivityLog; + + _log.LogEntry( + (UInt32)__ACTIVITYLOG_ENTRYTYPE.ALE_ERROR, + this.ToString(), + string.Format(CultureInfo.CurrentCulture, "{0}", message)); + } + catch (Exception) + { + // there was likely an error getting the activity service, ignore it so it won't throw + } + } + } +} diff --git a/LigerShark.Templates/AngularDirectiveUsageWizard.cs b/LigerShark.Templates/AngularDirectiveUsageWizard.cs new file mode 100644 index 00000000..dab05af2 --- /dev/null +++ b/LigerShark.Templates/AngularDirectiveUsageWizard.cs @@ -0,0 +1,101 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Globalization; +using EnvDTE; +using Microsoft.VisualStudio.Shell.Interop; +using Microsoft.VisualStudio.TemplateWizard; + +namespace LigerShark.Templates +{ + public class AngularDirectiveUsageWizard : Component, IWizard + { + public void RunStarted(object automationObject, Dictionary replacementsDictionary, + WizardRunKind runKind, object[] customParams) + { + try + { + var safeItemName = replacementsDictionary["$safeitemname$"]; + var directiveUsage = ToDirectiveUsage(safeItemName); + + replacementsDictionary.Add("$directiveUsage$", directiveUsage); + } + catch (Exception ex) + { + LogError(ex.ToString()); + } + } + + public void ProjectFinishedGenerating(Project project) + { + } + + public void ProjectItemFinishedGenerating(ProjectItem projectItem) + { + } + + public bool ShouldAddProjectItem(string filePath) + { + return true; + } + + public void BeforeOpeningFile(ProjectItem projectItem) + { + } + + public void RunFinished() + { + } + + private string ToDirectiveUsage(string value) + { + if (string.IsNullOrEmpty(value)) + { + return value; + } + + var originalValueArrray = value.ToCharArray(); + + // Initializes the list with the first character in the original value + var directiveUsage = new List + { + char.ToLower(originalValueArrray[0]) + }; + + // Loops through the original value array and finds any upper case character + // then adds a hyphen and converts the original character to lower case + for (var i = 1; i < originalValueArrray.Length; i++) + { + if (char.IsUpper(originalValueArrray[i])) + { + directiveUsage.Add('-'); + directiveUsage.Add(char.ToLower(originalValueArrray[i])); + } + else + { + directiveUsage.Add(originalValueArrray[i]); + } + } + + return new string(directiveUsage.ToArray()); + } + + + private void LogError(string message) + { + try + { + var log = GetService(typeof(SVsActivityLog)) as IVsActivityLog; + + log.LogEntry( + (uint)__ACTIVITYLOG_ENTRYTYPE.ALE_ERROR, + ToString(), + string.Format(CultureInfo.CurrentCulture, "{0}", message)); + } + catch (Exception) + { + // there was likely an error getting the activity service, ignore it so it won't throw + } + } + } +} \ No newline at end of file diff --git a/LigerShark.Templates/DynamicBuilder/SettingsStore.cs b/LigerShark.Templates/DynamicBuilder/SettingsStore.cs new file mode 100644 index 00000000..369f9f0e --- /dev/null +++ b/LigerShark.Templates/DynamicBuilder/SettingsStore.cs @@ -0,0 +1,38 @@ +using Newtonsoft.Json; +using System.IO; +using System; +using System.ComponentModel; + +namespace LigerShark.Templates.DynamicBuilder +{ + public class SettingsStore + { + [DefaultValue(true)] + [JsonProperty(DefaultValueHandling = DefaultValueHandling.Populate)] + public bool SendTelemetry { get; set; } + + public static SettingsStore ReadJsonFile(string filePath) + { + if (string.IsNullOrEmpty(filePath)) { throw new ArgumentNullException("filePath"); } + + if (!File.Exists(filePath)) + { + throw new FileNotFoundException(string.Format(@"JSON settings file not found at [{0}]", filePath)); + } + + return JsonConvert.DeserializeObject(File.ReadAllText(filePath)); + } + + public void WriteJsonFile(string filePath, string json) + { + var fileInfo = new FileInfo(filePath); + + if (!fileInfo.Directory.Exists) + { + fileInfo.Directory.Create(); + } + + File.WriteAllText(filePath, json); + } + } +} \ No newline at end of file diff --git a/LigerShark.Templates/GoogleAnalyticsWizard.cs b/LigerShark.Templates/GoogleAnalyticsWizard.cs index 81daa9a7..0997e83e 100644 --- a/LigerShark.Templates/GoogleAnalyticsWizard.cs +++ b/LigerShark.Templates/GoogleAnalyticsWizard.cs @@ -1,12 +1,14 @@ using EnvDTE; +using LigerShark.Templates.DynamicBuilder; using Microsoft.VisualStudio.Shell.Interop; using Microsoft.VisualStudio.TemplateWizard; using System; using System.Collections.Generic; +using System.ComponentModel; using System.Globalization; +using System.IO; using System.Security.Cryptography; using System.Text; -using System.ComponentModel; namespace LigerShark.Templates { @@ -68,19 +70,28 @@ public bool ShouldAddProjectItem(string filePath) private void TrackTemplate(string templateID, string templateName, string templateType) { - var result = GetHashString(Environment.UserDomainName + Environment.MachineName); - var category = templateType; - if (string.Compare("Project", templateType, StringComparison.OrdinalIgnoreCase) == 0) - { - category = "project-template"; - } - else if (string.Compare("Item", templateType, StringComparison.OrdinalIgnoreCase) == 0) + // Get the file path where the settings are being stored. + var rootDir = Environment.ExpandEnvironmentVariables(@"%localappdata%\LigerShark\SideWaffle\"); + var filePath = Path.Combine(rootDir, "SideWaffle-Settings.json"); + bool telemetry = SettingsStore.ReadJsonFile(filePath).SendTelemetry; + + if (telemetry) { - category = "item-template"; - } + var category = templateType; + if (string.Compare("Project", templateType, StringComparison.OrdinalIgnoreCase) == 0) + { + category = "project-template"; + } + else if (string.Compare("Item", templateType, StringComparison.OrdinalIgnoreCase) == 0) + { + category = "item-template"; + } + + var result = GetHashString(Environment.UserDomainName + Environment.MachineName); - GoogleAnalyticsApi tracker = new GoogleAnalyticsApi("UA-62483606-4", result); - tracker.TrackEvent(category, "add", templateName); + GoogleAnalyticsApi tracker = new GoogleAnalyticsApi("UA-62483606-4", result); + tracker.TrackEvent(category, "add", templateName); + } } public string GetHashString(string text) diff --git a/LigerShark.Templates/LigerShark.Templates.csproj b/LigerShark.Templates/LigerShark.Templates.csproj index 5ad907dd..acb3045a 100644 --- a/LigerShark.Templates/LigerShark.Templates.csproj +++ b/LigerShark.Templates/LigerShark.Templates.csproj @@ -72,6 +72,10 @@ + + ..\packages\Newtonsoft.Json.8.0.1\lib\net45\Newtonsoft.Json.dll + True + True @@ -84,6 +88,8 @@ + + @@ -101,10 +107,17 @@ + Designer MSBuild:Compile + + Component + + + Component + @@ -138,6 +151,7 @@ ResXFileCodeGenerator Resources.Designer.cs + SettingsSingleFileGenerator Settings.Designer.cs diff --git a/LigerShark.Templates/packages.config b/LigerShark.Templates/packages.config new file mode 100644 index 00000000..a994714f --- /dev/null +++ b/LigerShark.Templates/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Project Templates/Nancy.CSharp.AspNetHost/Nancy.CSharp.AspNetHost.csproj b/Project Templates/Nancy.CSharp.AspNetHost/Nancy.CSharp.AspNetHost.csproj index 05f418df..81d2344f 100644 --- a/Project Templates/Nancy.CSharp.AspNetHost/Nancy.CSharp.AspNetHost.csproj +++ b/Project Templates/Nancy.CSharp.AspNetHost/Nancy.CSharp.AspNetHost.csproj @@ -1,5 +1,5 @@  - + Debug @@ -13,14 +13,16 @@ Properties Nancy.CSharp.AspNetHost Nancy.CSharp.AspNetHost - v4.0 + v4.6.1 true - ..\..\ + ..\ true + + true @@ -30,6 +32,7 @@ DEBUG;TRACE prompt 4 + false pdbonly @@ -38,29 +41,33 @@ TRACE prompt 4 + false - - False - ..\packages\Nancy.1.4.1\lib\net40\Nancy.dll + + ..\packages\Nancy.1.4.3\lib\net40\Nancy.dll + True False ..\packages\Nancy.Hosting.Aspnet.1.4.1\lib\net40\Nancy.Hosting.Aspnet.dll - + + + + + + - - @@ -71,7 +78,9 @@ Designer - + + Designer + Web.config diff --git a/Project Templates/Nancy.CSharp.AspNetHost/Web.config b/Project Templates/Nancy.CSharp.AspNetHost/Web.config index cc65ddb7..f28a057f 100644 --- a/Project Templates/Nancy.CSharp.AspNetHost/Web.config +++ b/Project Templates/Nancy.CSharp.AspNetHost/Web.config @@ -1,19 +1,25 @@ - - + - - - - - - - + + + + + + + + - - - - - - - + + + + + + + \ No newline at end of file diff --git a/Project Templates/Nancy.CSharp.AspNetHost/packages.config b/Project Templates/Nancy.CSharp.AspNetHost/packages.config index a82d453f..055edd01 100644 --- a/Project Templates/Nancy.CSharp.AspNetHost/packages.config +++ b/Project Templates/Nancy.CSharp.AspNetHost/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/Project Templates/Nancy.CSharp.AspNetHostWithRazor/Nancy.CSharp.AspNetHostWithRazor.csproj b/Project Templates/Nancy.CSharp.AspNetHostWithRazor/Nancy.CSharp.AspNetHostWithRazor.csproj index 39437cce..da8bcd5c 100644 --- a/Project Templates/Nancy.CSharp.AspNetHostWithRazor/Nancy.CSharp.AspNetHostWithRazor.csproj +++ b/Project Templates/Nancy.CSharp.AspNetHostWithRazor/Nancy.CSharp.AspNetHostWithRazor.csproj @@ -1,5 +1,5 @@  - + Debug @@ -13,14 +13,18 @@ Properties Nancy.CSharp.AspNetHostWithRazor Nancy.CSharp.AspNetHostWithRazor - v4.0 + v4.6.1 true - ..\..\ + ..\ true + + + + true @@ -30,6 +34,7 @@ DEBUG;TRACE prompt 4 + false pdbonly @@ -38,26 +43,35 @@ TRACE prompt 4 + false - - ..\packages\Nancy.1.4.1\lib\net40\Nancy.dll + + ..\packages\Nancy.1.4.3\lib\net40\Nancy.dll + True ..\packages\Nancy.Hosting.Aspnet.1.4.1\lib\net40\Nancy.Hosting.Aspnet.dll - - ..\packages\Nancy.Viewengines.Razor.1.4.1\lib\net40\Nancy.ViewEngines.Razor.dll + + ..\packages\Nancy.Viewengines.Razor.1.4.3\lib\net40\Nancy.ViewEngines.Razor.dll + True - - - - ..\packages\Microsoft.AspNet.Razor.2.0.30506.0\lib\net40\System.Web.Razor.dll + + + + + + + ..\packages\Microsoft.AspNet.Razor.3.2.3\lib\net45\System.Web.Razor.dll + True + + @@ -112,11 +126,18 @@ if $(ConfigurationName) == Debug ( -xcopy /s /y /R "$(SolutionDir)packages\Nancy.Viewengines.Razor.1.4.1\BuildProviders\Nancy.ViewEngines.Razor.BuildProviders.dll" "$(ProjectDir)bin\" -xcopy /s /y /R "$(SolutionDir)packages\Nancy.Viewengines.Razor.1.4.1\lib\Net40\Nancy.ViewEngines.Razor.dll" "$(ProjectDir)bin\" +xcopy /s /y /R "$(SolutionDir)packages\Nancy.Viewengines.Razor.1.4.3\BuildProviders\Nancy.ViewEngines.Razor.BuildProviders.dll" "$(ProjectDir)bin\" +xcopy /s /y /R "$(SolutionDir)packages\Nancy.Viewengines.Razor.1.4.3\lib\Net40\Nancy.ViewEngines.Razor.dll" "$(ProjectDir)bin\" ) + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + - - -
- - - - - - - - - - - + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Project Templates/Nancy.CSharp.AspNetHostWithRazor/packages.config b/Project Templates/Nancy.CSharp.AspNetHostWithRazor/packages.config index 1673e456..4a7db207 100644 --- a/Project Templates/Nancy.CSharp.AspNetHostWithRazor/packages.config +++ b/Project Templates/Nancy.CSharp.AspNetHostWithRazor/packages.config @@ -1,7 +1,7 @@  - + + - - + \ No newline at end of file diff --git a/Project Templates/Nancy.CSharp.Demo/Nancy.CSharp.Demo.csproj b/Project Templates/Nancy.CSharp.Demo/Nancy.CSharp.Demo.csproj index 101988b1..3d2b8501 100644 --- a/Project Templates/Nancy.CSharp.Demo/Nancy.CSharp.Demo.csproj +++ b/Project Templates/Nancy.CSharp.Demo/Nancy.CSharp.Demo.csproj @@ -1,5 +1,5 @@  - + Debug @@ -13,15 +13,16 @@ Properties Nancy.CSharp.Demo Nancy.CSharp.Demo - v4.0 + v4.6.1 true - ..\..\ + ..\ true + true @@ -31,6 +32,7 @@ DEBUG;TRACE prompt 4 + false pdbonly @@ -39,19 +41,27 @@ TRACE prompt 4 + false - - ..\packages\Nancy.1.4.1\lib\net40\Nancy.dll + + ..\packages\Nancy.1.4.3\lib\net40\Nancy.dll + True ..\packages\Nancy.Hosting.Aspnet.1.4.1\lib\net40\Nancy.Hosting.Aspnet.dll + + + + + + diff --git a/Project Templates/Nancy.CSharp.Demo/Web.config b/Project Templates/Nancy.CSharp.Demo/Web.config index b0d155c0..9c77f05f 100644 --- a/Project Templates/Nancy.CSharp.Demo/Web.config +++ b/Project Templates/Nancy.CSharp.Demo/Web.config @@ -1,21 +1,31 @@ - + - - + + + + + + + + + - - - - - - + + + + + + + \ No newline at end of file diff --git a/Project Templates/Nancy.CSharp.Demo/packages.config b/Project Templates/Nancy.CSharp.Demo/packages.config index a82d453f..055edd01 100644 --- a/Project Templates/Nancy.CSharp.Demo/packages.config +++ b/Project Templates/Nancy.CSharp.Demo/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/Project Templates/Nancy.CSharp.EmptyAspNetHost/Nancy.CSharp.EmptyAspNetHost.csproj b/Project Templates/Nancy.CSharp.EmptyAspNetHost/Nancy.CSharp.EmptyAspNetHost.csproj index 898b3c4d..d6401b43 100644 --- a/Project Templates/Nancy.CSharp.EmptyAspNetHost/Nancy.CSharp.EmptyAspNetHost.csproj +++ b/Project Templates/Nancy.CSharp.EmptyAspNetHost/Nancy.CSharp.EmptyAspNetHost.csproj @@ -1,5 +1,5 @@  - + Debug @@ -13,14 +13,16 @@ Properties Nancy.CSharp.EmptyAspNetHost Nancy.CSharp.EmptyAspNetHost - v4.0 + v4.6.1 true - ..\..\ + ..\ true + + true @@ -30,6 +32,7 @@ DEBUG;TRACE prompt 4 + false pdbonly @@ -38,20 +41,27 @@ TRACE prompt 4 + false - - ..\packages\Nancy.1.4.1\lib\net40\Nancy.dll + + ..\packages\Nancy.1.4.3\lib\net40\Nancy.dll + True ..\packages\Nancy.Hosting.Aspnet.1.4.1\lib\net40\Nancy.Hosting.Aspnet.dll - + + + + + + diff --git a/Project Templates/Nancy.CSharp.EmptyAspNetHost/Web.config b/Project Templates/Nancy.CSharp.EmptyAspNetHost/Web.config index 76d74af1..6499e58f 100644 --- a/Project Templates/Nancy.CSharp.EmptyAspNetHost/Web.config +++ b/Project Templates/Nancy.CSharp.EmptyAspNetHost/Web.config @@ -1,22 +1,29 @@ - + - - + + + - + + - - + - + - + \ No newline at end of file diff --git a/Project Templates/Nancy.CSharp.EmptyAspNetHost/packages.config b/Project Templates/Nancy.CSharp.EmptyAspNetHost/packages.config index a82d453f..055edd01 100644 --- a/Project Templates/Nancy.CSharp.EmptyAspNetHost/packages.config +++ b/Project Templates/Nancy.CSharp.EmptyAspNetHost/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/Project Templates/Nancy.CSharp.EmptyAspNetHostingWithRazor/Nancy.CSharp.EmptyAspNetHostWithRazor.csproj b/Project Templates/Nancy.CSharp.EmptyAspNetHostingWithRazor/Nancy.CSharp.EmptyAspNetHostWithRazor.csproj index ed6bd0d2..46f68ba6 100644 --- a/Project Templates/Nancy.CSharp.EmptyAspNetHostingWithRazor/Nancy.CSharp.EmptyAspNetHostWithRazor.csproj +++ b/Project Templates/Nancy.CSharp.EmptyAspNetHostingWithRazor/Nancy.CSharp.EmptyAspNetHostWithRazor.csproj @@ -1,5 +1,5 @@  - + Debug @@ -13,14 +13,18 @@ Properties Nancy.CSharp.EmptyAspNetHostWithRazor Nancy.CSharp.EmptyAspNetHostWithRazor - v4.0 + v4.6.1 true - ..\..\ + ..\ true + + + + true @@ -30,6 +34,7 @@ DEBUG;TRACE prompt 4 + false pdbonly @@ -38,26 +43,35 @@ TRACE prompt 4 + false - - ..\packages\Nancy.1.4.1\lib\net40\Nancy.dll + + ..\packages\Nancy.1.4.3\lib\net40\Nancy.dll + True ..\packages\Nancy.Hosting.Aspnet.1.4.1\lib\net40\Nancy.Hosting.Aspnet.dll - - ..\packages\Nancy.Viewengines.Razor.1.4.1\lib\net40\Nancy.ViewEngines.Razor.dll + + ..\packages\Nancy.Viewengines.Razor.1.4.3\lib\net40\Nancy.ViewEngines.Razor.dll + True - + - - ..\packages\Microsoft.AspNet.Razor.2.0.30506.0\lib\net40\System.Web.Razor.dll + + + + + + ..\packages\Microsoft.AspNet.Razor.3.2.3\lib\net45\System.Web.Razor.dll + True + @@ -110,11 +124,18 @@ if $(ConfigurationName) == Debug ( -xcopy /s /y /R "$(SolutionDir)packages\Nancy.Viewengines.Razor.1.4.1\BuildProviders\Nancy.ViewEngines.Razor.BuildProviders.dll" "$(ProjectDir)bin\" -xcopy /s /y /R "$(SolutionDir)packages\Nancy.Viewengines.Razor.1.4.1\lib\Net40\Nancy.ViewEngines.Razor.dll" "$(ProjectDir)bin\" +xcopy /s /y /R "$(SolutionDir)packages\Nancy.Viewengines.Razor.1.4.3\BuildProviders\Nancy.ViewEngines.Razor.BuildProviders.dll" "$(ProjectDir)bin\" +xcopy /s /y /R "$(SolutionDir)packages\Nancy.Viewengines.Razor.1.4.3\lib\Net40\Nancy.ViewEngines.Razor.dll" "$(ProjectDir)bin\" ) + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + - - + - - + + - - + + - + + + + + + + - + - + - - - - - - - - + \ No newline at end of file diff --git a/Project Templates/Nancy.CSharp.EmptyAspNetHostingWithRazor/packages.config b/Project Templates/Nancy.CSharp.EmptyAspNetHostingWithRazor/packages.config index 1673e456..4a7db207 100644 --- a/Project Templates/Nancy.CSharp.EmptyAspNetHostingWithRazor/packages.config +++ b/Project Templates/Nancy.CSharp.EmptyAspNetHostingWithRazor/packages.config @@ -1,7 +1,7 @@  - + + - - + \ No newline at end of file diff --git a/Project Templates/Nancy.CSharp.EmptySelfHost/Nancy.CSharp.EmptySelfHost.csproj b/Project Templates/Nancy.CSharp.EmptySelfHost/Nancy.CSharp.EmptySelfHost.csproj index 7fdb8a62..724ad55e 100644 --- a/Project Templates/Nancy.CSharp.EmptySelfHost/Nancy.CSharp.EmptySelfHost.csproj +++ b/Project Templates/Nancy.CSharp.EmptySelfHost/Nancy.CSharp.EmptySelfHost.csproj @@ -1,5 +1,5 @@  - + Debug @@ -9,10 +9,11 @@ Properties Nancy.CSharp.EmptySelfHost Nancy.CSharp.EmptySelfHost - v4.0 + v4.6.1 512 - ..\..\ + ..\ true + AnyCPU @@ -23,6 +24,7 @@ DEBUG;TRACE prompt 4 + false AnyCPU @@ -32,13 +34,16 @@ TRACE prompt 4 + false - - ..\packages\Nancy.1.4.1\lib\net40\Nancy.dll + + ..\packages\Nancy.1.4.3\lib\net40\Nancy.dll + True - + ..\packages\Nancy.Hosting.Self.1.4.1\lib\net40\Nancy.Hosting.Self.dll + True @@ -50,6 +55,7 @@ + diff --git a/Project Templates/Nancy.CSharp.EmptySelfHost/app.config b/Project Templates/Nancy.CSharp.EmptySelfHost/app.config new file mode 100644 index 00000000..3dbff35f --- /dev/null +++ b/Project Templates/Nancy.CSharp.EmptySelfHost/app.config @@ -0,0 +1,3 @@ + + + diff --git a/Project Templates/Nancy.CSharp.EmptySelfHost/packages.config b/Project Templates/Nancy.CSharp.EmptySelfHost/packages.config index 7a26d0b0..7a6a7bf7 100644 --- a/Project Templates/Nancy.CSharp.EmptySelfHost/packages.config +++ b/Project Templates/Nancy.CSharp.EmptySelfHost/packages.config @@ -1,5 +1,5 @@  - - + + \ No newline at end of file diff --git a/Project Templates/Nancy.CSharp.EmptySelfHostWithRazor/Nancy.CSharp.EmptySelfHostWithRazor.csproj b/Project Templates/Nancy.CSharp.EmptySelfHostWithRazor/Nancy.CSharp.EmptySelfHostWithRazor.csproj index 5ca7611f..341de0ed 100644 --- a/Project Templates/Nancy.CSharp.EmptySelfHostWithRazor/Nancy.CSharp.EmptySelfHostWithRazor.csproj +++ b/Project Templates/Nancy.CSharp.EmptySelfHostWithRazor/Nancy.CSharp.EmptySelfHostWithRazor.csproj @@ -1,5 +1,5 @@  - + Debug @@ -9,10 +9,13 @@ Properties Nancy.CSharp.EmptySelfHostWithRazor Nancy.CSharp.EmptySelfHostWithRazor - v4.0 + v4.6.1 512 - ..\..\ + ..\ true + + + AnyCPU @@ -23,6 +26,7 @@ DEBUG;TRACE prompt 4 + false AnyCPU @@ -32,22 +36,25 @@ TRACE prompt 4 + false - - ..\packages\Nancy.1.4.1\lib\net40\Nancy.dll + + ..\packages\Nancy.1.4.3\lib\net40\Nancy.dll + True ..\packages\Nancy.Hosting.Self.1.4.1\lib\net40\Nancy.Hosting.Self.dll - - ..\packages\Nancy.Viewengines.Razor.1.4.1\lib\net40\Nancy.ViewEngines.Razor.dll + + ..\packages\Nancy.Viewengines.Razor.1.4.3\lib\net40\Nancy.ViewEngines.Razor.dll + True - - - ..\packages\Microsoft.AspNet.Razor.2.0.30506.0\lib\net40\System.Web.Razor.dll + + ..\packages\Microsoft.AspNet.Razor.3.2.3\lib\net45\System.Web.Razor.dll + True @@ -68,11 +75,18 @@ if $(ConfigurationName) == Debug ( -xcopy /s /y /R "$(SolutionDir)packages\Nancy.Viewengines.Razor.1.4.1\BuildProviders\Nancy.ViewEngines.Razor.BuildProviders.dll" "$(ProjectDir)bin\" -xcopy /s /y /R "$(SolutionDir)packages\Nancy.Viewengines.Razor.1.4.1\lib\Net40\Nancy.ViewEngines.Razor.dll" "$(ProjectDir)bin\" +xcopy /s /y /R "$(SolutionDir)packages\Nancy.Viewengines.Razor.1.4.3\BuildProviders\Nancy.ViewEngines.Razor.BuildProviders.dll" "$(ProjectDir)bin\" +xcopy /s /y /R "$(SolutionDir)packages\Nancy.Viewengines.Razor.1.4.3\lib\Net40\Nancy.ViewEngines.Razor.dll" "$(ProjectDir)bin\" ) + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + LigerShark.Templates, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null diff --git a/TemplatePack/ItemTemplates/Extensibility/SideWaffle/SW-ProjectVSTemplateFile/fsharp._project.vstemplate.xml b/TemplatePack/ItemTemplates/Extensibility/SideWaffle/SW-ProjectVSTemplateFile/fsharp._project.vstemplate.xml index 912f4009..dd2d21ae 100644 --- a/TemplatePack/ItemTemplates/Extensibility/SideWaffle/SW-ProjectVSTemplateFile/fsharp._project.vstemplate.xml +++ b/TemplatePack/ItemTemplates/Extensibility/SideWaffle/SW-ProjectVSTemplateFile/fsharp._project.vstemplate.xml @@ -19,10 +19,13 @@ + LigerShark.Templates, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null diff --git a/TemplatePack/ItemTemplates/Extensibility/SideWaffle/SideWaffle-PreprocessXml/_preprocess.xml b/TemplatePack/ItemTemplates/Extensibility/SideWaffle/SideWaffle-PreprocessXml/_preprocess.xml index 46eeccef..90c9d5c9 100644 --- a/TemplatePack/ItemTemplates/Extensibility/SideWaffle/SideWaffle-PreprocessXml/_preprocess.xml +++ b/TemplatePack/ItemTemplates/Extensibility/SideWaffle/SideWaffle-PreprocessXml/_preprocess.xml @@ -6,7 +6,7 @@ --> - + \ No newline at end of file diff --git a/TemplatePack/ItemTemplates/Test/RunSettings/STAR10.ico b/TemplatePack/ItemTemplates/Test/RunSettings/STAR10.ico new file mode 100644 index 00000000..a94a91df Binary files /dev/null and b/TemplatePack/ItemTemplates/Test/RunSettings/STAR10.ico differ diff --git a/TemplatePack/ItemTemplates/Test/RunSettings/_Definitions/csharp.vstemplate b/TemplatePack/ItemTemplates/Test/RunSettings/_Definitions/csharp.vstemplate new file mode 100644 index 00000000..9a9e2512 --- /dev/null +++ b/TemplatePack/ItemTemplates/Test/RunSettings/_Definitions/csharp.vstemplate @@ -0,0 +1,26 @@ + + + General + default.runsettings + Run Settings (.runsettings) + Default runsettings file. + STAR10.ico + 1 + 5714f070-f077-47ef-9da8-b52951b1c8df + 1000 + ABC | (!ABC) + + + + default.runsettings + + + + + + + + LigerShark.Templates, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + LigerShark.Templates.GoogleAnalyticsWizard + + \ No newline at end of file diff --git a/TemplatePack/ItemTemplates/Test/RunSettings/default.runsettings b/TemplatePack/ItemTemplates/Test/RunSettings/default.runsettings new file mode 100644 index 00000000..6a323749 --- /dev/null +++ b/TemplatePack/ItemTemplates/Test/RunSettings/default.runsettings @@ -0,0 +1,140 @@ + + + + + + + .\TestResults + + + x86 + + + Framework40 + + + + + + + + + + + + + + + .*\.dll$ + .*\.exe$ + + + .*CPPUnitTestFramework.* + .*TestAdapter.* + + + + + + + + ^Fabrikam\.UnitTest\..* + ^std::.* + ^ATL::.* + .*::__GetTestMethodInfo.* + ^Microsoft::VisualStudio::CppCodeCoverageFramework::.* + ^Microsoft::VisualStudio::CppUnitTestFramework::.* + + + + + + + + ^System.Diagnostics.DebuggerHiddenAttribute$ + ^System.Diagnostics.DebuggerNonUserCodeAttribute$ + ^System.Runtime.CompilerServices.CompilerGeneratedAttribute$ + ^System.CodeDom.Compiler.GeneratedCodeAttribute$ + ^System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute$ + ^NUnit.Framework.TestFixtureAttribute$ + ^Xunit.FactAttribute$ + ^Microsoft.VisualStudio.TestTools.UnitTesting.TestClassAttribute$ + + + + + + + .*\\atlmfc\\.* + .*\\vctools\\.* + .*\\public\\sdk\\.* + .*\\microsoft sdks\\.* + .*\\vc\\include\\.* + + + + + + + .*microsoft.* + + + + + + + + ^B77A5C561934E089$ + ^B03F5F7F11D50A3A$ + ^31BF3856AD364E35$ + ^89845DCD8080CC91$ + ^71E9BCE111E9429C$ + ^8F50407C4E9E73B6$ + ^E361AF139669C375$ + + + + + + True + True + True + False + + + + + + + + + + + + + + + + + True + false + False + False + + diff --git a/TemplatePack/ItemTemplates/TypeScript/AngularJs/TypeScript Controller using $scope/controller.ts b/TemplatePack/ItemTemplates/TypeScript/AngularJs/TypeScript Controller using $scope/controller.ts index e502e393..41a0a89a 100644 --- a/TemplatePack/ItemTemplates/TypeScript/AngularJs/TypeScript Controller using $scope/controller.ts +++ b/TemplatePack/ItemTemplates/TypeScript/AngularJs/TypeScript Controller using $scope/controller.ts @@ -2,7 +2,7 @@ module App { "use strict"; - interface I$safeitemname$Scope extends ng.IScope { + interface I$safeitemname$Scope extends angular.IScope { title: string; } diff --git a/TemplatePack/ItemTemplates/TypeScript/AngularJs/TypeScript Controller/controller.ts b/TemplatePack/ItemTemplates/TypeScript/AngularJs/TypeScript Controller/controller.ts index d1d2091d..10cc2318 100644 --- a/TemplatePack/ItemTemplates/TypeScript/AngularJs/TypeScript Controller/controller.ts +++ b/TemplatePack/ItemTemplates/TypeScript/AngularJs/TypeScript Controller/controller.ts @@ -12,7 +12,7 @@ module App { static $inject: string[] = ["$location"]; - constructor(private $location: ng.ILocationService) { + constructor(private $location: angular.ILocationService) { this.activate(); } diff --git a/TemplatePack/ItemTemplates/TypeScript/AngularJs/TypeScript Directive/_Definitions/CSharp.vstemplate b/TemplatePack/ItemTemplates/TypeScript/AngularJs/TypeScript Directive/_Definitions/CSharp.vstemplate index 27cb3273..828c91c6 100644 --- a/TemplatePack/ItemTemplates/TypeScript/AngularJs/TypeScript Directive/_Definitions/CSharp.vstemplate +++ b/TemplatePack/ItemTemplates/TypeScript/AngularJs/TypeScript Directive/_Definitions/CSharp.vstemplate @@ -22,4 +22,8 @@ LigerShark.Templates, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null LigerShark.Templates.GoogleAnalyticsWizard + + LigerShark.Templates, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + LigerShark.Templates.AngularDirectiveUsageWizard + \ No newline at end of file diff --git a/TemplatePack/ItemTemplates/TypeScript/AngularJs/TypeScript Directive/_Definitions/VB.vstemplate b/TemplatePack/ItemTemplates/TypeScript/AngularJs/TypeScript Directive/_Definitions/VB.vstemplate index 92701280..3ff0bc08 100644 --- a/TemplatePack/ItemTemplates/TypeScript/AngularJs/TypeScript Directive/_Definitions/VB.vstemplate +++ b/TemplatePack/ItemTemplates/TypeScript/AngularJs/TypeScript Directive/_Definitions/VB.vstemplate @@ -22,4 +22,8 @@ LigerShark.Templates, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null LigerShark.Templates.GoogleAnalyticsWizard + + LigerShark.Templates, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + LigerShark.Templates.AngularDirectiveUsageWizard + \ No newline at end of file diff --git a/TemplatePack/ItemTemplates/TypeScript/AngularJs/TypeScript Directive/_Definitions/Web.csharp.vstemplate b/TemplatePack/ItemTemplates/TypeScript/AngularJs/TypeScript Directive/_Definitions/Web.csharp.vstemplate index a1d48622..9b3cfead 100644 --- a/TemplatePack/ItemTemplates/TypeScript/AngularJs/TypeScript Directive/_Definitions/Web.csharp.vstemplate +++ b/TemplatePack/ItemTemplates/TypeScript/AngularJs/TypeScript Directive/_Definitions/Web.csharp.vstemplate @@ -23,4 +23,8 @@ LigerShark.Templates, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null LigerShark.Templates.GoogleAnalyticsWizard + + LigerShark.Templates, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + LigerShark.Templates.AngularDirectiveUsageWizard + \ No newline at end of file diff --git a/TemplatePack/ItemTemplates/TypeScript/AngularJs/TypeScript Directive/directive.ts b/TemplatePack/ItemTemplates/TypeScript/AngularJs/TypeScript Directive/directive.ts index 50968134..0d8f9b7e 100644 --- a/TemplatePack/ItemTemplates/TypeScript/AngularJs/TypeScript Directive/directive.ts +++ b/TemplatePack/ItemTemplates/TypeScript/AngularJs/TypeScript Directive/directive.ts @@ -2,23 +2,27 @@ module App { "use strict"; - interface I$safeitemname$ extends ng.IDirective { + interface I$safeitemname$ extends angular.IDirective { } - interface I$safeitemname$Scope extends ng.IScope { + interface I$safeitemname$Scope extends angular.IScope { } - interface I$safeitemname$Attributes extends ng.IAttributes { + interface I$safeitemname$Attributes extends angular.IAttributes { } $safeitemname$.$inject = ["$window"]; - function $safeitemname$($window: ng.IWindowService): I$safeitemname$ { + function $safeitemname$($window: angular.IWindowService): I$safeitemname$ { + // Usage: + // <$directiveUsage$> + // Creates: + // return { restrict: "EA", link: link } - function link(scope: I$safeitemname$Scope, element: ng.IAugmentedJQuery, attrs: I$safeitemname$Attributes) { + function link(scope: I$safeitemname$Scope, element: angular.IAugmentedJQuery, attrs: I$safeitemname$Attributes) { } } diff --git a/TemplatePack/ItemTemplates/TypeScript/AngularJs/TypeScript Factory/factory.ts b/TemplatePack/ItemTemplates/TypeScript/AngularJs/TypeScript Factory/factory.ts index 8385d277..22fc9e0a 100644 --- a/TemplatePack/ItemTemplates/TypeScript/AngularJs/TypeScript Factory/factory.ts +++ b/TemplatePack/ItemTemplates/TypeScript/AngularJs/TypeScript Factory/factory.ts @@ -8,7 +8,7 @@ module App { $safeitemname$.$inject = ["$http"]; - function $safeitemname$($http: ng.IHttpService): I$safeitemname$ { + function $safeitemname$($http: angular.IHttpService): I$safeitemname$ { var service: I$safeitemname$ = { getData: getData }; diff --git a/TemplatePack/ItemTemplates/TypeScript/AngularJs/TypeScript Service/service.ts b/TemplatePack/ItemTemplates/TypeScript/AngularJs/TypeScript Service/service.ts index a2f35c1a..c2c6b175 100644 --- a/TemplatePack/ItemTemplates/TypeScript/AngularJs/TypeScript Service/service.ts +++ b/TemplatePack/ItemTemplates/TypeScript/AngularJs/TypeScript Service/service.ts @@ -9,7 +9,7 @@ module App { class $safeitemname$ implements I$safeitemname$ { static $inject: string[] = ["$http"]; - constructor(private $http: ng.IHttpService) { + constructor(private $http: angular.IHttpService) { } getData() { diff --git a/TemplatePack/ItemTemplates/Web/JavaScript/AngularJs/Directive/_Definitions/CSharp.vstemplate b/TemplatePack/ItemTemplates/Web/JavaScript/AngularJs/Directive/_Definitions/CSharp.vstemplate index 959d8cc9..d7714f39 100644 --- a/TemplatePack/ItemTemplates/Web/JavaScript/AngularJs/Directive/_Definitions/CSharp.vstemplate +++ b/TemplatePack/ItemTemplates/Web/JavaScript/AngularJs/Directive/_Definitions/CSharp.vstemplate @@ -23,4 +23,8 @@ LigerShark.Templates, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null LigerShark.Templates.GoogleAnalyticsWizard + + LigerShark.Templates, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + LigerShark.Templates.AngularDirectiveUsageWizard + \ No newline at end of file diff --git a/TemplatePack/ItemTemplates/Web/JavaScript/AngularJs/Directive/_Definitions/VB.vstemplate b/TemplatePack/ItemTemplates/Web/JavaScript/AngularJs/Directive/_Definitions/VB.vstemplate index 246370bb..96219d15 100644 --- a/TemplatePack/ItemTemplates/Web/JavaScript/AngularJs/Directive/_Definitions/VB.vstemplate +++ b/TemplatePack/ItemTemplates/Web/JavaScript/AngularJs/Directive/_Definitions/VB.vstemplate @@ -23,4 +23,8 @@ LigerShark.Templates, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null LigerShark.Templates.GoogleAnalyticsWizard + + LigerShark.Templates, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + LigerShark.Templates.AngularDirectiveUsageWizard + \ No newline at end of file diff --git a/TemplatePack/ItemTemplates/Web/JavaScript/AngularJs/Directive/_Definitions/Web.csharp.vstemplate b/TemplatePack/ItemTemplates/Web/JavaScript/AngularJs/Directive/_Definitions/Web.csharp.vstemplate index 179049fa..e55aad74 100644 --- a/TemplatePack/ItemTemplates/Web/JavaScript/AngularJs/Directive/_Definitions/Web.csharp.vstemplate +++ b/TemplatePack/ItemTemplates/Web/JavaScript/AngularJs/Directive/_Definitions/Web.csharp.vstemplate @@ -24,4 +24,8 @@ LigerShark.Templates, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null LigerShark.Templates.GoogleAnalyticsWizard + + LigerShark.Templates, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + LigerShark.Templates.AngularDirectiveUsageWizard + \ No newline at end of file diff --git a/TemplatePack/ItemTemplates/Web/JavaScript/AngularJs/Directive/directive.js b/TemplatePack/ItemTemplates/Web/JavaScript/AngularJs/Directive/directive.js index a94f6cfb..c343227b 100644 --- a/TemplatePack/ItemTemplates/Web/JavaScript/AngularJs/Directive/directive.js +++ b/TemplatePack/ItemTemplates/Web/JavaScript/AngularJs/Directive/directive.js @@ -9,7 +9,7 @@ function $safeitemname$ ($window) { // Usage: - // <$safeitemname$> + // <$directiveUsage$> // Creates: // var directive = { diff --git a/TemplatePack/ItemTemplates/Web/JavaScript/jscsrc/jscsrc.txt b/TemplatePack/ItemTemplates/Web/JavaScript/jscsrc/.jscsrc similarity index 100% rename from TemplatePack/ItemTemplates/Web/JavaScript/jscsrc/jscsrc.txt rename to TemplatePack/ItemTemplates/Web/JavaScript/jscsrc/.jscsrc diff --git a/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Component/Definitions/CSharp.vstemplate b/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Component/Definitions/CSharp.vstemplate new file mode 100644 index 00000000..cf20623a --- /dev/null +++ b/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Component/Definitions/CSharp.vstemplate @@ -0,0 +1,31 @@ + + + CSharp + + my.component.ts + Angular2 TypeScript Component + Angular2 TypeScript Component class. By Kent Cooper @kcdevnc + icon.png + 1 + f50707a1-bf49-44a3-9c09-234c1ec08eee + !VB + 1000 + + + + component.ts + + + + + + + + LigerShark.Templates, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + LigerShark.Templates.GoogleAnalyticsWizard + + + LigerShark.Templates, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + LigerShark.Templates.Angular2RenameWizard + + \ No newline at end of file diff --git a/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Component/Definitions/VB.vstemplate b/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Component/Definitions/VB.vstemplate new file mode 100644 index 00000000..ec8efe09 --- /dev/null +++ b/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Component/Definitions/VB.vstemplate @@ -0,0 +1,31 @@ + + + VisualBasic + + my.service.ts + Angular2 TypeScript Service + Angular2 TypeScript Service class. By Kent Cooper @kcdevnc + icon.png + 1 + 3a870753-daaf-4464-b172-22ef8a85e0be + !CSharp + 1000 + + + + service.ts + + + + + + + + LigerShark.Templates, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + LigerShark.Templates.GoogleAnalyticsWizard + + + LigerShark.Templates, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + LigerShark.Templates.Angular2RenameWizard + + \ No newline at end of file diff --git a/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Component/Definitions/Web.csharp.vstemplate b/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Component/Definitions/Web.csharp.vstemplate new file mode 100644 index 00000000..fb40c8c2 --- /dev/null +++ b/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Component/Definitions/Web.csharp.vstemplate @@ -0,0 +1,32 @@ + + + Web + CSharp + + my.service.ts + Angular2 TypeScript Service + Angular2 TypeScript Service class. By Kent Cooper @kcdevnc + icon.png + 1 + 726deb92-a7de-432d-aed4-019239262486 + ABC | (!ABC) + 1000 + + + + service.ts + + + + + + + + LigerShark.Templates, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + LigerShark.Templates.GoogleAnalyticsWizard + + + LigerShark.Templates, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + LigerShark.Templates.Angular2RenameWizard + + \ No newline at end of file diff --git a/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Component/component.ts b/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Component/component.ts new file mode 100644 index 00000000..4df4a0b3 --- /dev/null +++ b/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Component/component.ts @@ -0,0 +1,18 @@ +import {Component, OnInit} from 'angular2/core'; + +@Component({ + selector: '$safeitemname$', + templateUrl: 'app/$safeitemname$.component.html', + styleUrls: ['app/$safeitemname$.component.css'] +}) + +export class $properName$Component implements OnInit { + + constructor() { + + } + + ngOnInit() { + + } +} \ No newline at end of file diff --git a/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Component/icon.png b/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Component/icon.png new file mode 100644 index 00000000..d877cd5b Binary files /dev/null and b/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Component/icon.png differ diff --git a/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Pipe/Definitions/CSharp.vstemplate b/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Pipe/Definitions/CSharp.vstemplate new file mode 100644 index 00000000..7e9af97c --- /dev/null +++ b/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Pipe/Definitions/CSharp.vstemplate @@ -0,0 +1,31 @@ + + + CSharp + + my.pipe.ts + Angular2 TypeScript Pipe + Angular2 TypeScript Pipe class. By Kent Cooper @kcdevnc + icon.png + 1 + 9c293d29-5beb-4974-9dd4-58bd31e7e5a0 + !VB + 1000 + + + + pipe.ts + + + + + + + + LigerShark.Templates, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + LigerShark.Templates.GoogleAnalyticsWizard + + + LigerShark.Templates, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + LigerShark.Templates.Angular2RenameWizard + + \ No newline at end of file diff --git a/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Pipe/Definitions/VB.vstemplate b/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Pipe/Definitions/VB.vstemplate new file mode 100644 index 00000000..7df70681 --- /dev/null +++ b/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Pipe/Definitions/VB.vstemplate @@ -0,0 +1,31 @@ + + + VisualBasic + + my.pipe.ts + Angular2 TypeScript Pipe + Angular2 TypeScript Pipe class. By Kent Cooper @kcdevnc + icon.png + 1 + 8d9c83f7-5fe5-4899-a263-bca34f2950f9 + !CSharp + 1000 + + + + pipe.ts + + + + + + + + LigerShark.Templates, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + LigerShark.Templates.GoogleAnalyticsWizard + + + LigerShark.Templates, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + LigerShark.Templates.Angular2RenameWizard + + \ No newline at end of file diff --git a/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Pipe/Definitions/Web.csharp.vstemplate b/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Pipe/Definitions/Web.csharp.vstemplate new file mode 100644 index 00000000..40933e8c --- /dev/null +++ b/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Pipe/Definitions/Web.csharp.vstemplate @@ -0,0 +1,32 @@ + + + Web + CSharp + + my.pipe.ts + Angular2 TypeScript Pipe + Angular2 TypeScript Pipe class. By Kent Cooper @kcdevnc + icon.png + 1 + dd967489-3804-442e-8ed9-28a9a9260cdf + ABC | (!ABC) + 1000 + + + + pipe.ts + + + + + + + + LigerShark.Templates, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + LigerShark.Templates.GoogleAnalyticsWizard + + + LigerShark.Templates, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + LigerShark.Templates.Angular2RenameWizard + + \ No newline at end of file diff --git a/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Pipe/icon.png b/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Pipe/icon.png new file mode 100644 index 00000000..d877cd5b Binary files /dev/null and b/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Pipe/icon.png differ diff --git a/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Pipe/pipe.ts b/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Pipe/pipe.ts new file mode 100644 index 00000000..8d228018 --- /dev/null +++ b/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Pipe/pipe.ts @@ -0,0 +1,11 @@ +import {Pipe, PipeTransform} from 'angular2/core'; + +@Pipe({ + name: '$safeitemname$' +}) + +export class $properName$Pipe implements PipeTransform { + transform(value: string, args: string[]): any { + + } +} \ No newline at end of file diff --git a/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Service/Definitions/CSharp.vstemplate b/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Service/Definitions/CSharp.vstemplate new file mode 100644 index 00000000..9b82c9dc --- /dev/null +++ b/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Service/Definitions/CSharp.vstemplate @@ -0,0 +1,31 @@ + + + CSharp + + my.service.ts + Angular2 TypeScript Service + Angular2 TypeScript Service class. By Kent Cooper @kcdevnc + icon.png + 1 + 0aaa4aa9-cf2d-4ea0-9aee-4c8dbcdbb485 + !VB + 1000 + + + + service.ts + + + + + + + + LigerShark.Templates, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + LigerShark.Templates.GoogleAnalyticsWizard + + + LigerShark.Templates, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + LigerShark.Templates.Angular2RenameWizard + + \ No newline at end of file diff --git a/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Service/Definitions/VB.vstemplate b/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Service/Definitions/VB.vstemplate new file mode 100644 index 00000000..1aad5709 --- /dev/null +++ b/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Service/Definitions/VB.vstemplate @@ -0,0 +1,31 @@ + + + VisualBasic + + my.service.ts + Angular2 TypeScript Service + Angular2 TypeScript Service class. By Kent Cooper @kcdevnc + icon.png + 1 + b167bc7e-f338-4e2e-bf03-74f06862a3e5 + !CSharp + 1000 + + + + service.ts + + + + + + + + LigerShark.Templates, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + LigerShark.Templates.GoogleAnalyticsWizard + + + LigerShark.Templates, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + LigerShark.Templates.Angular2RenameWizard + + \ No newline at end of file diff --git a/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Service/Definitions/Web.csharp.vstemplate b/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Service/Definitions/Web.csharp.vstemplate new file mode 100644 index 00000000..019fc242 --- /dev/null +++ b/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Service/Definitions/Web.csharp.vstemplate @@ -0,0 +1,32 @@ + + + Web + CSharp + + my.service.ts + Angular2 TypeScript Service + Angular2 TypeScript Service class. By Kent Cooper @kcdevnc + icon.png + 1 + 67d35ded-5872-415b-84dc-fc8d84ef5ed1 + ABC | (!ABC) + 1000 + + + + service.ts + + + + + + + + LigerShark.Templates, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + LigerShark.Templates.GoogleAnalyticsWizard + + + LigerShark.Templates, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + LigerShark.Templates.Angular2RenameWizard + + \ No newline at end of file diff --git a/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Service/icon.png b/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Service/icon.png new file mode 100644 index 00000000..d877cd5b Binary files /dev/null and b/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Service/icon.png differ diff --git a/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Service/service.ts b/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Service/service.ts new file mode 100644 index 00000000..375e9900 --- /dev/null +++ b/TemplatePack/ItemTemplates/Web/TypeScript/Angular2/Service/service.ts @@ -0,0 +1,6 @@ +import {Injectable} from 'angular2/core'; + +@Injectable() +export class $properName$Service { + +} \ No newline at end of file diff --git a/TemplatePack/ProjectTemplates/Extensibility/AspNetScaffolding/Basic/CustomScaffolder/_preprocess.xml b/TemplatePack/ProjectTemplates/Extensibility/AspNetScaffolding/Basic/CustomScaffolder/_preprocess.xml index dd3e4c46..3dffbd95 100644 --- a/TemplatePack/ProjectTemplates/Extensibility/AspNetScaffolding/Basic/CustomScaffolder/_preprocess.xml +++ b/TemplatePack/ProjectTemplates/Extensibility/AspNetScaffolding/Basic/CustomScaffolder/_preprocess.xml @@ -1,6 +1,6 @@  - + \ No newline at end of file diff --git a/TemplatePack/ProjectTemplates/Extensibility/AspNetScaffolding/Basic/CustomScaffolderExtension/_preprocess.xml b/TemplatePack/ProjectTemplates/Extensibility/AspNetScaffolding/Basic/CustomScaffolderExtension/_preprocess.xml index 1b395522..3479d88d 100644 --- a/TemplatePack/ProjectTemplates/Extensibility/AspNetScaffolding/Basic/CustomScaffolderExtension/_preprocess.xml +++ b/TemplatePack/ProjectTemplates/Extensibility/AspNetScaffolding/Basic/CustomScaffolderExtension/_preprocess.xml @@ -1,6 +1,6 @@  - + \ No newline at end of file diff --git a/TemplatePack/ProjectTemplates/Web/Chrome Extension/ChromeExtensionProjectTemplate.csproj b/TemplatePack/ProjectTemplates/Web/Chrome Extension/ChromeExtensionProjectTemplate.csproj index 94dece5c..7bfc06a5 100644 --- a/TemplatePack/ProjectTemplates/Web/Chrome Extension/ChromeExtensionProjectTemplate.csproj +++ b/TemplatePack/ProjectTemplates/Web/Chrome Extension/ChromeExtensionProjectTemplate.csproj @@ -79,6 +79,7 @@ False + @@ -97,4 +98,4 @@ $(BuildFolder)\ligershark.chrome.targets - \ No newline at end of file + diff --git a/TemplatePack/ProjectTemplates/Web/_SampleNewWeb/_preprocess.xml b/TemplatePack/ProjectTemplates/Web/_SampleNewWeb/_preprocess.xml index 5dc349fa..346e914f 100644 --- a/TemplatePack/ProjectTemplates/Web/_SampleNewWeb/_preprocess.xml +++ b/TemplatePack/ProjectTemplates/Web/_SampleNewWeb/_preprocess.xml @@ -1,7 +1,7 @@  - + \ No newline at end of file diff --git a/TemplatePack/TemplatePack.csproj b/TemplatePack/TemplatePack.csproj index 0a66b034..6a6c5feb 100644 --- a/TemplatePack/TemplatePack.csproj +++ b/TemplatePack/TemplatePack.csproj @@ -55,6 +55,24 @@ Always true + + + + + + + + + + + + + + + + + + @@ -114,6 +132,9 @@ + + + Designer @@ -168,6 +189,9 @@ + + + @@ -603,7 +627,9 @@ - + + Designer + @@ -929,13 +955,13 @@ False ..\assemblies\Microsoft.VisualStudio.TextManager.Interop.dll - - False - ..\packages\Newtonsoft.Json.6.0.7\lib\net45\Newtonsoft.Json.dll - ..\packages\Microsoft.Web.Xdt.2.1.1\lib\net40\Microsoft.Web.XmlTransform.dll + + ..\packages\Newtonsoft.Json.8.0.1\lib\net45\Newtonsoft.Json.dll + True + ..\packages\NuGet.VisualStudio.2.8.3\lib\net40\NuGet.VisualStudio.dll True @@ -1152,6 +1178,18 @@ LigerShark.Templates + + + + + + + + + + + + diff --git a/TemplatePack/TemplatePackPackage.cs b/TemplatePack/TemplatePackPackage.cs index ea245a02..d586f3bf 100644 --- a/TemplatePack/TemplatePackPackage.cs +++ b/TemplatePack/TemplatePackPackage.cs @@ -1,18 +1,17 @@ -using System; -using System.Linq; -using System.Diagnostics; -using System.Globalization; -using System.Runtime.InteropServices; -using System.ComponentModel.Design; -using Microsoft.Win32; -using Microsoft.VisualStudio; -using Microsoft.VisualStudio.Shell.Interop; -using Microsoft.VisualStudio.OLE.Interop; -using Microsoft.VisualStudio.Shell; -using System.Collections.Generic; -using EnvDTE; +using EnvDTE; using EnvDTE80; using LigerShark.Templates.DynamicBuilder; +using Microsoft.VisualStudio.Shell; +using Microsoft.VisualStudio.Shell.Interop; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.ComponentModel.Design; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Runtime.InteropServices; using TemplatePack.Tooling; namespace TemplatePack @@ -21,6 +20,7 @@ namespace TemplatePack [InstalledProductRegistration("#110", "#112", "1.0", IconResourceID = 400)] [ProvideMenuResource("Menus.ctmenu", 1)] [Guid(GuidList.guidTemplatePackPkgString)] + [ProvideOptionPage(typeof(OptionPageGrid), "SideWaffle", "General", 0, 0, true)] [ProvideAutoLoad(UIContextGuids80.NoSolution)] [ProvideAutoLoad(UIContextGuids80.SolutionExists)] public sealed class TemplatePackPackage : Package @@ -73,12 +73,10 @@ private void OpenSettings(object sender, EventArgs e) void button_BeforeQueryStatus(object sender, EventArgs e) { var button = (OleMenuCommand)sender; - var project = GetSelectedProjects().ElementAt(0); // TODO: We should only show this if the target project has the TemplateBuilder NuGet pkg installed // or something similar to that. button.Visible = true; - // button.Visible = project.IsWebProject(); } private void ButtonClicked(object sender, EventArgs e) @@ -115,5 +113,42 @@ public IEnumerable GetSelectedProjects() } } } + + public bool SendTelemetry + { + get + { + OptionPageGrid page = (OptionPageGrid)GetDialogPage(typeof(OptionPageGrid)); + return page.SendAnonymousData; + } + } + } + + public class OptionPageGrid : DialogPage + { + [Category("Telemetry")] + [DisplayName("Send Anonymous Data")] + [Description("By selecting true, you agree to send anonymous data to Google Analytics. This data will be used by the SideWaffle team to see how templates are being used.")] + [DefaultValue(true)] + public bool SendAnonymousData { get; set; } + + // When the user clicks the OK button in the Options window + // save the settings in the JSON file. + protected override void OnApply(PageApplyEventArgs e) + { + if (e.ApplyBehavior == ApplyKind.Apply) + { + // TODO: Add save settings feature here + SettingsStore userSettings = new SettingsStore { SendTelemetry = SendAnonymousData }; + string json = JsonConvert.SerializeObject(userSettings, Formatting.Indented); + + // Get the file path where the settings will be stored. + var filePath = Path.Combine(Environment.ExpandEnvironmentVariables(@"%localappdata%\LigerShark\SideWaffle\"), "SideWaffle-Settings.json"); + + // Save the settings to the JSON file + userSettings.WriteJsonFile(filePath, json); + } + base.OnApply(e); + } } } diff --git a/TemplatePack/packages.config b/TemplatePack/packages.config index ac95aeaa..ce3615f7 100644 --- a/TemplatePack/packages.config +++ b/TemplatePack/packages.config @@ -2,7 +2,7 @@ - + \ No newline at end of file diff --git a/TemplatePack/source.extension.vsixmanifest b/TemplatePack/source.extension.vsixmanifest index c6ab2529..e3a8abed 100644 --- a/TemplatePack/source.extension.vsixmanifest +++ b/TemplatePack/source.extension.vsixmanifest @@ -1,7 +1,7 @@  - + SideWaffle Template Pack A side dish filled with item- and project templates for all developers. http://sidewaffle.com diff --git a/TemplatePack/template-report.xml b/TemplatePack/template-report.xml index fd28333c..299c1596 100644 --- a/TemplatePack/template-report.xml +++ b/TemplatePack/template-report.xml @@ -4,6 +4,9 @@ + + + @@ -88,12 +91,15 @@ - + + + + @@ -159,6 +165,9 @@ + + + diff --git a/appveyor.ps1 b/appveyor.ps1 index bc336e78..2a54faf1 100644 --- a/appveyor.ps1 +++ b/appveyor.ps1 @@ -13,4 +13,8 @@ else{ .\build-main.ps1 } -Vsix-PushArtifacts | Vsix-PublishToGallery \ No newline at end of file +Vsix-PushArtifacts + +if ( ($env:APPVEYOR_REPO_NAME -eq "ligershark/side-waffle") -and ( $env:APPVEYOR_REPO_BRANCH -eq "master" ) ) { + Vsix-PublishToGallery +} \ No newline at end of file diff --git a/build-main.ps1 b/build-main.ps1 index 937c38ce..ead5477f 100644 --- a/build-main.ps1 +++ b/build-main.ps1 @@ -563,7 +563,8 @@ function GetTemplateFiles{ throw ('Did not find templates folder at {0}' -f $f.FullName) } - $templatefiles += (Get-ChildItem -Path $f.FullName -Filter _project.vstemplate.xml -Recurse -File) + $templatefiles += Get-ChildItem -Path $f.FullName -Filter _project.vstemplate.xml -Recurse -File | Where-Object { $_.Directory.Name -ne 'SW-ProjectVSTemplateFile' } + $templatefiles += (Get-ChildItem -Path $f.FullName -Filter *.vstemplate -Recurse -File) } diff --git a/release-notes.xml b/release-notes.xml index a9771efb..a684a40f 100644 --- a/release-notes.xml +++ b/release-notes.xml @@ -1,8 +1,21 @@  + + Updated jscsrc item template to use the correct file + Added Angular 2 TypeScript Service template + Added Angular 2 TypeScript Component template + Added Angular 2 TypeScript Pipe template + + Changed the AngularJs directive templates to fix a bug with the usage comments issue #285 + + Updated Angular TypeScript templates to reflect changes made to the Angular type definitions + Added Unit Test Run Settings template + Updated Project Template - The packages of Nancy project templates + Updated Project Template - The framework versions of Nancy project templates are set to 4.6.1 + Added support for dynamic templates - Updated xUnit template for ASP.NET 5 RC1 + Updated xUnit template for ASP.NET 5 RC1 Added SortOrder and set it to 1000 for all ItemTemplates that didn't already have a SortOrder element