├── art
├── preview.png
└── snippets.gif
├── UnityProjectTemplates
├── snippets.pkgdef
├── preview.png
├── ItemTemplates
│ ├── Shaders
│ │ ├── Unlit
│ │ │ ├── Icon.ico
│ │ │ ├── _preprocess.xml
│ │ │ ├── _Definitions
│ │ │ │ └── CSharp.vstemplate
│ │ │ └── NewUnlitShader.shader
│ │ ├── Compute
│ │ │ ├── Icon.ico
│ │ │ ├── _preprocess.xml
│ │ │ ├── NewComputeShader.compute
│ │ │ └── _Definitions
│ │ │ │ └── CSharp.vstemplate
│ │ ├── Surface
│ │ │ ├── Icon.ico
│ │ │ ├── _preprocess.xml
│ │ │ ├── _Definitions
│ │ │ │ └── CSharp.vstemplate
│ │ │ └── NewSurfaceShader.shader
│ │ ├── ImageEffect
│ │ │ ├── Icon.ico
│ │ │ ├── _preprocess.xml
│ │ │ ├── _Definitions
│ │ │ │ └── CSharp.vstemplate
│ │ │ └── NewImageEffectShader.shader
│ │ └── RayTracing
│ │ │ ├── Icon.ico
│ │ │ ├── _preprocess.xml
│ │ │ ├── NewRayTracingShader.raytrace
│ │ │ └── _Definitions
│ │ │ └── CSharp.vstemplate
│ ├── MonoBehaviour
│ │ ├── _preprocess.xml
│ │ ├── NewMonoBehaviour.cs
│ │ └── _Definitions
│ │ │ └── CSharp.vstemplate
│ ├── UnityTestCase
│ │ ├── _preprocess.xml
│ │ ├── NewUnityTestCase.cs
│ │ └── _Definitions
│ │ │ └── CSharp.vstemplate
│ ├── ECS
│ │ ├── System
│ │ │ ├── _preprocess.xml
│ │ │ ├── NewEntityComponentSystem.cs
│ │ │ └── _Definitions
│ │ │ │ └── CSharp.vstemplate
│ │ └── ComponentData
│ │ │ ├── _preprocess.xml
│ │ │ ├── NewComponentData.cs
│ │ │ └── _Definitions
│ │ │ └── CSharp.vstemplate
│ ├── ScriptableObject
│ │ ├── _preprocess.xml
│ │ ├── NewScriptableObject.cs
│ │ └── _Definitions
│ │ │ └── CSharp.vstemplate
│ └── StateMachineBehaviour
│ │ ├── _preprocess.xml
│ │ ├── NewStateMachineBehaviour.cs
│ │ └── _Definitions
│ │ └── CSharp.vstemplate
├── CommandId.cs
├── packages.config
├── Properties
│ ├── template-builder.props
│ └── AssemblyInfo.cs
├── Snippets
│ └── Unity
│ │ ├── require-component.snippet
│ │ ├── debug-log-info.snippet
│ │ ├── debug-log-error.snippet
│ │ ├── coroutine.snippet
│ │ ├── debug-log-warning.snippet
│ │ ├── debug-log-exception.snippet
│ │ ├── serialized-field.snippet
│ │ ├── monobehaviour.snippet
│ │ ├── menu-item.snippet
│ │ ├── unity-test.snippet
│ │ ├── create-asset-menu.snippet
│ │ ├── serialized-field-property.snippet
│ │ └── singleton-behaviour.snippet
├── RELEASENOTES.txt
├── LICENSE.txt
├── Guids.cs
├── source.extension.vsixmanifest
├── template-report.xml
├── Resources
│ ├── Strings.Designer.cs
│ └── Strings.resx
├── UnityProjectTemplateCommandPackage.vsct
├── UnityProjectTemplateCommandPackage.cs
└── UnityProjectTemplates.csproj
├── README.md
├── UnityProjectTemplates.sln
└── .gitignore
/art/preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/therealjohn/UnityProjectTemplatesAndSnippets/HEAD/art/preview.png
--------------------------------------------------------------------------------
/art/snippets.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/therealjohn/UnityProjectTemplatesAndSnippets/HEAD/art/snippets.gif
--------------------------------------------------------------------------------
/UnityProjectTemplates/snippets.pkgdef:
--------------------------------------------------------------------------------
1 | [$RootKey$\Languages\CodeExpansions\CSharp\Paths]
2 | "Unity"="$PackageFolder$\Snippets\Unity"
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # UnityProjectTemplatesAndSnippets
2 | An extension for VS 2019 that adds file templates and snippets for Unity projects
3 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/therealjohn/UnityProjectTemplatesAndSnippets/HEAD/UnityProjectTemplates/preview.png
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/Shaders/Unlit/Icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/therealjohn/UnityProjectTemplatesAndSnippets/HEAD/UnityProjectTemplates/ItemTemplates/Shaders/Unlit/Icon.ico
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/Shaders/Compute/Icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/therealjohn/UnityProjectTemplatesAndSnippets/HEAD/UnityProjectTemplates/ItemTemplates/Shaders/Compute/Icon.ico
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/Shaders/Surface/Icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/therealjohn/UnityProjectTemplatesAndSnippets/HEAD/UnityProjectTemplates/ItemTemplates/Shaders/Surface/Icon.ico
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/Shaders/ImageEffect/Icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/therealjohn/UnityProjectTemplatesAndSnippets/HEAD/UnityProjectTemplates/ItemTemplates/Shaders/ImageEffect/Icon.ico
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/Shaders/RayTracing/Icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/therealjohn/UnityProjectTemplatesAndSnippets/HEAD/UnityProjectTemplates/ItemTemplates/Shaders/RayTracing/Icon.ico
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/MonoBehaviour/_preprocess.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/UnityTestCase/_preprocess.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/ECS/System/_preprocess.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/ScriptableObject/_preprocess.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/ECS/ComponentData/_preprocess.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/Shaders/Compute/_preprocess.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/Shaders/Surface/_preprocess.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/Shaders/Unlit/_preprocess.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/StateMachineBehaviour/_preprocess.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/Shaders/ImageEffect/_preprocess.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/Shaders/RayTracing/_preprocess.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/ECS/ComponentData/NewComponentData.cs:
--------------------------------------------------------------------------------
1 | using Unity.Entities;
2 |
3 | namespace $rootnamespace$
4 | {
5 | [GenerateAuthoringComponent]
6 | public struct $safeitemname$ : IComponentData
7 | {
8 |
9 | }
10 | }
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/ScriptableObject/NewScriptableObject.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | namespace $rootnamespace$
4 | {
5 | [CreateAssetMenu(fileName = "$safeitemname$", menuName = "$safeitemname$", order = 0)]
6 | public class $safeitemname$ : ScriptableObject
7 | {
8 |
9 | }
10 | }
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/Shaders/RayTracing/NewRayTracingShader.raytrace:
--------------------------------------------------------------------------------
1 | RWTexture2D RenderTarget;
2 |
3 | #pragma max_recursion_depth 1
4 |
5 | [shader("raygeneration")]
6 | void MyRaygenShader()
7 | {
8 | uint2 dispatchIdx = DispatchRaysIndex().xy;
9 |
10 | RenderTarget[dispatchIdx] = float4(dispatchIdx.x & dispatchIdx.y, (dispatchIdx.x & 15)/15.0, (dispatchIdx.y & 15)/15.0, 0.0);
11 | }
12 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/MonoBehaviour/NewMonoBehaviour.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using System.Collections;
3 |
4 | namespace $rootnamespace$
5 | {
6 | public class $safeitemname$ : MonoBehaviour
7 | {
8 |
9 | // Use this for initialization
10 | void Start()
11 | {
12 |
13 | }
14 |
15 | // Update is called once per frame
16 | void Update()
17 | {
18 |
19 | }
20 | }
21 | }
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/ECS/System/NewEntityComponentSystem.cs:
--------------------------------------------------------------------------------
1 | using Unity.Entities;
2 | using Unity.Jobs;
3 |
4 | namespace $rootnamespace$
5 | {
6 | [UpdateInGroup(typeof(SimulationSystemGroup))]
7 | public class $safeitemname$ : SystemBase
8 | {
9 | protected override void OnStartRunning()
10 | {
11 |
12 | }
13 |
14 | protected override void OnUpdate()
15 | {
16 |
17 | }
18 | }
19 | }
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/Shaders/Compute/NewComputeShader.compute:
--------------------------------------------------------------------------------
1 | // Each #kernel tells which function to compile; you can have many kernels
2 | #pragma kernel CSMain
3 |
4 | // Create a RenderTexture with enableRandomWrite flag and set it
5 | // with cs.SetTexture
6 | RWTexture2D Result;
7 |
8 | [numthreads(8, 8, 1)]
9 | void CSMain(uint3 id : SV_DispatchThreadID)
10 | {
11 | // TODO: insert actual code here!
12 |
13 | Result[id.xy] = float4(id.x & id.y, (id.x & 15) / 15.0, (id.y & 15) / 15.0, 0.0);
14 | }
15 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/CommandId.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace UnityProjectTemplates
8 | {
9 | enum CommandId
10 | {
11 | NewMonoBehaviourCommandId = 0x100,
12 | NewScriptableObjectCommandId = 0x101,
13 | NewUnityTestCommandId = 0x102,
14 | NewStateMachineBehaviourCommandId = 0x103,
15 | NewSurfaceShaderCommandId = 0x104,
16 | NewImageEffectShaderCommandId = 0x105,
17 | NewUnlitShaderCommandId = 0x106,
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/Shaders/Unlit/_Definitions/CSharp.vstemplate:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Microsoft.Unity.UnlitShader
5 | NewUnlitShader.shader
6 | Unity Unlit Shader
7 | Creates a new unlit shader file.
8 | 21
9 | Icon.ico
10 | CSharp
11 | 1
12 | Unity + CSharp
13 |
14 |
15 | NewUnlitShader.shader
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/Shaders/Compute/_Definitions/CSharp.vstemplate:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Microsoft.Unity.ComputeShader
5 | NewComputeShader.compute
6 | Unity Compute Shader
7 | Creates a new compute shader file.
8 | 23
9 | Icon.ico
10 | CSharp
11 | 1
12 | Unity + CSharp
13 |
14 |
15 | NewComputeShader.compute
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/Shaders/Surface/_Definitions/CSharp.vstemplate:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Microsoft.Unity.SurfaceShader
5 | NewSurfaceShader.shader
6 | Unity Surface Shader
7 | Creates a new surface shader file.
8 | 20
9 | Icon.ico
10 | CSharp
11 | 1
12 | Unity + CSharp
13 |
14 |
15 | NewSurfaceShader.shader
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/Shaders/RayTracing/_Definitions/CSharp.vstemplate:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Microsoft.Unity.RayTraceShader
5 | NewRayTracingShader.raytrace
6 | Unity Ray Trace Shader
7 | Creates a new ray tracing shader file.
8 | 25
9 | Icon.ico
10 | CSharp
11 | 1
12 | Unity + CSharp
13 |
14 |
15 | NewRayTracingShader.raytrace
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/Shaders/ImageEffect/_Definitions/CSharp.vstemplate:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Microsoft.Unity.ImageEffectShader
5 | NewImageEffectShader.shader
6 | Unity Image Effect Shader
7 | Creates a new image effect shader file.
8 | 22
9 | Icon.ico
10 | CSharp
11 | 1
12 | Unity + CSharp
13 |
14 |
15 | NewImageEffectShader.shader
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/MonoBehaviour/_Definitions/CSharp.vstemplate:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Microsoft.Unity.MonoBehaviour
5 | NewMonoBehaviour.cs
6 | Unity MonoBehaviour
7 | Creates a new MonoBehaviour class.
8 | 1
9 |
10 | CSharp
11 | 1
12 | Unity + CSharp
13 |
14 |
15 | NewMonoBehaviour.cs
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/UnityTestCase/NewUnityTestCase.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using NUnit.Framework;
4 | using UnityEngine;
5 | using UnityEngine.TestTools;
6 |
7 | namespace $rootnamespace$
8 | {
9 | public class $safeitemname$
10 | {
11 | // A Test behaves as an ordinary method
12 | [Test]
13 | public void NewTestScriptSimplePasses()
14 | {
15 | // Use the Assert class to test conditions
16 | }
17 |
18 | // A UnityTest behaves like a coroutine in Play Mode. In Edit Mode you can use
19 | // `yield return null;` to skip a frame.
20 | [UnityTest]
21 | public IEnumerator NewTestScriptWithEnumeratorPasses()
22 | {
23 | // Use the Assert class to test conditions.
24 | // Use yield to skip a frame.
25 | yield return null;
26 | }
27 | }
28 | }
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/ECS/ComponentData/_Definitions/CSharp.vstemplate:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Microsoft.Unity.ComponentData
5 | NewComponentData.cs
6 | Unity Entity Component Data
7 | Creates a new IComponentData struct.
8 | 10
9 |
10 | CSharp
11 | 1
12 | Unity + CSharp
13 |
14 |
15 | NewComponentData.cs
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/ScriptableObject/_Definitions/CSharp.vstemplate:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Microsoft.Unity.ScriptableObject
5 | NewScriptableObject.cs
6 | Unity ScriptableObject
7 | Creates a new ScriptableObject class.
8 | 2
9 |
10 | CSharp
11 | 1
12 | Unity + CSharp
13 |
14 |
15 | NewScriptableObject.cs
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/StateMachineBehaviour/NewStateMachineBehaviour.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | namespace $rootnamespace$
4 | {
5 | public class $safeitemname$ : StateMachineBehaviour
6 | {
7 | public override void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
8 | {
9 | }
10 |
11 | public override void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
12 | {
13 | }
14 |
15 | public override void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
16 | {
17 | }
18 |
19 | public override void OnStateMove(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
20 | {
21 | }
22 |
23 | public override void OnStateIK(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
24 | {
25 | }
26 | }
27 | }
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/ECS/System/_Definitions/CSharp.vstemplate:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Microsoft.Unity.EntityComponentSystem
5 | NewEntityComponentSystem.cs
6 | Unity Entity Component System
7 | Creates a new SystemBase class.
8 | 11
9 |
10 | CSharp
11 | 1
12 | Unity + CSharp
13 |
14 |
15 | NewEntityComponentSystem.cs
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/UnityTestCase/_Definitions/CSharp.vstemplate:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Microsoft.Unity.UnityTestCase
5 | NewUnityTestCase.cs
6 | Unity Test Case
7 | Creates a new class with default items for unit testing with Unity.
8 | 4
9 |
10 | CSharp
11 | 1
12 | Unity + CSharp
13 |
14 |
15 | NewUnityTestCase.cs
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/Properties/template-builder.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
10 |
13 |
14 |
15 | Unity
16 |
17 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/StateMachineBehaviour/_Definitions/CSharp.vstemplate:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Microsoft.Unity.StateMachineBehaviour
5 | NewStateMachineBehaviour.cs
6 | Unity StateMachineBehaviour
7 | Creates a new StateMachineBehaviour class.
8 | 3
9 |
10 | CSharp
11 | 1
12 | Unity + CSharp
13 |
14 |
15 | NewStateMachineBehaviour.cs
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/Snippets/Unity/require-component.snippet:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 | Unity Require Component
7 | reqcomp
8 | Code snippet for [RequireComponent]
9 | John Miller
10 |
11 | Expansion
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | UnityEngine
21 |
22 |
23 |
24 |
25 | type
26 | Component type
27 | Transform
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/RELEASENOTES.txt:
--------------------------------------------------------------------------------
1 | #1.1 - New Item menu options
2 | New menu items for common files are availble when you right-click a Project or Folder in the Solution Explorer. Choose Add to see a list of Unity-specific options.
3 |
4 | #1.0 - Initial release
5 |
6 | ##Project templates for Unity-specific files
7 | - MonoBehaviour
8 | - ScriptableObject
9 | - StateMachineBehaviour
10 | - UnityTestCase
11 | - Compute Shader
12 | - ImageEffect Shader
13 | - RayTracing Shader
14 | - Surface Shader
15 | - Unlit Shader
16 | - IComponentData struct for ECS
17 | - SystemBase class for ECS
18 |
19 | ##Snippets for Unity
20 | - Coroutine method (cor)
21 | - [AssetMenu] (assetmenu)
22 | - Debug.Log() (log)
23 | - Debug.LogWarning() (logwarning)
24 | - Debug.LogError() (logerror)
25 | - Debug.LogException() (logexception)
26 | - [MenuItem] (menuitem)
27 | - MonoBehaviour (monobehaviour)
28 | - [RequireComponent] (reqcomp)
29 | - Private field with [SerializeField] (sfield)
30 | - Property with backing field and [SerializeField] (sprop)
31 | - MonoBehaviour singleton (usingleton)
32 | - [UnityTest] coroutine method for unit testing (utest)
--------------------------------------------------------------------------------
/UnityProjectTemplates/Snippets/Unity/debug-log-info.snippet:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 | Unity Debug Log Info
7 | log
8 | Code snippet for a Unity console info log message
9 | John Miller
10 |
11 | Expansion
12 |
13 |
14 |
15 |
16 |
18 |
19 |
20 |
21 | UnityEngine
22 |
23 |
24 |
25 |
26 | log
27 | The message to log
28 | Hello World
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/Snippets/Unity/debug-log-error.snippet:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 | Unity Debug Log Error
7 | logerror
8 | Code snippet for a Unity console error log message
9 | John Miller
10 |
11 | Expansion
12 |
13 |
14 |
15 |
16 |
18 |
19 |
20 |
21 | UnityEngine
22 |
23 |
24 |
25 |
26 | log
27 | The message to log
28 | Hello World
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/Snippets/Unity/coroutine.snippet:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 | Unity Coroutine
7 | cor
8 | Code snippet for coroutine method
9 | John Miller
10 |
11 | Expansion
12 |
13 |
14 |
15 |
16 |
21 |
22 |
23 |
24 | System.Collections
25 |
26 |
27 |
28 |
29 | name
30 | Method name
31 | MyCoroutine
32 |
33 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/Snippets/Unity/debug-log-warning.snippet:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 | Unity Debug Log Warning
7 | logwarning
8 | Code snippet for a Unity console warning log message
9 | John Miller
10 |
11 | Expansion
12 |
13 |
14 |
15 |
16 |
18 |
19 |
20 |
21 | UnityEngine
22 |
23 |
24 |
25 |
26 | log
27 | The message to log
28 | Hello World
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/Snippets/Unity/debug-log-exception.snippet:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 | Unity Debug Log Exception
7 | logexception
8 | Code snippet for a Unity console exception log message
9 | John Miller
10 |
11 | Expansion
12 |
13 |
14 |
15 |
16 |
18 |
19 |
20 |
21 | UnityEngine
22 |
23 |
24 |
25 |
26 | log
27 | The message to log
28 | Hello World
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/LICENSE.txt:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 John Miller
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/UnityProjectTemplates.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 16
4 | VisualStudioVersion = 16.0.30410.7
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnityProjectTemplates", "UnityProjectTemplates\UnityProjectTemplates.csproj", "{9D2B44AB-87D3-4DC8-87F8-1D9CC4E5C1FC}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Release|Any CPU = Release|Any CPU
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {9D2B44AB-87D3-4DC8-87F8-1D9CC4E5C1FC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 | {9D2B44AB-87D3-4DC8-87F8-1D9CC4E5C1FC}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 | {9D2B44AB-87D3-4DC8-87F8-1D9CC4E5C1FC}.Release|Any CPU.ActiveCfg = Release|Any CPU
17 | {9D2B44AB-87D3-4DC8-87F8-1D9CC4E5C1FC}.Release|Any CPU.Build.0 = Release|Any CPU
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | GlobalSection(ExtensibilityGlobals) = postSolution
23 | SolutionGuid = {307AB85C-482C-42D1-8F9A-52ECDD07B8F6}
24 | EndGlobalSection
25 | EndGlobal
26 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/Snippets/Unity/serialized-field.snippet:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 | Unity Serialized Field
7 | sfield
8 | Code snippet for a private field with [SerializedField]
9 | John Miller
10 |
11 | Expansion
12 |
13 |
14 |
15 |
16 |
18 |
19 |
20 |
21 | UnityEngine
22 |
23 |
24 |
25 |
26 | type
27 | Field type
28 | int
29 |
30 |
31 | name
32 | Field name
33 | myField
34 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/Snippets/Unity/monobehaviour.snippet:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 | Unity MonoBehaviour
7 | monobehaviour
8 | Code snippet for a MonoBehaviour class
9 | John Miller
10 |
11 | Expansion
12 |
13 |
14 |
15 |
16 |
30 |
31 |
32 |
33 | UnityEngine
34 |
35 |
36 |
37 |
38 | name
39 | Class name
40 | MyMonoBehaviour
41 |
42 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/Snippets/Unity/menu-item.snippet:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 | Unity MenuItem
7 | menuitem
8 | Code snippet for Unity MenuItem and method
9 | John Miller
10 |
11 | Expansion
12 |
13 |
14 |
15 |
16 |
21 |
22 |
23 |
24 | UnityEditor
25 |
26 |
27 |
28 |
29 | menuname
30 | Menu name
31 | MyMenu
32 |
33 |
34 | name
35 | Method name
36 | MyMenuDoSomething
37 |
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/Shaders/ImageEffect/NewImageEffectShader.shader:
--------------------------------------------------------------------------------
1 | Shader "Hidden/NewImageEffectShader"
2 | {
3 | Properties
4 | {
5 | _MainTex("Texture", 2D) = "white" {}
6 | }
7 | SubShader
8 | {
9 | // No culling or depth
10 | Cull Off ZWrite Off ZTest Always
11 |
12 | Pass
13 | {
14 | CGPROGRAM
15 | #pragma vertex vert
16 | #pragma fragment frag
17 |
18 | #include "UnityCG.cginc"
19 |
20 | struct appdata
21 | {
22 | float4 vertex : POSITION;
23 | float2 uv : TEXCOORD0;
24 | };
25 |
26 | struct v2f
27 | {
28 | float2 uv : TEXCOORD0;
29 | float4 vertex : SV_POSITION;
30 | };
31 |
32 | v2f vert(appdata v)
33 | {
34 | v2f o;
35 | o.vertex = UnityObjectToClipPos(v.vertex);
36 | o.uv = v.uv;
37 | return o;
38 | }
39 |
40 | sampler2D _MainTex;
41 |
42 | fixed4 frag(v2f i) : SV_Target
43 | {
44 | fixed4 col = tex2D(_MainTex, i.uv);
45 | // just invert the colors
46 | col.rgb = 1 - col.rgb;
47 | return col;
48 | }
49 | ENDCG
50 | }
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("UnityProjectTemplates")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("UnityProjectTemplates")]
13 | [assembly: AssemblyCopyright("")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // Version information for an assembly consists of the following four values:
23 | //
24 | // Major Version
25 | // Minor Version
26 | // Build Number
27 | // Revision
28 | //
29 | // You can specify all the values or you can default the Build and Revision Numbers
30 | // by using the '*' as shown below:
31 | // [assembly: AssemblyVersion("1.0.*")]
32 | [assembly: AssemblyVersion("1.1.0.0")]
33 | [assembly: AssemblyFileVersion("1.1.0.0")]
34 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/Guids.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace UnityProjectTemplates
8 | {
9 | static class Guids
10 | {
11 | public const string GuidCSharpProjectString = "FAE04EC0-301F-11D3-BF4B-00C04F79EFBC";
12 | public static readonly Guid GuidCSharpProject = new Guid(GuidCSharpProjectString);
13 |
14 | public const string GuidUnityProjectTemplateCommandPackageString = "59e25f6f-99d2-4be2-bf04-8ec839c7665a";
15 | public static readonly Guid GuidUnityProjectTemplateCommandPackage = new Guid(GuidUnityProjectTemplateCommandPackageString);
16 |
17 | public const string GuidUnityNewScriptCmdSetString = "413895c8-48aa-4630-b907-c67ee52c0368";
18 | public static readonly Guid GuidUnityNewScriptCmdSet = new Guid(GuidUnityNewScriptCmdSetString);
19 |
20 | public const string GuidUnityNewTestCmdSetString = "dea55eda-7d0c-4a18-9bd1-5d91d7636a83";
21 | public static readonly Guid GuidUnityNewTestCmdSet = new Guid(GuidUnityNewTestCmdSetString);
22 |
23 | public const string GuidUnityNewShaderCmdSetString = "c1325a24-e2d0-4186-92f6-0ba858a50f17";
24 | public static readonly Guid GuidUnityNewShaderCmdSet = new Guid(GuidUnityNewShaderCmdSetString);
25 |
26 | public const string GuidUnityTemplatesUIContext = "B83C6785-A21F-493B-B349-4168F63DE01E";
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/Snippets/Unity/unity-test.snippet:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 | UnityTest method
7 | utest
8 | Code snippet for UnityTest method
9 | John Miller
10 |
11 | Expansion
12 |
13 |
14 |
15 |
16 |
25 |
26 |
27 |
28 | UnityEngine.TestTools
29 |
30 |
31 | System.Collections
32 |
33 |
34 |
35 |
36 | name
37 | Method name
38 | NewTestScriptWithEnumeratorPasses
39 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/Snippets/Unity/create-asset-menu.snippet:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 | Unity CreateAssetMenu attribute
7 | assetmenu
8 | Code snippet for Unity CreateAssetMenu attribute
9 | John Miller
10 |
11 | Expansion
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | UnityEngine
21 |
22 |
23 |
24 |
25 | filename
26 | File name
27 | MyAssetFile
28 |
29 |
30 | menuname
31 | Menu name
32 | MyAssetFile
33 |
34 |
35 | order
36 | Order in the menu
37 | 1
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/Snippets/Unity/serialized-field-property.snippet:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 | Unity Property with a backing Unity serialized field
7 | sprop
8 | Code snippet for a property with a backing Unity serialized field
9 | John Miller
10 |
11 | Expansion
12 |
13 |
14 |
15 |
16 | $field$;
18 | $end$]]>
19 |
20 |
21 |
22 | UnityEngine
23 |
24 |
25 |
26 |
27 | type
28 | Property type
29 | int
30 |
31 |
32 | property
33 | Property name
34 | MyProperty
35 |
36 |
37 | field
38 | The variable backing this property
39 | myVar
40 |
41 |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/Shaders/Unlit/NewUnlitShader.shader:
--------------------------------------------------------------------------------
1 | Shader "Unlit/NewUnlitShader"
2 | {
3 | Properties
4 | {
5 | _MainTex("Texture", 2D) = "white" {}
6 | }
7 | SubShader
8 | {
9 | Tags { "RenderType" = "Opaque" }
10 | LOD 100
11 |
12 | Pass
13 | {
14 | CGPROGRAM
15 | #pragma vertex vert
16 | #pragma fragment frag
17 | // make fog work
18 | #pragma multi_compile_fog
19 |
20 | #include "UnityCG.cginc"
21 |
22 | struct appdata
23 | {
24 | float4 vertex : POSITION;
25 | float2 uv : TEXCOORD0;
26 | };
27 |
28 | struct v2f
29 | {
30 | float2 uv : TEXCOORD0;
31 | UNITY_FOG_COORDS(1)
32 | float4 vertex : SV_POSITION;
33 | };
34 |
35 | sampler2D _MainTex;
36 | float4 _MainTex_ST;
37 |
38 | v2f vert(appdata v)
39 | {
40 | v2f o;
41 | o.vertex = UnityObjectToClipPos(v.vertex);
42 | o.uv = TRANSFORM_TEX(v.uv, _MainTex);
43 | UNITY_TRANSFER_FOG(o,o.vertex);
44 | return o;
45 | }
46 |
47 | fixed4 frag(v2f i) : SV_Target
48 | {
49 | // sample the texture
50 | fixed4 col = tex2D(_MainTex, i.uv);
51 | // apply fog
52 | UNITY_APPLY_FOG(i.fogCoord, col);
53 | return col;
54 | }
55 | ENDCG
56 | }
57 | }
58 | }
59 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/Snippets/Unity/singleton-behaviour.snippet:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 | Unity Property and static field for singleton pattern in MonoBehaviours
7 | usingleton
8 | Code snippet for a property and static field for singleton pattern
9 | John Miller
10 |
11 | Expansion
12 |
13 |
14 |
15 |
16 |
34 |
35 |
36 |
37 | UnityEngine
38 |
39 |
40 |
41 |
42 | type
43 | Property type
44 | int
45 |
46 |
47 | property
48 | Property name
49 | Instance
50 |
51 |
52 | field
53 | The variable backing this property
54 | instance
55 |
56 |
57 |
58 |
59 |
60 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/source.extension.vsixmanifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Unity File Templates and Snippets
6 | File item templates and snippets for Unity projects.
7 | LICENSE.txt
8 | RELEASENOTES.txt
9 | preview.png
10 | unity,game,template,snippet
11 | true
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/ItemTemplates/Shaders/Surface/NewSurfaceShader.shader:
--------------------------------------------------------------------------------
1 | Shader "Custom/NewSurfaceShader"
2 | {
3 | Properties
4 | {
5 | _Color("Color", Color) = (1,1,1,1)
6 | _MainTex("Albedo (RGB)", 2D) = "white" {}
7 | _Glossiness("Smoothness", Range(0,1)) = 0.5
8 | _Metallic("Metallic", Range(0,1)) = 0.0
9 | }
10 | SubShader
11 | {
12 | Tags { "RenderType" = "Opaque" }
13 | LOD 200
14 |
15 | CGPROGRAM
16 | // Physically based Standard lighting model, and enable shadows on all light types
17 | #pragma surface surf Standard fullforwardshadows
18 |
19 | // Use shader model 3.0 target, to get nicer looking lighting
20 | #pragma target 3.0
21 |
22 | sampler2D _MainTex;
23 |
24 | struct Input
25 | {
26 | float2 uv_MainTex;
27 | };
28 |
29 | half _Glossiness;
30 | half _Metallic;
31 | fixed4 _Color;
32 |
33 | // Add instancing support for this shader. You need to check 'Enable Instancing' on materials that use the shader.
34 | // See https://docs.unity3d.com/Manual/GPUInstancing.html for more information about instancing.
35 | // #pragma instancing_options assumeuniformscaling
36 | UNITY_INSTANCING_BUFFER_START(Props)
37 | // put more per-instance properties here
38 | UNITY_INSTANCING_BUFFER_END(Props)
39 |
40 | void surf(Input IN, inout SurfaceOutputStandard o)
41 | {
42 | // Albedo comes from a texture tinted by color
43 | fixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color;
44 | o.Albedo = c.rgb;
45 | // Metallic and smoothness come from slider variables
46 | o.Metallic = _Metallic;
47 | o.Smoothness = _Glossiness;
48 | o.Alpha = c.a;
49 | }
50 | ENDCG
51 | }
52 | FallBack "Diffuse"
53 | }
54 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/template-report.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/Resources/Strings.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.42000
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace UnityProjectTemplates.Resources {
12 | using System;
13 |
14 |
15 | ///
16 | /// A strongly-typed resource class, for looking up localized strings, etc.
17 | ///
18 | // This class was auto-generated by the StronglyTypedResourceBuilder
19 | // class via a tool like ResGen or Visual Studio.
20 | // To add or remove a member, edit your .ResX file then rerun ResGen
21 | // with the /str option, or rebuild your VS project.
22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
25 | public class Strings {
26 |
27 | private static global::System.Resources.ResourceManager resourceMan;
28 |
29 | private static global::System.Globalization.CultureInfo resourceCulture;
30 |
31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
32 | internal Strings() {
33 | }
34 |
35 | ///
36 | /// Returns the cached ResourceManager instance used by this class.
37 | ///
38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
39 | public static global::System.Resources.ResourceManager ResourceManager {
40 | get {
41 | if (object.ReferenceEquals(resourceMan, null)) {
42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("UnityProjectTemplates.Resources.Strings", typeof(Strings).Assembly);
43 | resourceMan = temp;
44 | }
45 | return resourceMan;
46 | }
47 | }
48 |
49 | ///
50 | /// Overrides the current thread's CurrentUICulture property for all
51 | /// resource lookups using this strongly typed resource class.
52 | ///
53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
54 | public static global::System.Globalization.CultureInfo Culture {
55 | get {
56 | return resourceCulture;
57 | }
58 | set {
59 | resourceCulture = value;
60 | }
61 | }
62 |
63 | ///
64 | /// Looks up a localized string similar to Unity Image Effect Shader.
65 | ///
66 | public static string UnityImageEffectShader {
67 | get {
68 | return ResourceManager.GetString("UnityImageEffectShader", resourceCulture);
69 | }
70 | }
71 |
72 | ///
73 | /// Looks up a localized string similar to Unity MonoBehaviour.
74 | ///
75 | public static string UnityMonoBehaviour {
76 | get {
77 | return ResourceManager.GetString("UnityMonoBehaviour", resourceCulture);
78 | }
79 | }
80 |
81 | ///
82 | /// Looks up a localized string similar to Unity ScriptableObject.
83 | ///
84 | public static string UnityScriptableObject {
85 | get {
86 | return ResourceManager.GetString("UnityScriptableObject", resourceCulture);
87 | }
88 | }
89 |
90 | ///
91 | /// Looks up a localized string similar to Unity StateMachineBehaviour.
92 | ///
93 | public static string UnityStateMachineBehaviour {
94 | get {
95 | return ResourceManager.GetString("UnityStateMachineBehaviour", resourceCulture);
96 | }
97 | }
98 |
99 | ///
100 | /// Looks up a localized string similar to Unity Surface Shader.
101 | ///
102 | public static string UnitySurfaceShader {
103 | get {
104 | return ResourceManager.GetString("UnitySurfaceShader", resourceCulture);
105 | }
106 | }
107 |
108 | ///
109 | /// Looks up a localized string similar to Unity.
110 | ///
111 | public static string UnityTemplateCategory {
112 | get {
113 | return ResourceManager.GetString("UnityTemplateCategory", resourceCulture);
114 | }
115 | }
116 |
117 | ///
118 | /// Looks up a localized string similar to Unity Test Case.
119 | ///
120 | public static string UnityTestCase {
121 | get {
122 | return ResourceManager.GetString("UnityTestCase", resourceCulture);
123 | }
124 | }
125 |
126 | ///
127 | /// Looks up a localized string similar to Unity Unlit Shader.
128 | ///
129 | public static string UnityUnlitShader {
130 | get {
131 | return ResourceManager.GetString("UnityUnlitShader", resourceCulture);
132 | }
133 | }
134 | }
135 | }
136 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/Resources/Strings.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 | Unity Image Effect Shader
122 |
123 |
124 | Unity MonoBehaviour
125 |
126 |
127 | Unity ScriptableObject
128 |
129 |
130 | Unity StateMachineBehaviour
131 |
132 |
133 | Unity Surface Shader
134 |
135 |
136 | Unity
137 |
138 |
139 | Unity Test Case
140 |
141 |
142 | Unity Unlit Shader
143 |
144 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ## Ignore Visual Studio temporary files, build results, and
2 | ## files generated by popular Visual Studio add-ons.
3 | ##
4 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
5 |
6 | # User-specific files
7 | *.rsuser
8 | *.suo
9 | *.user
10 | *.userosscache
11 | *.sln.docstates
12 |
13 | # User-specific files (MonoDevelop/Xamarin Studio)
14 | *.userprefs
15 |
16 | # Mono auto generated files
17 | mono_crash.*
18 |
19 | # Build results
20 | [Dd]ebug/
21 | [Dd]ebugPublic/
22 | [Rr]elease/
23 | [Rr]eleases/
24 | x64/
25 | x86/
26 | [Aa][Rr][Mm]/
27 | [Aa][Rr][Mm]64/
28 | bld/
29 | [Bb]in/
30 | [Oo]bj/
31 | [Ll]og/
32 | [Ll]ogs/
33 |
34 | # Visual Studio 2015/2017 cache/options directory
35 | .vs/
36 | # Uncomment if you have tasks that create the project's static files in wwwroot
37 | #wwwroot/
38 |
39 | # Visual Studio 2017 auto generated files
40 | Generated\ Files/
41 |
42 | # MSTest test Results
43 | [Tt]est[Rr]esult*/
44 | [Bb]uild[Ll]og.*
45 |
46 | # NUnit
47 | *.VisualState.xml
48 | TestResult.xml
49 | nunit-*.xml
50 |
51 | # Build Results of an ATL Project
52 | [Dd]ebugPS/
53 | [Rr]eleasePS/
54 | dlldata.c
55 |
56 | # Benchmark Results
57 | BenchmarkDotNet.Artifacts/
58 |
59 | # .NET Core
60 | project.lock.json
61 | project.fragment.lock.json
62 | artifacts/
63 |
64 | # StyleCop
65 | StyleCopReport.xml
66 |
67 | # Files built by Visual Studio
68 | *_i.c
69 | *_p.c
70 | *_h.h
71 | *.ilk
72 | *.meta
73 | *.obj
74 | *.iobj
75 | *.pch
76 | *.pdb
77 | *.ipdb
78 | *.pgc
79 | *.pgd
80 | *.rsp
81 | *.sbr
82 | *.tlb
83 | *.tli
84 | *.tlh
85 | *.tmp
86 | *.tmp_proj
87 | *_wpftmp.csproj
88 | *.log
89 | *.vspscc
90 | *.vssscc
91 | .builds
92 | *.pidb
93 | *.svclog
94 | *.scc
95 |
96 | # Chutzpah Test files
97 | _Chutzpah*
98 |
99 | # Visual C++ cache files
100 | ipch/
101 | *.aps
102 | *.ncb
103 | *.opendb
104 | *.opensdf
105 | *.sdf
106 | *.cachefile
107 | *.VC.db
108 | *.VC.VC.opendb
109 |
110 | # Visual Studio profiler
111 | *.psess
112 | *.vsp
113 | *.vspx
114 | *.sap
115 |
116 | # Visual Studio Trace Files
117 | *.e2e
118 |
119 | # TFS 2012 Local Workspace
120 | $tf/
121 |
122 | # Guidance Automation Toolkit
123 | *.gpState
124 |
125 | # ReSharper is a .NET coding add-in
126 | _ReSharper*/
127 | *.[Rr]e[Ss]harper
128 | *.DotSettings.user
129 |
130 | # TeamCity is a build add-in
131 | _TeamCity*
132 |
133 | # DotCover is a Code Coverage Tool
134 | *.dotCover
135 |
136 | # AxoCover is a Code Coverage Tool
137 | .axoCover/*
138 | !.axoCover/settings.json
139 |
140 | # Visual Studio code coverage results
141 | *.coverage
142 | *.coveragexml
143 |
144 | # NCrunch
145 | _NCrunch_*
146 | .*crunch*.local.xml
147 | nCrunchTemp_*
148 |
149 | # MightyMoose
150 | *.mm.*
151 | AutoTest.Net/
152 |
153 | # Web workbench (sass)
154 | .sass-cache/
155 |
156 | # Installshield output folder
157 | [Ee]xpress/
158 |
159 | # DocProject is a documentation generator add-in
160 | DocProject/buildhelp/
161 | DocProject/Help/*.HxT
162 | DocProject/Help/*.HxC
163 | DocProject/Help/*.hhc
164 | DocProject/Help/*.hhk
165 | DocProject/Help/*.hhp
166 | DocProject/Help/Html2
167 | DocProject/Help/html
168 |
169 | # Click-Once directory
170 | publish/
171 |
172 | # Publish Web Output
173 | *.[Pp]ublish.xml
174 | *.azurePubxml
175 | # Note: Comment the next line if you want to checkin your web deploy settings,
176 | # but database connection strings (with potential passwords) will be unencrypted
177 | *.pubxml
178 | *.publishproj
179 |
180 | # Microsoft Azure Web App publish settings. Comment the next line if you want to
181 | # checkin your Azure Web App publish settings, but sensitive information contained
182 | # in these scripts will be unencrypted
183 | PublishScripts/
184 |
185 | # NuGet Packages
186 | *.nupkg
187 | # NuGet Symbol Packages
188 | *.snupkg
189 | # The packages folder can be ignored because of Package Restore
190 | **/[Pp]ackages/*
191 | # except build/, which is used as an MSBuild target.
192 | !**/[Pp]ackages/build/
193 | # Uncomment if necessary however generally it will be regenerated when needed
194 | #!**/[Pp]ackages/repositories.config
195 | # NuGet v3's project.json files produces more ignorable files
196 | *.nuget.props
197 | *.nuget.targets
198 |
199 | # Microsoft Azure Build Output
200 | csx/
201 | *.build.csdef
202 |
203 | # Microsoft Azure Emulator
204 | ecf/
205 | rcf/
206 |
207 | # Windows Store app package directories and files
208 | AppPackages/
209 | BundleArtifacts/
210 | Package.StoreAssociation.xml
211 | _pkginfo.txt
212 | *.appx
213 | *.appxbundle
214 | *.appxupload
215 |
216 | # Visual Studio cache files
217 | # files ending in .cache can be ignored
218 | *.[Cc]ache
219 | # but keep track of directories ending in .cache
220 | !?*.[Cc]ache/
221 |
222 | # Others
223 | ClientBin/
224 | ~$*
225 | *~
226 | *.dbmdl
227 | *.dbproj.schemaview
228 | *.jfm
229 | *.pfx
230 | *.publishsettings
231 | orleans.codegen.cs
232 |
233 | # Including strong name files can present a security risk
234 | # (https://github.com/github/gitignore/pull/2483#issue-259490424)
235 | #*.snk
236 |
237 | # Since there are multiple workflows, uncomment next line to ignore bower_components
238 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
239 | #bower_components/
240 |
241 | # RIA/Silverlight projects
242 | Generated_Code/
243 |
244 | # Backup & report files from converting an old project file
245 | # to a newer Visual Studio version. Backup files are not needed,
246 | # because we have git ;-)
247 | _UpgradeReport_Files/
248 | Backup*/
249 | UpgradeLog*.XML
250 | UpgradeLog*.htm
251 | ServiceFabricBackup/
252 | *.rptproj.bak
253 |
254 | # SQL Server files
255 | *.mdf
256 | *.ldf
257 | *.ndf
258 |
259 | # Business Intelligence projects
260 | *.rdl.data
261 | *.bim.layout
262 | *.bim_*.settings
263 | *.rptproj.rsuser
264 | *- [Bb]ackup.rdl
265 | *- [Bb]ackup ([0-9]).rdl
266 | *- [Bb]ackup ([0-9][0-9]).rdl
267 |
268 | # Microsoft Fakes
269 | FakesAssemblies/
270 |
271 | # GhostDoc plugin setting file
272 | *.GhostDoc.xml
273 |
274 | # Node.js Tools for Visual Studio
275 | .ntvs_analysis.dat
276 | node_modules/
277 |
278 | # Visual Studio 6 build log
279 | *.plg
280 |
281 | # Visual Studio 6 workspace options file
282 | *.opt
283 |
284 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
285 | *.vbw
286 |
287 | # Visual Studio LightSwitch build output
288 | **/*.HTMLClient/GeneratedArtifacts
289 | **/*.DesktopClient/GeneratedArtifacts
290 | **/*.DesktopClient/ModelManifest.xml
291 | **/*.Server/GeneratedArtifacts
292 | **/*.Server/ModelManifest.xml
293 | _Pvt_Extensions
294 |
295 | # Paket dependency manager
296 | .paket/paket.exe
297 | paket-files/
298 |
299 | # FAKE - F# Make
300 | .fake/
301 |
302 | # CodeRush personal settings
303 | .cr/personal
304 |
305 | # Python Tools for Visual Studio (PTVS)
306 | __pycache__/
307 | *.pyc
308 |
309 | # Cake - Uncomment if you are using it
310 | # tools/**
311 | # !tools/packages.config
312 |
313 | # Tabs Studio
314 | *.tss
315 |
316 | # Telerik's JustMock configuration file
317 | *.jmconfig
318 |
319 | # BizTalk build output
320 | *.btp.cs
321 | *.btm.cs
322 | *.odx.cs
323 | *.xsd.cs
324 |
325 | # OpenCover UI analysis results
326 | OpenCover/
327 |
328 | # Azure Stream Analytics local run output
329 | ASALocalRun/
330 |
331 | # MSBuild Binary and Structured Log
332 | *.binlog
333 |
334 | # NVidia Nsight GPU debugger configuration file
335 | *.nvuser
336 |
337 | # MFractors (Xamarin productivity tool) working folder
338 | .mfractor/
339 |
340 | # Local History for Visual Studio
341 | .localhistory/
342 |
343 | # BeatPulse healthcheck temp database
344 | healthchecksdb
345 |
346 | # Backup folder for Package Reference Convert tool in Visual Studio 2017
347 | MigrationBackup/
348 |
349 | # Ionide (cross platform F# VS Code tools) working folder
350 | .ionide/
351 |
352 | *.snk
--------------------------------------------------------------------------------
/UnityProjectTemplates/UnityProjectTemplateCommandPackage.vsct:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
27 |
28 |
35 |
36 |
37 |
40 |
43 |
46 |
47 |
48 |
58 |
68 |
78 |
88 |
98 |
108 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
151 |
153 |
155 |
157 |
159 |
161 |
163 |
164 |
165 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/UnityProjectTemplateCommandPackage.cs:
--------------------------------------------------------------------------------
1 | using EnvDTE;
2 | using EnvDTE80;
3 | using Microsoft;
4 | using Microsoft.VisualStudio;
5 | using Microsoft.VisualStudio.Shell;
6 | using Microsoft.VisualStudio.Shell.Interop;
7 | using System;
8 | using System.ComponentModel.Design;
9 | using System.Diagnostics.CodeAnalysis;
10 | using System.Globalization;
11 | using System.Runtime.InteropServices;
12 | using System.Threading;
13 | using UnityProjectTemplates.Resources;
14 | using Task = System.Threading.Tasks.Task;
15 |
16 | namespace UnityProjectTemplates
17 | {
18 | ///
19 | /// This is the class that implements the package exposed by this assembly.
20 | ///
21 | ///
22 | ///
23 | /// The minimum requirement for a class to be considered a valid package for Visual Studio
24 | /// is to implement the IVsPackage interface and register itself with the shell.
25 | /// This package uses the helper classes defined inside the Managed Package Framework (MPF)
26 | /// to do it: it derives from the Package class that provides the implementation of the
27 | /// IVsPackage interface and uses the registration attributes defined in the framework to
28 | /// register itself and its components with the shell. These attributes tell the pkgdef creation
29 | /// utility what data to put into .pkgdef file.
30 | ///
31 | ///
32 | /// To get loaded into VS, the package must be referred by <Asset Type="Microsoft.VisualStudio.VsPackage" ...> in .vsixmanifest file.
33 | ///
34 | ///
35 | [PackageRegistration(UseManagedResourcesOnly = true, AllowsBackgroundLoading = true)]
36 | [ProvideMenuResource("Menus.ctmenu", 1)]
37 | [Guid(Guids.GuidUnityProjectTemplateCommandPackageString)]
38 | [ProvideUIContextRule(Guids.GuidUnityTemplatesUIContext,
39 | name: "Unity Item Templates UI Context",
40 | expression: "HasUnityProjects",
41 | termNames: new [] { "HasUnityProjects" },
42 | termValues: new[] { "ActiveProjectFlavor:E097FAD1-6243-4DAD-9C02-E9B9EFC3FFC1" }
43 | )]
44 | [SuppressMessage("StyleCop.CSharp.DocumentationRules", "SA1650:ElementDocumentationMustBeSpelledCorrectly", Justification = "pkgdef, VS and vsixmanifest are valid VS terms")]
45 | public sealed class UnityProjectTemplateCommandPackage : AsyncPackage
46 | {
47 | public static DTE2 dte;
48 |
49 | ///
50 | /// Initializes a new instance of the class.
51 | ///
52 | public UnityProjectTemplateCommandPackage()
53 | {
54 | // Inside this method you can place any initialization code that does not require
55 | // any Visual Studio service because at this point the package object is created but
56 | // not sited yet inside Visual Studio environment. The place to do all the other
57 | // initialization is the Initialize method.
58 | }
59 |
60 | #region Package Members
61 |
62 | ///
63 | /// Initialization of the package; this method is called right after the package is sited, so this is the place
64 | /// where you can put all the initialization code that rely on services provided by VisualStudio.
65 | ///
66 | /// A cancellation token to monitor for initialization cancellation, which can occur when VS is shutting down.
67 | /// A provider for progress updates.
68 | /// A task representing the async work of package initialization, or an already completed task if there is none. Do not return null from this method.
69 | protected override async Task InitializeAsync(CancellationToken cancellationToken, IProgress progress)
70 | {
71 | // When initialized asynchronously, the current thread may be a background thread at this point.
72 | // Do any initialization that requires the UI thread after switching to the UI thread.
73 | await this.JoinableTaskFactory.SwitchToMainThreadAsync(cancellationToken);
74 |
75 | dte = await GetServiceAsync(typeof(DTE)) as DTE2;
76 |
77 | await RegisterCommandsAsync();
78 | }
79 |
80 | private async Task RegisterCommandsAsync()
81 | {
82 | await RegisterCommandAsync(Guids.GuidUnityNewScriptCmdSet, CommandId.NewMonoBehaviourCommandId, ToEventHandlerExecuteCommand(Strings.UnityMonoBehaviour));
83 | await RegisterCommandAsync(Guids.GuidUnityNewScriptCmdSet, CommandId.NewScriptableObjectCommandId, ToEventHandlerExecuteCommand(Strings.UnityScriptableObject));
84 | await RegisterCommandAsync(Guids.GuidUnityNewScriptCmdSet, CommandId.NewStateMachineBehaviourCommandId, ToEventHandlerExecuteCommand(Strings.UnityStateMachineBehaviour));
85 | await RegisterCommandAsync(Guids.GuidUnityNewTestCmdSet, CommandId.NewUnityTestCommandId, ToEventHandlerExecuteCommand(Strings.UnityTestCase));
86 | await RegisterCommandAsync(Guids.GuidUnityNewShaderCmdSet, CommandId.NewImageEffectShaderCommandId, ToEventHandlerExecuteCommand(Strings.UnityImageEffectShader));
87 | await RegisterCommandAsync(Guids.GuidUnityNewShaderCmdSet, CommandId.NewSurfaceShaderCommandId, ToEventHandlerExecuteCommand(Strings.UnitySurfaceShader));
88 | await RegisterCommandAsync(Guids.GuidUnityNewShaderCmdSet, CommandId.NewUnlitShaderCommandId, ToEventHandlerExecuteCommand(Strings.UnityUnlitShader));
89 | }
90 |
91 | private EventHandler ToEventHandlerExecuteCommand(string templateName)
92 | {
93 | return (sender, args) => ExecuteNewFileFromTemplateByCommandId(templateName);
94 | }
95 |
96 | private async Task RegisterCommandAsync(Guid group, CommandId id, EventHandler execute)
97 | {
98 | await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync(DisposalToken);
99 |
100 | try
101 | {
102 | var commandService = await GetServiceAsync(typeof(IMenuCommandService)) as OleMenuCommandService;
103 |
104 | if (commandService == null)
105 | return;
106 |
107 | var command = new CommandID(group, (int)id);
108 | var menuItem = new MenuCommand(execute, command);
109 |
110 | commandService.AddCommand(menuItem);
111 | }
112 | catch (Exception ex)
113 | {
114 | System.Diagnostics.Trace.WriteLine(ex);
115 | }
116 | }
117 |
118 | private void ExecuteNewFileFromTemplateByCommandId(string templateName)
119 | {
120 | ThreadHelper.ThrowIfNotOnUIThread();
121 |
122 | InvokeAddNewItemDialog(templateName);
123 | }
124 |
125 | private void InvokeAddNewItemDialog(string templateName)
126 | {
127 | try
128 | {
129 | var strFilter = string.Empty;
130 |
131 | var hierarchy = GetCurrentVsHierarchySelection(out uint projectItemId);
132 | if (hierarchy == null)
133 | return;
134 |
135 | var project = ToDteProject(hierarchy);
136 | if (project == null)
137 | return;
138 |
139 | var vsProject = ToVsProject(project);
140 | if (vsProject == null)
141 | return;
142 |
143 | var dialogService = GetService(typeof(IVsAddProjectItemDlg)) as IVsAddProjectItemDlg;
144 | if (dialogService == null)
145 | return;
146 |
147 | const uint uiFlags = (uint)(__VSADDITEMFLAGS.VSADDITEM_AddNewItems | __VSADDITEMFLAGS.VSADDITEM_SuggestTemplateName | __VSADDITEMFLAGS.VSADDITEM_AllowHiddenTreeView);
148 |
149 | var projGuid = Guids.GuidCSharpProject;
150 |
151 | string projectDirectoryPath;
152 | if (hierarchy.GetCanonicalName(projectItemId, out projectDirectoryPath) != VSConstants.S_OK)
153 | return;
154 |
155 | dialogService.AddProjectItemDlg(projectItemId,
156 | ref projGuid,
157 | vsProject,
158 | uiFlags,
159 | Strings.UnityTemplateCategory,
160 | templateName,
161 | ref projectDirectoryPath,
162 | ref strFilter,
163 | out int dontShowAgain);
164 | }
165 | catch (Exception ex)
166 | {
167 | System.Diagnostics.Trace.WriteLine(ex);
168 | }
169 | }
170 |
171 | private static IVsHierarchy GetCurrentVsHierarchySelection(out uint projectItemId)
172 | {
173 | var monitorSelection = (IVsMonitorSelection)GetGlobalService(typeof(SVsShellMonitorSelection));
174 | monitorSelection.GetCurrentSelection(out IntPtr hierarchyPtr, out projectItemId, out _, out _);
175 |
176 | var hierarchy = Marshal.GetTypedObjectForIUnknown(hierarchyPtr, typeof(IVsHierarchy)) as IVsHierarchy;
177 | return hierarchy;
178 | }
179 |
180 | private static Project ToDteProject(IVsHierarchy hierarchy)
181 | {
182 | if (hierarchy == null)
183 | throw new ArgumentNullException(nameof(hierarchy));
184 |
185 | if (hierarchy.GetProperty(0xfffffffe, (int)__VSHPROPID.VSHPROPID_ExtObject, out object prjObject) == VSConstants.S_OK)
186 | return (Project)prjObject;
187 |
188 | throw new ArgumentException("Hierarchy is not a project.");
189 | }
190 |
191 | private IVsProject ToVsProject(Project project)
192 | {
193 | if (project == null)
194 | throw new ArgumentNullException(nameof(project));
195 |
196 | var vsSln = GetService(typeof(IVsSolution)) as IVsSolution;
197 | if (vsSln == null)
198 | throw new ArgumentException("Project is not a VS project.");
199 |
200 | vsSln.GetProjectOfUniqueName(project.UniqueName, out IVsHierarchy vsHierarchy);
201 |
202 | var vsProject = vsHierarchy as IVsProject;
203 | if (vsProject != null)
204 | return vsProject;
205 |
206 | throw new ArgumentException("Project is not a VS project.");
207 | }
208 |
209 | #endregion
210 | }
211 | }
212 |
--------------------------------------------------------------------------------
/UnityProjectTemplates/UnityProjectTemplates.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 16.0
5 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
6 | true
7 |
8 |
9 | true
10 |
11 |
12 | Key.snk
13 |
14 |
15 |
16 | Debug
17 | AnyCPU
18 | 2.0
19 | {82b43b9b-a64c-4715-b499-d71e9ca2bd60};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
20 | {9D2B44AB-87D3-4DC8-87F8-1D9CC4E5C1FC}
21 | Library
22 | Properties
23 | UnityProjectTemplates
24 | UnityProjectTemplates
25 | v4.7.2
26 | true
27 | true
28 | true
29 | true
30 | true
31 | false
32 | Program
33 | $(DevEnvDir)devenv.exe
34 | /rootsuffix Exp
35 |
36 |
37 | true
38 | full
39 | false
40 | bin\Debug\
41 | DEBUG;TRACE
42 | prompt
43 | 4
44 |
45 |
46 | pdbonly
47 | true
48 | bin\Release\
49 | TRACE
50 | prompt
51 | 4
52 |
53 |
54 | $([System.IO.Path]::GetFullPath( $(MSBuildProjectDirectory)\..\packages\TemplateBuilder.1.1.6.1\tools\ligershark.templates.targets ))
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 | Strings.resx
65 | True
66 | True
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 | Always
84 |
85 |
86 | Always
87 |
88 |
89 | Always
90 |
91 |
92 | Always
93 |
94 |
95 | Always
96 |
97 |
98 | Always
99 |
100 |
101 | Always
102 |
103 |
104 | Always
105 |
106 |
107 | Always
108 |
109 |
110 | Always
111 |
112 |
113 | Always
114 |
115 |
116 | Always
117 |
118 |
119 | Designer
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 | ..\packages\TemplateBuilder.1.1.6.1\lib\TemplateBuilder.dll
132 |
133 |
134 |
135 |
136 |
137 | PreserveNewest
138 |
139 |
140 | PreserveNewest
141 |
142 |
143 | PreserveNewest
144 |
145 |
146 | PreserveNewest
147 |
148 |
149 |
150 |
151 |
152 |
153 | PreserveNewest
154 |
155 |
156 |
157 |
158 |
159 |
160 |
161 |
162 | Always
163 | true
164 |
165 |
166 | Always
167 | true
168 |
169 |
170 | Always
171 | true
172 |
173 |
174 | Always
175 | true
176 |
177 |
178 | Designer
179 | PublicResXFileCodeGenerator
180 | Strings.Designer.cs
181 |
182 |
183 | Always
184 |
185 |
186 | Menus.ctmenu
187 |
188 |
189 |
190 |
191 |
192 |
193 |
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 |
204 |
211 |
--------------------------------------------------------------------------------