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$
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ .*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$>$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$>$safeitemname$>
+ // <$directiveUsage$>$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