Skip to content

Instantly share code, notes, and snippets.

@HebelHuber
Last active May 5, 2022 19:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save HebelHuber/e7c20aa6b8a329d0a7aa3f43a3628b1d to your computer and use it in GitHub Desktop.
Save HebelHuber/e7c20aa6b8a329d0a7aa3f43a3628b1d to your computer and use it in GitHub Desktop.
vscode settings
{
// Place your global snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and
// description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope
// is left empty or omitted, the snippet gets applied to all languages. The prefix is what is
// used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders.
// Placeholders with the same ids are connected.
// Example:
// "Print to console": {
// "scope": "javascript,typescript",
// "prefix": "log",
// "body": [
// "console.log('$1');",
// "$2"
// ],
// "description": "Log output to console"
// }
"Console.WriteLine": {
"scope": "csharp",
"description": "Console.WriteLine()",
"prefix": [
"cw",
"xx_cw"
],
"body": [
"System.Console.WriteLine($\"{${0:$TM_SELECTED_TEXT}}\");"
]
},
"General class": {
"scope": "csharp",
"prefix": [
"class",
"xx_class"
],
"description": "Creates a normal class",
"body": [
"${1:public} class ${2:$TM_FILENAME_BASE}",
"{",
"\t$0",
"}"
]
},
"General interface": {
"scope": "csharp",
"prefix": [
"interface",
"xx_interface"
],
"description": "Creates a normal interface",
"body": [
"${1:public} interface ${2:$TM_FILENAME_BASE}",
"{",
"\t$0",
"}"
]
},
"Event with Parameter": {
"scope": "csharp",
"prefix": [
"event_with_parameter",
"xx_event_with_parameter"
],
"description": "Simple Event with Parameter",
"body": [
"public event Action<${1:float}> On${0:Event} = delegate { };",
],
},
"Property with onValueChanged": {
"scope": "csharp",
"prefix": [
"onValueChanged",
"onPropertyChanged",
"PropertyChanged",
"xx_onValueChanged",
"xx_onPropertyChanged",
"xx_PropertyChanged"
],
"description": "Public Property with OnValueChanged event",
"body": [
"public static event Action<${1:float}> On${2:varName}Changed = delegate { };",
"",
"private ${1:float} _${2:varName};",
"public ${1:float} ${2:varName}",
"{",
"\tget { return _${2:varName}; }",
"\tset",
"\t{",
"\t\tif (value != _${2:varName})",
"\t\t{",
"\t\t\t_${2:varName} = value;",
"\t\t\tOn${2:varName}Changed?.Invoke(_${2:varName});",
"\t\t}",
"\t}",
"}",
"$0",
],
},
"foreach with iterator access": {
"scope": "csharp",
"prefix": [
"fori",
"xx_fori"
],
"description": "foreach with iterator access",
"body": [
"foreach (var iter in ${1:collection}.Select((value, i) => new { i, value }))",
"{",
"\tvar item = iter.value;",
"\tint i = iter.i;",
"\t",
"\t$0",
"}",
],
},
"async Task": {
"scope": "csharp",
"prefix": [
"coroutine",
"task",
"xx_coroutine",
"xx_task"
],
"description": "async Method, replaces coroutine, no return value",
"body": [
"private async Task ${1:MethodName}Async()",
"{",
"\twhile ( ${2:condition} )",
"\t{",
"\t\t$0",
"\t\tawait Task.Yield();",
"\t}",
"}",
],
},
"async Task, single return value": {
"scope": "csharp",
"prefix": [
"coroutine",
"task",
"xx_coroutine",
"xx_task"
],
"description": "async Method, replaces coroutine, single return value",
"body": [
"private async Task<${1:float}> ${2:MethodName}Async()",
"{",
"\tawait Task.Yield(); // replace this with awaitable logic",
"\treturn ${0:RETURN_VALUE};",
"}",
],
},
"async Task, multiple return values": {
"scope": "csharp",
"prefix": [
"coroutine",
"task",
"xx_coroutine",
"xx_task"
],
"description": "async Method, replaces coroutine, tuple return value",
"body": [
"private async Task<(${1:float} ${2:varname}, ${3:float} ${4:varname})> ${5:MethodName}Async()",
"{",
"\tawait Task.Yield(); // replace this with awaitable logic",
"\treturn ($2: ${6:RETURN_VALUE}, $4: ${7:RETURN_VALUE});",
"}",
],
},
"clamp": {
"scope": "csharp",
"prefix": [
"clamp",
"xx_clamp"
],
"description": "clamp value between min and max",
"body": [
"${1:inputValue} = ${1:inputValue} < ${2:0f} ? ${2:0f} : (${1:inputValue} > ${3:1f} ? ${3:1f} : ${1:inputValue}); // clamp to $2-$3",
"$0"
],
},
"smoothstep": {
"scope": "csharp",
"prefix": [
"smoothstep",
"xx_smoothstep"
],
"description": "smoothstep using min, max and normalized t",
"body": [
"var ${1:result} = ${2:0f} + (${4:t_normalized}*${4:t_normalized}*(3-2*${4:t_normalized}))*(${3:1f} - ${2:0f}); // smoothstep",
"$0"
],
},
"lerp": {
"scope": "csharp",
"prefix": [
"lerp",
"xx_lerp"
],
"description": "lerp using min, max and normalized t",
"body": [
"var ${1:result} = ${2:0f} + ((${3:1f} - ${2:0f}) * ${4:t_normalized}); // lerp",
"$0"
],
},
"inverse lerp": {
"scope": "csharp",
"prefix": [
"inverse lerp",
"xx_inverse lerp"
],
"description": "inverse lerp using min, max and normalized t",
"body": [
"var ${1:normalized} = (${2:input_value} - ${3:min_value}) / (${4:max_value} - ${3:min_value}); // inverse lerp",
"$0"
],
},
}
{
// Place your snippets for csharp here. Each snippet is defined under a snippet name and has a prefix, body and
// description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the
// same ids are connected.
// Example:
// "Print to console": {
// "prefix": "log",
// "body": [
// "console.log('$1');",
// "$2"
// ],
// "description": "Log output to console"
// }
"SerializeField": {
"prefix": [
"ms_SerializeField",
"sf"
],
"body": [
"[SerializeField] private $1;",
],
"description": "Unity SerializedField"
},
"Coroutine": {
"prefix": "ms_Coroutine",
"description": "Unity Coroutine",
"body": [
"private IEnumerator coroutine_$1()",
"{",
"\twhile (true)",
"\t{",
"\t\t$0",
"\t\tyield return null;",
"\t}",
"}",
],
},
"CoroutineLerp": {
"prefix": "ms_Coroutine_Lerp",
"description": "Unity Coroutine with Lerp",
"body": [
"private IEnumerator coroutine_$1(float TimeInSeconds = 1)",
"{",
"\tfloat lerper = 0;",
"\tfloat LerpVal;",
"\t",
"\twhile (lerper < 1)",
"\t{",
"\t\tlerper = Mathf.Clamp01(lerper + Time.deltaTime * (1f / TimeInSeconds));",
"\t\t",
"\t\t// hard lerp",
"\t\tLerpVal = lerper;",
"\t\t// smoothed lerp",
"\t\tLerpVal = Mathf.SmoothStep(0, 1, lerper);",
"\t\t// supersmoothed lerp",
"\t\tLerpVal = Mathf.SmoothStep(0, 1, Mathf.SmoothStep(0, 1, lerper));",
"\t\t",
"\t\t$0",
"\t\t",
"\t\tyield return null;",
"\t}",
"}",
],
},
"Event with Parameter": {
"prefix": "ms_Event_WithParameter",
"description": "Simple Event with Parameter",
"body": [
"public event Action<$1> On$0 = delegate { };",
],
},
"Property with onValueChanged": {
"prefix": "ms_PropertyOnChanged",
"description": "Public Property with OnValueChanged event",
"body": [
"private $1 _$2;",
"public $1 $2",
"{",
"\tget { return _$2; }",
"\tset",
"\t{",
"\t\tif (value != _$2)",
"\t\t{",
"\t\t\t_$2 = value;",
"\t\t\tOn$2Changed?.Invoke(_$2);",
"\t\t}",
"\t}",
"}",
"",
"public static event Action<$1> On$2Changed = delegate { };",
],
},
"foreach with iterator access": {
"prefix": "ms_fori",
"description": "foreach with iterator access",
"body": [
"foreach (var iter in $1.Select((value, i) => new { i, value }))",
"{",
"\tvar item = iter.value;",
"\tint i = iter.i;",
"\t",
"\t$0",
"}",
],
},
"Unity Singleton": {
"prefix": "ms_Singleton",
"description": "Unity Singleton",
"body": [
"#region Singleton Pattern",
"private static ${TM_FILENAME_BASE} _Instance;",
"public static ${TM_FILENAME_BASE} Instance",
"{",
"\tget",
"\t{",
"\t\t// Für Editor Time :)",
"\t\tif (_Instance == null) _Instance = FindObjectOfType<${TM_FILENAME_BASE}>();",
"\t\treturn _Instance;",
"\t}",
"}",
"",
"private void Awake()",
"{",
"\t// wenn ein zweiter angeht wird er gekillt, der erste bleibt",
"\tif (FindObjectsOfType<${TM_FILENAME_BASE}>().Length > 1)",
"\t{",
"\t\tDestroy(gameObject);",
"\t\treturn;",
"\t}",
"\t",
"\t_Instance = this;",
"}",
"#endregion",
"$0",
]
},
// The following snippets are taken from the "Unity Code Snippets" extension by Kleber silva.
// I disabled most of them and modified others to suit my needs
"Unity MonoBehaviour": {
"prefix": "MonoBehaviour",
"description": "Unity MonoBehaviour class template.",
"body": [
"using UnityEngine;",
"using System.Collections;",
"using System.Collections.Generic;",
"using Sirenix.OdinInspector;",
"using System.Linq;",
"",
"public class ${TM_FILENAME_BASE} : MonoBehaviour {",
"\t$0",
"}"
]
},
"Unity ScriptableObject": {
"prefix": "ScriptableObject",
"description": "Unity ScriptableObject class template.",
"body": [
"using UnityEngine;",
"using System.Collections;",
"using System.Collections.Generic;",
"using Sirenix.OdinInspector;",
"using System.Linq;",
"",
"[CreateAssetMenu(fileName = \"${1:${TM_FILENAME_BASE}}\", menuName = \"${2:${TM_FILEPATH/.*\\\\(.*)\\\\Assets\\\\.*/${1}/}/${TM_FILENAME_BASE}}\", order = ${3:0})]",
"public class ${TM_FILENAME_BASE} : ScriptableObject {",
"\t$0",
"}"
]
},
// "Unity StateMachineBehaviour": {
// "prefix": "StateMachineBehaviour",
// "description": "Unity StateMachineBehaviour class template.",
// "body": [
// "using UnityEngine;",
// "",
// "public class ${TM_FILENAME_BASE} : StateMachineBehaviour {",
// "\tpublic override void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {",
// "\t\t$0",
// "\t}",
// "}"
// ]
// },
// "Unity NetworkBehaviour": {
// "prefix": "NetworkBehaviour",
// "description": "Unity NetworkBehaviour class template.",
// "body": [
// "using UnityEngine;",
// "using UnityEngine.Networking;",
// "",
// "public class ${TM_FILENAME_BASE} : NetworkBehaviour {",
// "\t$0",
// "}"
// ]
// },
// "Unity Editor": {
// "prefix": "Editor",
// "description": "Unity Editor class template.",
// "body": [
// "using UnityEngine;",
// "using UnityEditor;",
// "",
// "[CustomEditor(typeof(${1:${TM_FILENAME_BASE/(.*)Editor/${1}/}}))]",
// "public class ${TM_FILENAME_BASE} : Editor {",
// "\tpublic override void OnInspectorGUI() {",
// "\t\tbase.OnInspectorGUI();",
// "\t\t$0",
// "\t}",
// "}"
// ]
// },
// "Unity Editor with Reorderable List": {
// "prefix": "EditorWithReorderableList",
// "description": "Unity Editor class template with a ReorderableList.",
// "body": [
// "using UnityEngine;",
// "using UnityEditor;",
// "using UnityEditorInternal;",
// "",
// "[CustomEditor(typeof(${1:${TM_FILENAME_BASE/(.*)Editor/${1}/}}))]",
// "public class ${TM_FILENAME_BASE} : Editor {",
// "\tprivate SerializedProperty _property;",
// "\tprivate ReorderableList _list;",
// "",
// "\tprivate void OnEnable() {",
// "\t\t_property = serializedObject.FindProperty(\"${2}\");",
// "\t\t_list = new ReorderableList(serializedObject, _property, true, true, true, true) {",
// "\t\t\tdrawHeaderCallback = DrawListHeader,",
// "\t\t\tdrawElementCallback = DrawListElement",
// "\t\t};",
// "\t}",
// "",
// "\tprivate void DrawListHeader(Rect rect) {",
// "\t\tGUI.Label(rect, \"${2}\");",
// "\t}",
// "",
// "\tprivate void DrawListElement(Rect rect, int index, bool isActive, bool isFocused) {",
// "\t\tvar item = _property.GetArrayElementAtIndex(index);",
// "\t\tEditorGUI.PropertyField(rect, item);",
// "\t\t$0",
// "\t}",
// "",
// "\tpublic override void OnInspectorGUI() {",
// "\t\tserializedObject.Update();",
// "\t\tEditorGUILayout.Space();",
// "\t\t_list.DoLayoutList();",
// "\t\tserializedObject.ApplyModifiedProperties();",
// "\t}",
// "}"
// ]
// },
// "Unity EditorWindow": {
// "prefix": "EditorWindow",
// "description": "Unity EditorWindow class template.",
// "body": [
// "using UnityEngine;",
// "using UnityEditor;",
// "",
// "public class ${TM_FILENAME_BASE} : EditorWindow {",
// "",
// "\t[MenuItem(\"${1:${TM_FILEPATH/.*\\\\(.*)\\\\Assets\\\\.*/${1}/}/${TM_FILENAME_BASE/(.*)Editor/${1}/}}\")]",
// "\tprivate static void ShowWindow() {",
// "\t\tvar window = GetWindow<${TM_FILENAME_BASE}>();",
// "\t\twindow.titleContent = new GUIContent(\"${2:${TM_FILENAME_BASE/(.*)Editor/${1}/}}\");",
// "\t\twindow.Show();",
// "\t}",
// "",
// "\tprivate void OnGUI() {",
// "\t\t$0",
// "\t}",
// "}"
// ]
// },
// "Unity PropertyDrawer": {
// "prefix": "PropertyDrawer",
// "description": "Unity PropertyDrawer class template.",
// "body": [
// "using UnityEngine;",
// "using UnityEditor;",
// "",
// "[CustomPropertyDrawer(typeof(${1:${TM_FILENAME_BASE/(.*)Drawer/${1}/}}))]",
// "public class ${TM_FILENAME_BASE}: PropertyDrawer {",
// "\tpublic override void OnGUI(Rect position, SerializedProperty property, GUIContent label) {",
// "\t\t$0",
// "\t}",
// "}"
// ]
// },
// "Unity ScriptableWizard": {
// "prefix": "ScriptableWizard",
// "description": "Unity ScriptableWizard class template.",
// "body": [
// "using UnityEngine;",
// "using UnityEditor;",
// "",
// "public class ${TM_FILENAME_BASE}: ScriptableWizard {",
// "",
// "\t[MenuItem(\"${1:${TM_FILEPATH/.*\\\\(.*)\\\\Assets\\\\.*/${1}/}/${TM_FILENAME_BASE/(.*)Wizard/${1}/}}\")]",
// "\tprivate static void MenuEntryCall() {",
// "\t\tDisplayWizard<${TM_FILENAME_BASE}>(\"${2:Title}\");",
// "\t}",
// "",
// "\tprivate void OnWizardCreate() {",
// "\t\t$0",
// "\t}",
// "}"
// ]
// },
"MonoBehaviour Awake": {
"prefix": "Awake()",
"description": "Awake is called when the script instance is being loaded.",
"body": [
"public void Awake() {",
"\t$0",
"}"
]
},
"MonoBehaviour FixedUpdate": {
"prefix": "FixedUpdate()",
"description": "This function is called every fixed framerate frame, if the MonoBehaviour is enabled.",
"body": [
"public void FixedUpdate() {",
"\t$0",
"}"
]
},
"MonoBehaviour LateUpdate": {
"prefix": "LateUpdate()",
"description": "LateUpdate is called every frame, if the Behaviour is enabled. It is called after all Update functions have been called.",
"body": [
"public void LateUpdate() {",
"\t$0",
"}"
]
},
// "MonoBehaviour OnAnimatorIK": {
// "prefix": "OnAnimatorIK(int)",
// "description": "Callback for setting up animation IK (inverse kinematics).",
// "body": [
// "public void OnAnimatorIK(int layerIndex) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnAnimatorMove": {
// "prefix": "OnAnimatorMove()",
// "description": "Callback for processing animation movements for modifying root motion.",
// "body": [
// "public void OnAnimatorMove() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnApplicationFocus": {
// "prefix": "OnApplicationFocus(bool)",
// "description": "Callback sent to all game objects when the player gets or loses focus.",
// "body": [
// "public void OnApplicationFocus(bool focusStatus) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnApplicationPause": {
// "prefix": "OnApplicationPause(bool)",
// "description": "Callback sent to all game objects when the player pauses.",
// "body": [
// "public void OnApplicationPause(bool pauseStatus) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnApplicationQuit": {
// "prefix": "OnApplicationQuit()",
// "description": "Callback sent to all game objects before the application is quit.",
// "body": [
// "public void OnApplicationQuit() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnAudioFilterRead": {
// "prefix": "OnAudioFilterRead(float[], int)",
// "description": "If OnAudioFilterRead is implemented, Unity will insert a custom filter into the audio DSP chain.",
// "body": [
// "public void OnAudioFilterRead(float[] data, int channels) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnBecameInvisible": {
// "prefix": "OnBecameInvisible()",
// "description": "OnBecameInvisible is called when the renderer is no longer visible by any camera.",
// "body": [
// "public void OnBecameInvisible() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnBecameVisible": {
// "prefix": "OnBecameVisible()",
// "description": "OnBecameVisible is called when the renderer became visible by any camera.",
// "body": [
// "public void OnBecameVisible() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnCollisionEnter": {
// "prefix": "OnCollisionEnter(Collision)",
// "description": "OnCollisionEnter is called when this collider/rigidbody has begun\n touching another rigidbody/collider.",
// "body": [
// "public void OnCollisionEnter(Collision other) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnCollisionEnter2D": {
// "prefix": "OnCollisionEnter2D(Collision2D)",
// "description": "Sent when an incoming collider makes contact with this object's collider (2D physics only).",
// "body": [
// "public void OnCollisionEnter2D(Collision2D other) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnCollisionExit": {
// "prefix": "OnCollisionExit(Collision)",
// "description": "OnCollisionExit is called when this collider/rigidbody has stopped touching another rigidbody/collider.",
// "body": [
// "public void OnCollisionExit(Collision other) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnCollisionExit2D": {
// "prefix": "OnCollisionExit2D(Collision2D)",
// "description": "Sent when a collider on another object stops touching this object's collider (2D physics only).",
// "body": [
// "public void OnCollisionExit2D(Collision2D other) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnCollisionStay": {
// "prefix": "OnCollisionStay(Collision)",
// "description": "OnCollisionStay is called once per frame for every collider/rigidbody that is touching rigidbody/collider.",
// "body": [
// "public void OnCollisionStay(Collision other) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnCollisionStay2D": {
// "prefix": "OnCollisionStay2D(Collision2D)",
// "description": "Sent each frame where a collider on another object is touching this object's collider (2D physics only).",
// "body": [
// "public void OnCollisionStay2D(Collision2D other) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnConnectedToServer": {
// "prefix": "OnConnectedToServer()",
// "description": "Called on the client when you have successfully connected to a server.",
// "body": [
// "public void OnConnectedToServer() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnControllerColliderHit": {
// "prefix": "OnControllerColliderHit(ControllerColliderHit)",
// "description": "OnControllerColliderHit is called when the controller hits a collider while performing a Move.",
// "body": [
// "public void OnControllerColliderHit(ControllerColliderHit hit) {",
// "\t$0",
// "}"
// ]
// },
"MonoBehaviour OnDestroy": {
"prefix": "OnDestroy()",
"description": "This function is called when the MonoBehaviour will be destroyed.",
"body": [
"public void OnDestroy() {",
"\t$0",
"}"
]
},
"MonoBehaviour OnDisable": {
"prefix": "OnDisable()",
"description": "This function is called when the behaviour becomes disabled or inactive.",
"body": [
"public void OnDisable() {",
"\t$0",
"}"
]
},
// "MonoBehaviour OnDisconnectedFromServer": {
// "prefix": "OnDisconnectedFromServer(NetworkDisconnection)",
// "description": "Called on the client when the connection was lost or you disconnected from the server.",
// "body": [
// "public void OnDisconnectedFromServer(NetworkDisconnection info) {",
// "\t$0",
// "}"
// ]
// },
"MonoBehaviour OnDrawGizmos": {
"prefix": "OnDrawGizmos()",
"description": "Callback to draw gizmos that are pickable and always drawn.",
"body": [
"public void OnDrawGizmos() {",
"\t$0",
"}"
]
},
"MonoBehaviour OnDrawGizmosSelected": {
"prefix": "OnDrawGizmosSelected()",
"description": "Callback to draw gizmos only if the object is selected.",
"body": [
"public void OnDrawGizmosSelected() {",
"\t$0",
"}"
]
},
"MonoBehaviour OnEnable": {
"prefix": "OnEnable()",
"description": "This function is called when the object becomes enabled and active.",
"body": [
"public void OnEnable() {",
"\t$0",
"}"
]
},
// "MonoBehaviour OnFailedToConnect": {
// "prefix": "OnFailedToConnect(NetworkConnectionError)",
// "description": "Called on the client when a connection attempt fails for some reason.",
// "body": [
// "public void OnFailedToConnect(NetworkConnectionError error) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnFailedToConnectToMasterServer": {
// "prefix": "OnFailedToConnectToMasterServer(NetworkConnectionError)",
// "description": "Called on clients or servers when there is a problem connecting to the MasterServer.",
// "body": [
// "public void OnFailedToConnectToMasterServer(NetworkConnectionError error) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnGUI": {
// "prefix": "OnGUI()",
// "description": "OnGUI is called for rendering and handling GUI events.",
// "body": [
// "public void OnGUI() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnJointBreak": {
// "prefix": "OnJointBreak(float)",
// "description": "Called when a joint attached to the same game object broke.",
// "body": [
// "public void OnJointBreak(float breakForce) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnJointBreak2D": {
// "prefix": "OnJointBreak2D(Joint2D)",
// "description": "Called when a Joint2D attached to the same game object breaks.",
// "body": [
// "public void OnJointBreak2D(Joint2D brokenJoint) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnMasterServerEvent": {
// "prefix": "OnMasterServerEvent(MasterServerEvent)",
// "description": "Called on clients or servers when reporting events from the MasterServer.",
// "body": [
// "public void OnMasterServerEvent(MasterServerEvent msEvent) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnMouseDown": {
// "prefix": "OnMouseDown()",
// "description": "OnMouseDown is called when the user has pressed the mouse button while over the GUIElement or Collider.",
// "body": [
// "public void OnMouseDown() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnMouseDrag": {
// "prefix": "OnMouseDrag()",
// "description": "OnMouseDrag is called when the user has clicked on a GUIElement or Collider and is still holding down the mouse.",
// "body": [
// "public void OnMouseDrag() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnMouseEnter": {
// "prefix": "OnMouseEnter()",
// "description": "Called when the mouse enters the GUIElement or Collider.",
// "body": [
// "public void OnMouseEnter() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnMouseExit": {
// "prefix": "OnMouseExit()",
// "description": "Called when the mouse is not any longer over the GUIElement or Collider.",
// "body": [
// "public void OnMouseExit() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnMouseOver": {
// "prefix": "OnMouseOver()",
// "description": "Called every frame while the mouse is over the GUIElement or Collider.",
// "body": [
// "public void OnMouseOver() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnMouseUp": {
// "prefix": "OnMouseUp()",
// "description": "OnMouseUp is called when the user has released the mouse button.",
// "body": [
// "public void OnMouseUp() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnMouseUpAsButton": {
// "prefix": "OnMouseUpAsButton()",
// "description": "OnMouseUpAsButton is only called when the mouse is released over the same GUIElement or Collider as it was pressed.",
// "body": [
// "public void OnMouseUpAsButton() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnNetworkInstantiate": {
// "prefix": "OnNetworkInstantiate(NetworkMessageInfo)",
// "description": "Called on objects which have been network instantiated with Network.Instantiate.",
// "body": [
// "public void OnNetworkInstantiate(NetworkMessageInfo info) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnParticleCollision": {
// "prefix": "OnParticleCollision(GameObject)",
// "description": "OnParticleCollision is called when a particle hits a collider.",
// "body": [
// "public void OnParticleCollision(GameObject other) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnParticleSystemStopped": {
// "prefix": "OnParticleSystemStopped()",
// "description": "OnParticleSystemStopped is called when all particles in the system have died, and no new particles will be born. New particles cease to be created either after Stop is called, or when the duration property of a non-looping system has been exceeded.",
// "body": [
// "public void OnParticleSystemStopped() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnParticleTrigger": {
// "prefix": "OnParticleTrigger()",
// "description": "OnParticleTrigger is called when any particles in a particle system meet the conditions in the trigger module.",
// "body": [
// "public void OnParticleTrigger() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnPlayerConnected": {
// "prefix": "OnPlayerConnected(NetworkPlayer)",
// "description": "Called on the server whenever a new player has successfully connected.",
// "body": [
// "public void OnPlayerConnected(NetworkPlayer player) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnPlayerDisconnected": {
// "prefix": "OnPlayerDisconnected(NetworkPlayer)",
// "description": "Called on the server whenever a player disconnected from the server.",
// "body": [
// "public void OnPlayerDisconnected(NetworkPlayer player) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnPostRender": {
// "prefix": "OnPostRender()",
// "description": "OnPostRender is called after a camera finishes rendering the scene.",
// "body": [
// "public void OnPostRender() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnPreCull": {
// "prefix": "OnPreCull()",
// "description": "OnPreCull is called before a camera culls the scene.",
// "body": [
// "public void OnPreCull() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnPreRender": {
// "prefix": "OnPreRender()",
// "description": "OnPreRender is called before a camera starts rendering the scene.",
// "body": [
// "public void OnPreRender() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnRenderImage": {
// "prefix": "OnRenderImage(RenderTexture, RenderTexture)",
// "description": "OnRenderImage is called after all rendering is complete to render image.",
// "body": [
// "public void OnRenderImage(RenderTexture src, RenderTexture dest) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnRenderObject": {
// "prefix": "OnRenderObject()",
// "description": "OnRenderObject is called after camera has rendered the scene.",
// "body": [
// "public void OnRenderObject() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnSerializeNetworkView": {
// "prefix": "OnSerializeNetworkView(BitStream, NetworkMessageInfo)",
// "description": "Used to customize synchronization of variables in a script watched by a network view.",
// "body": [
// "public void OnSerializeNetworkView(BitStream stream, NetworkMessageInfo info) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnServerInitialized": {
// "prefix": "OnServerInitialized()",
// "description": "Called on the server whenever a Network.InitializeServer was invoked and has completed.",
// "body": [
// "public void OnServerInitialized() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnTransformChildrenChanged": {
// "prefix": "OnTransformChildrenChanged()",
// "description": "Called when the list of children of the transform of the GameObject has changed.",
// "body": [
// "public void OnTransformChildrenChanged() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnTransformParentChanged": {
// "prefix": "OnTransformParentChanged()",
// "description": "Called when the parent property of the transform of the GameObject has changed.",
// "body": [
// "public void OnTransformParentChanged() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnTriggerEnter": {
// "prefix": "OnTriggerEnter(Collider)",
// "description": "OnTriggerEnter is called when the Collider other enters the trigger.",
// "body": [
// "public void OnTriggerEnter(Collider other) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnTriggerEnter2D": {
// "prefix": "OnTriggerEnter2D(Collider2D)",
// "description": "Sent when another object enters a trigger collider attached to this object (2D physics only).",
// "body": [
// "public void OnTriggerEnter2D(Collider2D other) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnTriggerExit": {
// "prefix": "OnTriggerExit(Collider)",
// "description": "OnTriggerExit is called when the Collider other has stopped touching the trigger.",
// "body": [
// "public void OnTriggerExit(Collider other) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnTriggerExit2D": {
// "prefix": "OnTriggerExit2D(Collider2D)",
// "description": "Sent when another object leaves a trigger collider attached to this object (2D physics only).",
// "body": [
// "public void OnTriggerExit2D(Collider2D other) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnTriggerStay": {
// "prefix": "OnTriggerStay(Collider)",
// "description": "OnTriggerStay is called once per frame for every Collider other that is touching the trigger.",
// "body": [
// "public void OnTriggerStay(Collider other) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnTriggerStay2D": {
// "prefix": "OnTriggerStay2D(Collider2D)",
// "description": "Sent each frame where another object is within a trigger collider attached to this object (2D physics only).",
// "body": [
// "public void OnTriggerStay2D(Collider2D other) {",
// "\t$0",
// "}"
// ]
// },
"MonoBehaviour OnValidate": {
"prefix": "OnValidate()",
"description": "Called when the script is loaded or a value is changed in the inspector (Called in the editor only).",
"body": [
"public void OnValidate() {",
"\t$0",
"}"
]
},
// "MonoBehaviour OnWillRenderObject": {
// "prefix": "OnWillRenderObject()",
// "description": "OnWillRenderObject is called for each camera if the object is visible.",
// "body": [
// "public void OnWillRenderObject() {",
// "\t$0",
// "}"
// ]
// },
"MonoBehaviour Reset": {
"prefix": "Reset()",
"description": "Reset is called when the user hits the Reset button in the Inspector's context menu or when adding the component the first time.",
"body": [
"public void Reset() {",
"\t$0",
"}"
]
},
"MonoBehaviour Start": {
"prefix": "Start()",
"description": "Start is called on the frame when a script is enabled just before any of the Update methods is called the first time.",
"body": [
"public void Start() {",
"\t$0",
"}"
]
},
"MonoBehaviour Update": {
"prefix": "Update()",
"description": "Update is called every frame, if the MonoBehaviour is enabled.",
"body": [
"public void Update() {",
"\t$0",
"}"
]
},
// "StateMachineBehaviour OnStateEnter": {
// "prefix": "OnStateEnter()",
// "description": "Called on the first Update frame when a statemachine evaluate this state.",
// "body": [
// "public void OnStateEnter(Animator animator, AnimatorStateInfo animatorStateInfo, int layerIndex) {",
// "\t$0",
// "}"
// ]
// },
// "StateMachineBehaviour OnStateExit": {
// "prefix": "OnStateExit()",
// "description": "Called on the last update frame when a statemachine evaluate this state.",
// "body": [
// "public void OnStateExit(Animator animator, AnimatorStateInfo animatorStateInfo, int layerIndex) {",
// "\t$0",
// "}"
// ]
// },
// "StateMachineBehaviour OnStateIK": {
// "prefix": "OnStateIK()",
// "description": "Called right after MonoBehaviour.OnAnimatorIK.",
// "body": [
// "public void OnStateIK(Animator animator, AnimatorStateInfo animatorStateInfo, int layerIndex) {",
// "\t$0",
// "}"
// ]
// },
// "StateMachineBehaviour OnStateMove": {
// "prefix": "OnStateMove()",
// "description": "Called right after MonoBehaviour.OnAnimatorMove.",
// "body": [
// "public void OnStateMove(Animator animator, AnimatorStateInfo animatorStateInfo, int layerIndex) {",
// "\t$0",
// "}"
// ]
// },
// "StateMachineBehaviour OnStateUpdate": {
// "prefix": "OnStateUpdate()",
// "description": "Called on the first Update frame when a statemachine evaluate this state.",
// "body": [
// "public void OnStateUpdate(Animator animator, AnimatorStateInfo animatorStateInfo, int layerIndex) {",
// "\t$0",
// "}"
// ]
// },
// "Editor OnSceneGUI": {
// "prefix": "OnSceneGUI()",
// "description": "Enables the Editor to handle an event in the scene view.",
// "body": [
// "public void OnSceneGUI() {",
// "\t$0",
// "}"
// ]
// },
// "EditorWindow OnFocus": {
// "prefix": "OnFocus()",
// "description": "Called when the window gets keyboard focus.",
// "body": [
// "public void OnFocus() {",
// "\t$0",
// "}"
// ]
// },
// "EditorWindow OnHierarchyChange": {
// "prefix": "OnHierarchyChange()",
// "description": "Handler for message that is sent when an object or group of objects in the hierarchy changes.",
// "body": [
// "public void OnHierarchyChange() {",
// "\t$0",
// "}"
// ]
// },
// "EditorWindow OnInspectorUpdate": {
// "prefix": "OnInspectorUpdate()",
// "description": "OnInspectorUpdate is called at 10 frames per second to give the inspector a chance to update.",
// "body": [
// "public void OnInspectorUpdate() {",
// "\t$0",
// "}"
// ]
// },
// "EditorWindow OnLostFocus": {
// "prefix": "OnLostFocus()",
// "description": "Called when the window loses keyboard focus.",
// "body": [
// "public void OnLostFocus() {",
// "\t$0",
// "}"
// ]
// },
// "EditorWindow OnProjectChange": {
// "prefix": "OnProjectChange()",
// "description": "Handler for message that is sent whenever the state of the project changes.",
// "body": [
// "public void OnProjectChange() {",
// "\t$0",
// "}"
// ]
// },
// "EditorWindow OnSelectionChange": {
// "prefix": "OnSelectionChange()",
// "description": "Called whenever the selection has changed.",
// "body": [
// "public void OnSelectionChange() {",
// "\t$0",
// "}"
// ]
// },
// "ScriptableWizard OnWizardCreate": {
// "prefix": "OnWizardCreate()",
// "description": "This is called when the user clicks on the Create button.",
// "body": [
// "public void OnWizardCreate() {",
// "\t$0",
// "}"
// ]
// },
// "ScriptableWizard OnWizardOtherButton": {
// "prefix": "OnWizardOtherButton()",
// "description": "Allows you to provide an action when the user clicks on the other button.",
// "body": [
// "public void OnWizardOtherButton() {",
// "\t$0",
// "}"
// ]
// },
// "ScriptableWizard OnWizardUpdate": {
// "prefix": "OnWizardUpdate()",
// "description": "This is called when the wizard is opened or whenever the user changes something in the wizard.",
// "body": [
// "public void OnWizardUpdate() {",
// "\t$0",
// "}"
// ]
// },
"Debug Log": {
"prefix": "Log",
"description": "Logs message to the Unity Console.",
"body": "Debug.Log($0);"
},
"Debug Log Error": {
"prefix": "LogError",
"description": "A variant of Debug.Log that logs an error message to the console.",
"body": "Debug.LogError($0);"
},
"Debug Log Warning": {
"prefix": "LogWarning",
"description": "A variant of Debug.Log that logs a warning message to the console.",
"body": "Debug.LogWarning($0);"
},
"Debug Log Exception": {
"prefix": "LogException",
"description": "A variant of Debug.Log that logs an error message from an exception to the console.",
"body": "Debug.LogException($0);"
},
"Debug LogFormat": {
"prefix": "LogFormat",
"description": "Logs a formatted message to the Unity Console.",
"body": "Debug.LogFormat($0);"
},
"Debug LogErrorFormat": {
"prefix": "LogErrorFormat",
"description": "Logs a formatted error message to the Unity console.",
"body": "Debug.LogErrorFormat($0);"
},
"Debug LogWarningFormat": {
"prefix": "LogWarningFormat",
"description": "Logs a formatted warning message to the Unity Console.",
"body": "Debug.LogWarningFormat($0);"
},
"General class": {
"prefix": "class",
"description": "Creates a normal class.",
"body": [
"public class ${TM_FILENAME_BASE} {",
"\t$0",
"}"
]
},
"General interface": {
"prefix": "interface",
"description": "Creates a normal interface.",
"body": [
"public interface ${TM_FILENAME_BASE} {",
"\t$0",
"}"
]
},
}
aeschli.vscode-css-formatter
AndrewMcWhae.maxscript
angelo-breuer.clock
bierner.markdown-mermaid
bierner.markdown-preview-github-styles
bpruitt-goddard.mermaid-markdown-syntax-highlighting
christian-kohler.path-intellisense
codezombiech.gitignore
DavidAnson.vscode-markdownlint
daylerees.rainglow
dbaeumer.vscode-eslint
dendron.dendron-markdown-shortcuts
eamodio.gitlens
earshinov.permute-lines
EdgardMessias.clipboard-manager
EditorConfig.EditorConfig
formulahendry.dotnet-test-explorer
gistart.theme-desert-dawn
GitHub.copilot
GitHub.remotehub
Gruntfuggly.todo-tree
hogashi.crontab-syntax-highlight
jebbs.markdown-extended
jmrog.vscode-nuget-package-manager
joffreykern.markdown-toc
johnpapa.vscode-peacock
kleber-swf.unity-code-snippets
maptz.regionfolder
mhutchie.git-graph
mikestead.dotenv
ms-azuretools.vscode-docker
ms-dotnettools.csharp
ms-python.python
ms-python.vscode-pylance
ms-toolsai.jupyter-keymap
ms-vscode-remote.remote-containers
ms-vscode-remote.remote-ssh
ms-vscode-remote.remote-ssh-edit
ms-vscode-remote.remote-wsl
ms-vscode-remote.vscode-remote-extensionpack
ms-vscode.remote-repositories
ms-vscode.vscode-typescript-tslint-plugin
oderwat.indent-rainbow
OmerShapira.mdl
patbenatar.advanced-new-file
PKief.material-icon-theme
redhat.vscode-xml
richie5um2.vscode-sort-json
slevesque.shader
slevesque.vscode-autohotkey
spmeesseman.vscode-taskexplorer
stevencl.addDocComments
svsool.markdown-memo
tht13.python
TomasHubelbauer.vscode-markdown-table-format
tomoki1207.pdf
Tyriar.lorem-ipsum
Unity.unity-debug
usernamehw.errorlens
vincaslt.highlight-matching-tag
VisualStudioExptTeam.vscodeintellicode
vivaxy.vscode-conventional-commits
vsls-contrib.gistfs
vsls-contrib.gitdoc
vstirbu.vscode-mermaid-preview
wesbos.theme-cobalt2
wmaurer.vscode-jumpy
{
// Place your global snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and
// description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope
// is left empty or omitted, the snippet gets applied to all languages. The prefix is what is
// used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders.
// Placeholders with the same ids are connected.
// Example:
// "Print to console": {
// "scope": "javascript,typescript",
// "prefix": "log",
// "body": [
// "console.log('$1');",
// "$2"
// ],
// "description": "Log output to console"
// }
"todo": {
"prefix": "to",
"scope": "markdown,yaml",
"body": "- [ ] ",
"description": "render todo box"
},
"date": {
"prefix": "date",
"scope": "markdown,yaml",
"body": "$CURRENT_YEAR.$CURRENT_MONTH.$CURRENT_DATE",
"description": "today's date"
},
"time": {
"prefix": "time",
"scope": "markdown,yaml",
"body": "$CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE $CURRENT_HOUR:$CURRENT_MINUTE",
"description": "time"
}
}
{
// Place your global snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and
// description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope
// is left empty or omitted, the snippet gets applied to all languages. The prefix is what is
// used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders.
// Placeholders with the same ids are connected.
// Example:
// "Print to console": {
// "scope": "javascript,typescript",
// "prefix": "log",
// "body": [
// "console.log('$1');",
// "$2"
// ],
// "description": "Log output to console"
// }
"code line": {
"description": "line code `code`",
"prefix": [
"xx_markdown code line",
"code line"
],
"scope": "markdown",
"body": "`$TM_SELECTED_TEXT`$0",
},
"code block": {
"description": "code block ```code```",
"prefix": [
"xx_markdown code block",
"code block",
],
"scope": "markdown",
"body": "```\n$TM_SELECTED_TEXT\n```$0",
}
}
{
"[dockercompose]": {
"editor.autoIndent": "advanced",
"editor.insertSpaces": true,
"editor.lineNumbers": "off",
"editor.tabSize": 4,
"editor.wordWrap": "off",
"editor.wordWrapColumn": 999
},
"[markdown]": {
"editor.quickSuggestions": true
},
"[xml]": {
"editor.autoClosingBrackets": "never",
"files.trimFinalNewlines": true
},
"advancedNewFile.convenienceOptions": [
"last",
"current",
"root"
],
"advancedNewFile.exclude": {
"node_modules": true
},
"advancedNewFile.showInformationMessages": true,
"clipboard-manager.avoidDuplicates": true,
"clipboard-manager.checkInterval": 500,
"clipboard-manager.maxClipboardSize": 1000000,
"clipboard-manager.maxClips": 100,
"clipboard-manager.moveToTop": true,
"clipboard-manager.onlyWindowFocused": false,
"clipboard-manager.preview": true,
"clipboard-manager.saveTo": null,
"clipboard-manager.snippet.enabled": false,
"clipboard-manager.snippet.max": 10,
"clock.active": true,
"clock.alignment": "Right",
"clock.format": "HH:MM:ss",
"clock.iconName": "clock",
"clock.priority": 30,
"clock.updateInterval": 1000,
"conventionalCommits.autoCommit": true,
"conventionalCommits.promptScopes": false,
"conventionalCommits.showEditor": true,
"conventionalCommits.silentAutoCommit": false,
"csharp.semanticHighlighting.enabled": true,
"csharp.suppressDotnetInstallWarning": true,
"debug.internalConsoleOptions": "neverOpen",
"debug.onTaskErrors": "abort",
"diffEditor.ignoreTrimWhitespace": false,
"diffEditor.wordWrap": "off",
"docker.showStartPage": false,
"dotnet-test-explorer.autoWatch": true,
"dotnet-test-explorer.runInParallel": true,
"editor.acceptSuggestionOnCommitCharacter": false,
"editor.bracketPairColorization.enabled": true,
"editor.cursorBlinking": "expand",
"editor.cursorSmoothCaretAnimation": true,
"editor.cursorStyle": "line",
"editor.cursorSurroundingLines": 15,
"editor.cursorWidth": 3,
"editor.fontFamily": "'Fira Code', 'Cascadia Code', 'Operator Mono', 'Source Code Pro', 'Courier New', monospace",
"editor.fontLigatures": true,
"editor.formatOnSave": true,
"editor.formatOnSaveMode": "modificationsIfAvailable",
"editor.guides.bracketPairs": false,
"editor.guides.bracketPairsHorizontal": "active",
"editor.guides.highlightActiveBracketPair": true,
"editor.guides.highlightActiveIndentation": true,
"editor.guides.indentation": true,
"editor.hover.above": true,
"editor.inlineSuggest.enabled": true,
"editor.minimap.enabled": true,
"editor.minimap.maxColumn": 55,
"editor.minimap.renderCharacters": true,
"editor.minimap.scale": 2,
"editor.minimap.showSlider": "always",
"editor.minimap.size": "fill",
"editor.renderWhitespace": "all",
"editor.scrollbar.horizontal": "auto",
"editor.scrollbar.vertical": "visible",
"editor.scrollbar.verticalScrollbarSize": 10,
"editor.semanticHighlighting.enabled": true,
"editor.semanticTokenColorCustomizations": {
"enabled": true,
"rules": {
"class": {
"family": "'Operator Mono', 'Fira Code', 'Cascadia Code'",
"foreground": "#c5a6ff"
},
"enum": "#e43b3b",
"enumMember": "#ff9595",
"interface": {
"fontStyle": "bold",
"foreground": "#39ffad"
},
"parameter": "#73ff00",
"preprocessorKeyword": "#bdbdbd",
"property.readonly": "#ff82f9",
"struct": "#ffeca6",
"variable.readonly": "#ff82f9"
}
},
"editor.showFoldingControls": "always",
"editor.suggest.snippetsPreventQuickSuggestions": false,
"editor.suggestSelection": "first",
"editor.tokenColorCustomizations": {
"[Cobalt2]": {
"comments": {},
"textMateRules": [
{
"scope": "markup.inline.raw",
"settings": {
"foreground": "#00ff0d"
}
},
{
"scope": "punctuation.definition.markdown",
"settings": {
"foreground": "#c300ff"
}
}
]
}
},
"editor.wordWrap": "off",
"errorLens.enabledDiagnosticLevels": [
"error",
"warning"
],
"explorer.incrementalNaming": "smart",
"files.associations": {
"**/.ssh/config": "plaintext"
},
"files.defaultLanguage": "markdown",
"files.exclude": {
"**/.DS_Store": false,
"**/.git": false,
"**/.hg": false,
"**/.svn": false,
"**/CVS": false,
"**/Thumbs.db": false
},
"git-graph.dialog.merge.noCommit": false,
"git-graph.dialog.merge.noFastForward": false,
"git-graph.maxDepthOfRepoSearch": 3,
"git.allowForcePush": true,
"git.autofetch": "all",
"git.autofetchPeriod": 120,
"git.confirmForcePush": false,
"git.confirmSync": false,
"git.enableSmartCommit": true,
"git.smartCommitChanges": "all",
"github.copilot.enable": {
"*": true,
"markdown": true,
"plaintext": true,
"yaml": true
},
"gitlens.advanced.fileHistoryFollowsRenames": true,
"gitlens.blame.compact": true,
"gitlens.blame.heatmap.enabled": true,
"gitlens.blame.toggleMode": "window",
"gitlens.changes.toggleMode": "window",
"gitlens.codeLens.enabled": false,
"gitlens.codeLens.includeSingleLineSymbols": true,
"gitlens.heatmap.toggleMode": "window",
"http.proxyStrictSSL": false,
"indentRainbow.colors": [
"rgba(100,100,100,0.0)",
"rgba(100,100,100,0.2)",
"rgba(100,100,100,0.0)",
"rgba(100,100,100,0.2)",
"rgba(100,100,100,0.0)",
"rgba(100,100,100,0.2)"
],
"jumpy.wordRegexp": "\\w{5,}",
"maptz.regionfolder": {
"[js]": {
"disableFolding": false,
"foldEnd": "; #endregion",
"foldEndRegex": ";[\\s]*#endregion",
"foldStart": "; #region [NAME]",
"foldStartRegex": ";[\\s]*#region[\\s]*(.*)"
}
},
"markdown.extension.list.indentationSize": "inherit",
"markdown.extension.toc.updateOnSave": true,
"markdown.math.enabled": true,
"markdown.preview.doubleClickToSwitchToEditor": true,
"markdown.preview.fontFamily": "'Fira Code', 'Cascadia Code', 'Courier New', monospace,-apple-system, BlinkMacSystemFont, 'Segoe WPC', 'Segoe UI', system-ui, 'Ubuntu', 'Droid Sans', sans-serif",
"markdown.preview.markEditorSelection": true,
"markdown.preview.scrollEditorWithPreview": true,
"markdown.preview.scrollPreviewWithEditor": true,
"markdown.preview.typographer": true,
"markdownExtended.tocLevels": [
1,
2,
3,
4
],
"notebook.consolidatedRunButton": true,
"notebook.showFoldingControls": "always",
"omnisharp.enableRoslynAnalyzers": true,
"omnisharp.organizeImportsOnFormat": true,
"omnisharp.useEditorFormattingSettings": true,
"peacock.darkenLightenPercentage": 10,
"peacock.favoriteColors": [
{
"name": "Angular Red",
"value": "#dd0531"
},
{
"name": "Azure Blue",
"value": "#007fff"
},
{
"name": "JavaScript Yellow",
"value": "#f9e64f"
},
{
"name": "Mandalorian Blue",
"value": "#1857a4"
},
{
"name": "Node Green",
"value": "#215732"
},
{
"name": "React Blue",
"value": "#61dafb"
},
{
"name": "Something Different",
"value": "#832561"
},
{
"name": "Svelte Orange",
"value": "#ff3d00"
},
{
"name": "Vue Green",
"value": "#42b883"
},
{
"name": "Gatsby Purple",
"value": "#639"
},
{
"name": "Auth0 Orange",
"value": "#eb5424"
}
],
"python.formatting.autopep8Args": [
"--max-line-length",
"5000"
],
"python.linting.pylintArgs": [
"--max-line-length=5000"
],
"redhat.telemetry.enabled": false,
"remote.SSH.defaultExtensions": [
"aaron-bond.better-comments",
"christian-kohler.path-intellisense",
"Gruntfuggly.todo-tree",
"maattdd.gitless",
"mhutchie.git-graph",
"oderwat.indent-rainbow",
"patbenatar.advanced-new-file",
"PKief.material-icon-theme",
"spmeesseman.vscode-taskexplorer",
"TomasHubelbauer.vscode-markdown-table-format",
"vincaslt.highlight-matching-tag",
"VisualStudioExptTeam.vscodeintellicode",
"vivaxy.vscode-conventional-commits",
"vsls-contrib.gistfs",
"wmaurer.vscode-jumpy"
],
"remote.SSH.foldersSortOrder": "alphabetical",
"remote.SSH.remotePlatform": {
"MAD-LAN-devServer": "linux",
"MAD-cloud-ebm-webexponate": "linux",
"MADNESS-devServer-LAN": "linux",
"cloudNAS-WAN": "linux",
"MAD-cloud": "linux",
"MAD-LAN-devServer-backup": "linux",
"MAD-cloud-SICK": "linux",
"boontooNAS-LAN": "linux"
},
"scm.alwaysShowActions": true,
"security.workspace.trust.banner": "never",
"security.workspace.trust.enabled": false,
"security.workspace.trust.untrustedFiles": "open",
"terminal.external.windowsExec": "%LocalAppData%\\Microsoft\\WindowsApps\\wt.exe",
"terminal.integrated.cursorBlinking": true,
"terminal.integrated.cursorStyle": "line",
"terminal.integrated.cursorWidth": 3,
"terminal.integrated.cwd": "${workspaceFolder}",
"terminal.integrated.enablePersistentSessions": false,
"terminal.integrated.fontFamily": "'Menlo for Powerline','Fira Code', 'Cascadia Code', 'Courier New'",
"terminal.integrated.persistentSessionReviveProcess": "never",
"terminal.integrated.scrollback": 10000,
"terminal.integrated.shellIntegration.enabled": true,
"testing.autoRun.mode": "all",
"testing.defaultGutterClickAction": "debug",
"testing.followRunningTest": true,
"testing.gutterEnabled": true,
"testing.openTesting": "openOnTestStart",
"todo-tree.filtering.excludeGlobs": [
"**/AppData/**",
"**/node_modules",
"**/Assets/Plugins/**",
"**/Library/**",
"**/_SERVER/bin/**"
],
"todo-tree.filtering.useBuiltInExcludes": "file and search excludes",
"todo-tree.general.enableFileWatcher": true,
"todo-tree.general.tags": [
"BUG",
"HACK",
"TODO",
"DONE",
"BOOKMARK",
"TEST",
"REFACTOR"
],
"todo-tree.highlights.customHighlight": {
"BOOKMARK": {
"background": "#50ff50",
"foreground": "#ffffff",
"gutterIcon": true,
"icon": "bookmark",
"iconColour": "#50ff50",
"opacity": 50,
"type": "whole-line"
},
"BUG": {
"background": "#ff5050",
"foreground": "#ffffff",
"gutterIcon": true,
"icon": "bug",
"iconColour": "#ff5050",
"opacity": 50,
"type": "whole-line"
},
"DONE": {
"background": "#6dff5023",
"foreground": "#ffffff",
"gutterIcon": true,
"icon": "$(pass-filled)",
"opacity": 50,
"type": "whole-line"
},
"HACK": {
"background": "#ffff50",
"foreground": "#ffffff",
"gutterIcon": true,
"icon": "flame",
"iconColour": "#ffff50",
"opacity": 50,
"type": "whole-line"
},
"REFACTOR": {
"foreground": "#ffffff",
"gutterIcon": true,
"icon": "$(combine)",
"opacity": 50,
"type": "whole-line"
},
"TEST": {
"foreground": "#ffffff",
"gutterIcon": true,
"icon": "$(beaker)",
"opacity": 50,
"type": "whole-line"
},
"TODO": {
"background": "#5050ff23",
"foreground": "#ffffff",
"gutterIcon": true,
"icon": "$(circle-large-outline)",
"opacity": 50,
"type": "whole-line"
}
},
"todo-tree.highlights.highlightDelay": 0,
"todo-tree.tree.autoRefresh": true,
"todo-tree.tree.buttons.expand": true,
"todo-tree.tree.buttons.groupByTag": true,
"todo-tree.tree.buttons.reveal": true,
"todo-tree.tree.buttons.viewStyle": true,
"todo-tree.tree.flat": true,
"todo-tree.tree.groupedByTag": false,
"todo-tree.tree.labelFormat": "${after}",
"todo-tree.tree.showCurrentScanMode": false,
"todo-tree.tree.tagsOnly": false,
"vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
"window.customMenuBarAltFocus": false,
"window.menuBarVisibility": "classic",
"window.newWindowDimensions": "offset",
"window.restoreWindows": "none",
"window.title": "${dirty}${separator}${remotName}${separator}${rootName}${separator}${activeEditorShort}${separator}${dirty}",
"workbench.colorCustomizations": {
"editor.lineHighlightBackground": "#1073cf2d",
"editor.lineHighlightBorder": "#9fced11f",
"editorBracketMatch.background": "#000000",
"editorBracketMatch.border": "#ffffff",
"editorCursor.foreground": "#ff00ff",
"editorError.border": "#ff0000ab",
"editorIndentGuide.activeBackground": "#ffae00",
"editorIndentGuide.background": "#ffffff67",
"editorRuler.foreground": "#ff4081",
"editorUnnecessaryCode.opacity": "#ffffff70",
"minimap.background": "#193549c5",
"minimap.foregroundOpacity": "#fffffff1",
"minimapSlider.background": "#00000052",
"scrollbarSlider.background": "#00000052",
"sideBySideEditor.verticalBorder": "#ffae00",
"terminalCursor.foreground": "#ff00ff"
},
"workbench.colorTheme": "Cobalt2",
"workbench.editor.highlightModifiedTabs": true,
"workbench.editor.revealIfOpen": true,
"workbench.editor.tabSizing": "shrink",
"workbench.editor.titleScrollbarSizing": "large",
"workbench.iconTheme": "material-icon-theme",
"workbench.layoutControl.enabled": true,
"workbench.panel.defaultLocation": "right",
"workbench.panel.opensMaximized": "never",
"workbench.startupEditor": "none",
"workbench.tree.indent": 10,
"workbench.tree.renderIndentGuides": "always",
"workbench.view.alwaysShowHeaderActions": true,
"zenMode.centerLayout": true,
"zenMode.hideActivityBar": false,
"zenMode.hideLineNumbers": false,
"zenMode.hideStatusBar": false,
"zenMode.hideTabs": false
}
{
"BOOKMARK": {
"prefix": [
"mark",
"bm",
"bookmark",
"xx_bookmark"
],
"description": "place a BOOKMARK in the code",
"body": [
"// BOOKMARK $0"
]
},
"BUG": {
"prefix": [
"bug",
"xx_bug"
],
"description": "place a BUG in the code",
"body": [
"// BUG $0"
]
},
"HACK": {
"prefix": [
"hack",
"xx_hack"
],
"description": "place a HACK in the code",
"body": [
"// HACK $0"
]
},
"TODO": {
"prefix": [
"todo",
"to do",
"xx_todo"
],
"description": "place a TODO in the code",
"body": [
"// TODO $0"
]
},
}
{
// Place your snippets for csharp here. Each snippet is defined under a snippet name and has a prefix, body and
// description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the
// same ids are connected.
// Example:
// "Print to console": {
// "prefix": "log",
// "body": [
// "console.log('$1');",
// "$2"
// ],
// "description": "Log output to console"
// }
// "SerializeField": {
// "prefix": [
// "ms_SerializeField",
// "sf"
// ],
// "body": [
// "[SerializeField] private $1;",
// ],
// "description": "Unity SerializedField"
// },
// "Coroutine": {
// "prefix": "ms_Coroutine",
// "description": "Unity Coroutine",
// "body": [
// "private IEnumerator coroutine_$1()",
// "{",
// "\twhile (true)",
// "\t{",
// "\t\t$0",
// "\t\tyield return null;",
// "\t}",
// "}",
// ],
// },
// "CoroutineLerp": {
// "prefix": "ms_Coroutine_Lerp",
// "description": "Unity Coroutine with Lerp",
// "body": [
// "private IEnumerator coroutine_$1(float TimeInSeconds = 1)",
// "{",
// "\tfloat lerper = 0;",
// "\tfloat LerpVal;",
// "\t",
// "\twhile (lerper < 1)",
// "\t{",
// "\t\tlerper = Mathf.Clamp01(lerper + Time.deltaTime * (1f / TimeInSeconds));",
// "\t\t",
// "\t\t// hard lerp",
// "\t\tLerpVal = lerper;",
// "\t\t// smoothed lerp",
// "\t\tLerpVal = Mathf.SmoothStep(0, 1, lerper);",
// "\t\t// supersmoothed lerp",
// "\t\tLerpVal = Mathf.SmoothStep(0, 1, Mathf.SmoothStep(0, 1, lerper));",
// "\t\t",
// "\t\t$0",
// "\t\t",
// "\t\tyield return null;",
// "\t}",
// "}",
// ],
// },
// The following snippets are taken from the "Unity Code Snippets" extension by Kleber silva.
// I disabled most of them and modified others to suit my needs
"Unity MonoBehaviour": {
"prefix": "MonoBehaviour",
"description": "Unity MonoBehaviour class template.",
"body": [
"using UnityEngine;",
"using System.Collections;",
"using System.Collections.Generic;",
"using Sirenix.OdinInspector;",
"using System.Linq;",
"",
"public class ${TM_FILENAME_BASE} : MonoBehaviour {",
"\t$0",
"}"
]
},
"Unity ScriptableObject": {
"prefix": "ScriptableObject",
"description": "Unity ScriptableObject class template.",
"body": [
"using UnityEngine;",
"using System.Collections;",
"using System.Collections.Generic;",
"using Sirenix.OdinInspector;",
"using System.Linq;",
"",
"[CreateAssetMenu(fileName = \"${1:${TM_FILENAME_BASE}}\", menuName = \"${2:${TM_FILEPATH/.*\\\\(.*)\\\\Assets\\\\.*/${1}/}/${TM_FILENAME_BASE}}\", order = ${3:0})]",
"public class ${TM_FILENAME_BASE} : ScriptableObject {",
"\t$0",
"}"
]
},
// "Unity StateMachineBehaviour": {
// "prefix": "StateMachineBehaviour",
// "description": "Unity StateMachineBehaviour class template.",
// "body": [
// "using UnityEngine;",
// "",
// "public class ${TM_FILENAME_BASE} : StateMachineBehaviour {",
// "\tpublic override void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {",
// "\t\t$0",
// "\t}",
// "}"
// ]
// },
// "Unity NetworkBehaviour": {
// "prefix": "NetworkBehaviour",
// "description": "Unity NetworkBehaviour class template.",
// "body": [
// "using UnityEngine;",
// "using UnityEngine.Networking;",
// "",
// "public class ${TM_FILENAME_BASE} : NetworkBehaviour {",
// "\t$0",
// "}"
// ]
// },
// "Unity Editor": {
// "prefix": "Editor",
// "description": "Unity Editor class template.",
// "body": [
// "using UnityEngine;",
// "using UnityEditor;",
// "",
// "[CustomEditor(typeof(${1:${TM_FILENAME_BASE/(.*)Editor/${1}/}}))]",
// "public class ${TM_FILENAME_BASE} : Editor {",
// "\tpublic override void OnInspectorGUI() {",
// "\t\tbase.OnInspectorGUI();",
// "\t\t$0",
// "\t}",
// "}"
// ]
// },
// "Unity Editor with Reorderable List": {
// "prefix": "EditorWithReorderableList",
// "description": "Unity Editor class template with a ReorderableList.",
// "body": [
// "using UnityEngine;",
// "using UnityEditor;",
// "using UnityEditorInternal;",
// "",
// "[CustomEditor(typeof(${1:${TM_FILENAME_BASE/(.*)Editor/${1}/}}))]",
// "public class ${TM_FILENAME_BASE} : Editor {",
// "\tprivate SerializedProperty _property;",
// "\tprivate ReorderableList _list;",
// "",
// "\tprivate void OnEnable() {",
// "\t\t_property = serializedObject.FindProperty(\"${2}\");",
// "\t\t_list = new ReorderableList(serializedObject, _property, true, true, true, true) {",
// "\t\t\tdrawHeaderCallback = DrawListHeader,",
// "\t\t\tdrawElementCallback = DrawListElement",
// "\t\t};",
// "\t}",
// "",
// "\tprivate void DrawListHeader(Rect rect) {",
// "\t\tGUI.Label(rect, \"${2}\");",
// "\t}",
// "",
// "\tprivate void DrawListElement(Rect rect, int index, bool isActive, bool isFocused) {",
// "\t\tvar item = _property.GetArrayElementAtIndex(index);",
// "\t\tEditorGUI.PropertyField(rect, item);",
// "\t\t$0",
// "\t}",
// "",
// "\tpublic override void OnInspectorGUI() {",
// "\t\tserializedObject.Update();",
// "\t\tEditorGUILayout.Space();",
// "\t\t_list.DoLayoutList();",
// "\t\tserializedObject.ApplyModifiedProperties();",
// "\t}",
// "}"
// ]
// },
// "Unity EditorWindow": {
// "prefix": "EditorWindow",
// "description": "Unity EditorWindow class template.",
// "body": [
// "using UnityEngine;",
// "using UnityEditor;",
// "",
// "public class ${TM_FILENAME_BASE} : EditorWindow {",
// "",
// "\t[MenuItem(\"${1:${TM_FILEPATH/.*\\\\(.*)\\\\Assets\\\\.*/${1}/}/${TM_FILENAME_BASE/(.*)Editor/${1}/}}\")]",
// "\tprivate static void ShowWindow() {",
// "\t\tvar window = GetWindow<${TM_FILENAME_BASE}>();",
// "\t\twindow.titleContent = new GUIContent(\"${2:${TM_FILENAME_BASE/(.*)Editor/${1}/}}\");",
// "\t\twindow.Show();",
// "\t}",
// "",
// "\tprivate void OnGUI() {",
// "\t\t$0",
// "\t}",
// "}"
// ]
// },
// "Unity PropertyDrawer": {
// "prefix": "PropertyDrawer",
// "description": "Unity PropertyDrawer class template.",
// "body": [
// "using UnityEngine;",
// "using UnityEditor;",
// "",
// "[CustomPropertyDrawer(typeof(${1:${TM_FILENAME_BASE/(.*)Drawer/${1}/}}))]",
// "public class ${TM_FILENAME_BASE}: PropertyDrawer {",
// "\tpublic override void OnGUI(Rect position, SerializedProperty property, GUIContent label) {",
// "\t\t$0",
// "\t}",
// "}"
// ]
// },
// "Unity ScriptableWizard": {
// "prefix": "ScriptableWizard",
// "description": "Unity ScriptableWizard class template.",
// "body": [
// "using UnityEngine;",
// "using UnityEditor;",
// "",
// "public class ${TM_FILENAME_BASE}: ScriptableWizard {",
// "",
// "\t[MenuItem(\"${1:${TM_FILEPATH/.*\\\\(.*)\\\\Assets\\\\.*/${1}/}/${TM_FILENAME_BASE/(.*)Wizard/${1}/}}\")]",
// "\tprivate static void MenuEntryCall() {",
// "\t\tDisplayWizard<${TM_FILENAME_BASE}>(\"${2:Title}\");",
// "\t}",
// "",
// "\tprivate void OnWizardCreate() {",
// "\t\t$0",
// "\t}",
// "}"
// ]
// },
// "MonoBehaviour OnAnimatorIK": {
// "prefix": "OnAnimatorIK(int)",
// "description": "Callback for setting up animation IK (inverse kinematics).",
// "body": [
// "public void OnAnimatorIK(int layerIndex) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnAnimatorMove": {
// "prefix": "OnAnimatorMove()",
// "description": "Callback for processing animation movements for modifying root motion.",
// "body": [
// "public void OnAnimatorMove() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnApplicationFocus": {
// "prefix": "OnApplicationFocus(bool)",
// "description": "Callback sent to all game objects when the player gets or loses focus.",
// "body": [
// "public void OnApplicationFocus(bool focusStatus) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnApplicationPause": {
// "prefix": "OnApplicationPause(bool)",
// "description": "Callback sent to all game objects when the player pauses.",
// "body": [
// "public void OnApplicationPause(bool pauseStatus) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnApplicationQuit": {
// "prefix": "OnApplicationQuit()",
// "description": "Callback sent to all game objects before the application is quit.",
// "body": [
// "public void OnApplicationQuit() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnAudioFilterRead": {
// "prefix": "OnAudioFilterRead(float[], int)",
// "description": "If OnAudioFilterRead is implemented, Unity will insert a custom filter into the audio DSP chain.",
// "body": [
// "public void OnAudioFilterRead(float[] data, int channels) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnBecameInvisible": {
// "prefix": "OnBecameInvisible()",
// "description": "OnBecameInvisible is called when the renderer is no longer visible by any camera.",
// "body": [
// "public void OnBecameInvisible() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnBecameVisible": {
// "prefix": "OnBecameVisible()",
// "description": "OnBecameVisible is called when the renderer became visible by any camera.",
// "body": [
// "public void OnBecameVisible() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnCollisionEnter": {
// "prefix": "OnCollisionEnter(Collision)",
// "description": "OnCollisionEnter is called when this collider/rigidbody has begun\n touching another rigidbody/collider.",
// "body": [
// "public void OnCollisionEnter(Collision other) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnCollisionEnter2D": {
// "prefix": "OnCollisionEnter2D(Collision2D)",
// "description": "Sent when an incoming collider makes contact with this object's collider (2D physics only).",
// "body": [
// "public void OnCollisionEnter2D(Collision2D other) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnCollisionExit": {
// "prefix": "OnCollisionExit(Collision)",
// "description": "OnCollisionExit is called when this collider/rigidbody has stopped touching another rigidbody/collider.",
// "body": [
// "public void OnCollisionExit(Collision other) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnCollisionExit2D": {
// "prefix": "OnCollisionExit2D(Collision2D)",
// "description": "Sent when a collider on another object stops touching this object's collider (2D physics only).",
// "body": [
// "public void OnCollisionExit2D(Collision2D other) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnCollisionStay": {
// "prefix": "OnCollisionStay(Collision)",
// "description": "OnCollisionStay is called once per frame for every collider/rigidbody that is touching rigidbody/collider.",
// "body": [
// "public void OnCollisionStay(Collision other) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnCollisionStay2D": {
// "prefix": "OnCollisionStay2D(Collision2D)",
// "description": "Sent each frame where a collider on another object is touching this object's collider (2D physics only).",
// "body": [
// "public void OnCollisionStay2D(Collision2D other) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnConnectedToServer": {
// "prefix": "OnConnectedToServer()",
// "description": "Called on the client when you have successfully connected to a server.",
// "body": [
// "public void OnConnectedToServer() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnControllerColliderHit": {
// "prefix": "OnControllerColliderHit(ControllerColliderHit)",
// "description": "OnControllerColliderHit is called when the controller hits a collider while performing a Move.",
// "body": [
// "public void OnControllerColliderHit(ControllerColliderHit hit) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnDisconnectedFromServer": {
// "prefix": "OnDisconnectedFromServer(NetworkDisconnection)",
// "description": "Called on the client when the connection was lost or you disconnected from the server.",
// "body": [
// "public void OnDisconnectedFromServer(NetworkDisconnection info) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnFailedToConnect": {
// "prefix": "OnFailedToConnect(NetworkConnectionError)",
// "description": "Called on the client when a connection attempt fails for some reason.",
// "body": [
// "public void OnFailedToConnect(NetworkConnectionError error) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnFailedToConnectToMasterServer": {
// "prefix": "OnFailedToConnectToMasterServer(NetworkConnectionError)",
// "description": "Called on clients or servers when there is a problem connecting to the MasterServer.",
// "body": [
// "public void OnFailedToConnectToMasterServer(NetworkConnectionError error) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnGUI": {
// "prefix": "OnGUI()",
// "description": "OnGUI is called for rendering and handling GUI events.",
// "body": [
// "public void OnGUI() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnJointBreak": {
// "prefix": "OnJointBreak(float)",
// "description": "Called when a joint attached to the same game object broke.",
// "body": [
// "public void OnJointBreak(float breakForce) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnJointBreak2D": {
// "prefix": "OnJointBreak2D(Joint2D)",
// "description": "Called when a Joint2D attached to the same game object breaks.",
// "body": [
// "public void OnJointBreak2D(Joint2D brokenJoint) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnMasterServerEvent": {
// "prefix": "OnMasterServerEvent(MasterServerEvent)",
// "description": "Called on clients or servers when reporting events from the MasterServer.",
// "body": [
// "public void OnMasterServerEvent(MasterServerEvent msEvent) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnMouseDown": {
// "prefix": "OnMouseDown()",
// "description": "OnMouseDown is called when the user has pressed the mouse button while over the GUIElement or Collider.",
// "body": [
// "public void OnMouseDown() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnMouseDrag": {
// "prefix": "OnMouseDrag()",
// "description": "OnMouseDrag is called when the user has clicked on a GUIElement or Collider and is still holding down the mouse.",
// "body": [
// "public void OnMouseDrag() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnMouseEnter": {
// "prefix": "OnMouseEnter()",
// "description": "Called when the mouse enters the GUIElement or Collider.",
// "body": [
// "public void OnMouseEnter() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnMouseExit": {
// "prefix": "OnMouseExit()",
// "description": "Called when the mouse is not any longer over the GUIElement or Collider.",
// "body": [
// "public void OnMouseExit() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnMouseOver": {
// "prefix": "OnMouseOver()",
// "description": "Called every frame while the mouse is over the GUIElement or Collider.",
// "body": [
// "public void OnMouseOver() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnMouseUp": {
// "prefix": "OnMouseUp()",
// "description": "OnMouseUp is called when the user has released the mouse button.",
// "body": [
// "public void OnMouseUp() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnMouseUpAsButton": {
// "prefix": "OnMouseUpAsButton()",
// "description": "OnMouseUpAsButton is only called when the mouse is released over the same GUIElement or Collider as it was pressed.",
// "body": [
// "public void OnMouseUpAsButton() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnNetworkInstantiate": {
// "prefix": "OnNetworkInstantiate(NetworkMessageInfo)",
// "description": "Called on objects which have been network instantiated with Network.Instantiate.",
// "body": [
// "public void OnNetworkInstantiate(NetworkMessageInfo info) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnParticleCollision": {
// "prefix": "OnParticleCollision(GameObject)",
// "description": "OnParticleCollision is called when a particle hits a collider.",
// "body": [
// "public void OnParticleCollision(GameObject other) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnParticleSystemStopped": {
// "prefix": "OnParticleSystemStopped()",
// "description": "OnParticleSystemStopped is called when all particles in the system have died, and no new particles will be born. New particles cease to be created either after Stop is called, or when the duration property of a non-looping system has been exceeded.",
// "body": [
// "public void OnParticleSystemStopped() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnParticleTrigger": {
// "prefix": "OnParticleTrigger()",
// "description": "OnParticleTrigger is called when any particles in a particle system meet the conditions in the trigger module.",
// "body": [
// "public void OnParticleTrigger() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnPlayerConnected": {
// "prefix": "OnPlayerConnected(NetworkPlayer)",
// "description": "Called on the server whenever a new player has successfully connected.",
// "body": [
// "public void OnPlayerConnected(NetworkPlayer player) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnPlayerDisconnected": {
// "prefix": "OnPlayerDisconnected(NetworkPlayer)",
// "description": "Called on the server whenever a player disconnected from the server.",
// "body": [
// "public void OnPlayerDisconnected(NetworkPlayer player) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnPostRender": {
// "prefix": "OnPostRender()",
// "description": "OnPostRender is called after a camera finishes rendering the scene.",
// "body": [
// "public void OnPostRender() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnPreCull": {
// "prefix": "OnPreCull()",
// "description": "OnPreCull is called before a camera culls the scene.",
// "body": [
// "public void OnPreCull() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnPreRender": {
// "prefix": "OnPreRender()",
// "description": "OnPreRender is called before a camera starts rendering the scene.",
// "body": [
// "public void OnPreRender() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnRenderImage": {
// "prefix": "OnRenderImage(RenderTexture, RenderTexture)",
// "description": "OnRenderImage is called after all rendering is complete to render image.",
// "body": [
// "public void OnRenderImage(RenderTexture src, RenderTexture dest) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnRenderObject": {
// "prefix": "OnRenderObject()",
// "description": "OnRenderObject is called after camera has rendered the scene.",
// "body": [
// "public void OnRenderObject() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnSerializeNetworkView": {
// "prefix": "OnSerializeNetworkView(BitStream, NetworkMessageInfo)",
// "description": "Used to customize synchronization of variables in a script watched by a network view.",
// "body": [
// "public void OnSerializeNetworkView(BitStream stream, NetworkMessageInfo info) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnServerInitialized": {
// "prefix": "OnServerInitialized()",
// "description": "Called on the server whenever a Network.InitializeServer was invoked and has completed.",
// "body": [
// "public void OnServerInitialized() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnTransformChildrenChanged": {
// "prefix": "OnTransformChildrenChanged()",
// "description": "Called when the list of children of the transform of the GameObject has changed.",
// "body": [
// "public void OnTransformChildrenChanged() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnTransformParentChanged": {
// "prefix": "OnTransformParentChanged()",
// "description": "Called when the parent property of the transform of the GameObject has changed.",
// "body": [
// "public void OnTransformParentChanged() {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnTriggerEnter": {
// "prefix": "OnTriggerEnter(Collider)",
// "description": "OnTriggerEnter is called when the Collider other enters the trigger.",
// "body": [
// "public void OnTriggerEnter(Collider other) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnTriggerEnter2D": {
// "prefix": "OnTriggerEnter2D(Collider2D)",
// "description": "Sent when another object enters a trigger collider attached to this object (2D physics only).",
// "body": [
// "public void OnTriggerEnter2D(Collider2D other) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnTriggerExit": {
// "prefix": "OnTriggerExit(Collider)",
// "description": "OnTriggerExit is called when the Collider other has stopped touching the trigger.",
// "body": [
// "public void OnTriggerExit(Collider other) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnTriggerExit2D": {
// "prefix": "OnTriggerExit2D(Collider2D)",
// "description": "Sent when another object leaves a trigger collider attached to this object (2D physics only).",
// "body": [
// "public void OnTriggerExit2D(Collider2D other) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnTriggerStay": {
// "prefix": "OnTriggerStay(Collider)",
// "description": "OnTriggerStay is called once per frame for every Collider other that is touching the trigger.",
// "body": [
// "public void OnTriggerStay(Collider other) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnTriggerStay2D": {
// "prefix": "OnTriggerStay2D(Collider2D)",
// "description": "Sent each frame where another object is within a trigger collider attached to this object (2D physics only).",
// "body": [
// "public void OnTriggerStay2D(Collider2D other) {",
// "\t$0",
// "}"
// ]
// },
// "MonoBehaviour OnWillRenderObject": {
// "prefix": "OnWillRenderObject()",
// "description": "OnWillRenderObject is called for each camera if the object is visible.",
// "body": [
// "public void OnWillRenderObject() {",
// "\t$0",
// "}"
// ]
// },
// "StateMachineBehaviour OnStateEnter": {
// "prefix": "OnStateEnter()",
// "description": "Called on the first Update frame when a statemachine evaluate this state.",
// "body": [
// "public void OnStateEnter(Animator animator, AnimatorStateInfo animatorStateInfo, int layerIndex) {",
// "\t$0",
// "}"
// ]
// },
// "StateMachineBehaviour OnStateExit": {
// "prefix": "OnStateExit()",
// "description": "Called on the last update frame when a statemachine evaluate this state.",
// "body": [
// "public void OnStateExit(Animator animator, AnimatorStateInfo animatorStateInfo, int layerIndex) {",
// "\t$0",
// "}"
// ]
// },
// "StateMachineBehaviour OnStateIK": {
// "prefix": "OnStateIK()",
// "description": "Called right after MonoBehaviour.OnAnimatorIK.",
// "body": [
// "public void OnStateIK(Animator animator, AnimatorStateInfo animatorStateInfo, int layerIndex) {",
// "\t$0",
// "}"
// ]
// },
// "StateMachineBehaviour OnStateMove": {
// "prefix": "OnStateMove()",
// "description": "Called right after MonoBehaviour.OnAnimatorMove.",
// "body": [
// "public void OnStateMove(Animator animator, AnimatorStateInfo animatorStateInfo, int layerIndex) {",
// "\t$0",
// "}"
// ]
// },
// "StateMachineBehaviour OnStateUpdate": {
// "prefix": "OnStateUpdate()",
// "description": "Called on the first Update frame when a statemachine evaluate this state.",
// "body": [
// "public void OnStateUpdate(Animator animator, AnimatorStateInfo animatorStateInfo, int layerIndex) {",
// "\t$0",
// "}"
// ]
// },
// "Editor OnSceneGUI": {
// "prefix": "OnSceneGUI()",
// "description": "Enables the Editor to handle an event in the scene view.",
// "body": [
// "public void OnSceneGUI() {",
// "\t$0",
// "}"
// ]
// },
// "EditorWindow OnFocus": {
// "prefix": "OnFocus()",
// "description": "Called when the window gets keyboard focus.",
// "body": [
// "public void OnFocus() {",
// "\t$0",
// "}"
// ]
// },
// "EditorWindow OnHierarchyChange": {
// "prefix": "OnHierarchyChange()",
// "description": "Handler for message that is sent when an object or group of objects in the hierarchy changes.",
// "body": [
// "public void OnHierarchyChange() {",
// "\t$0",
// "}"
// ]
// },
// "EditorWindow OnInspectorUpdate": {
// "prefix": "OnInspectorUpdate()",
// "description": "OnInspectorUpdate is called at 10 frames per second to give the inspector a chance to update.",
// "body": [
// "public void OnInspectorUpdate() {",
// "\t$0",
// "}"
// ]
// },
// "EditorWindow OnLostFocus": {
// "prefix": "OnLostFocus()",
// "description": "Called when the window loses keyboard focus.",
// "body": [
// "public void OnLostFocus() {",
// "\t$0",
// "}"
// ]
// },
// "EditorWindow OnProjectChange": {
// "prefix": "OnProjectChange()",
// "description": "Handler for message that is sent whenever the state of the project changes.",
// "body": [
// "public void OnProjectChange() {",
// "\t$0",
// "}"
// ]
// },
// "EditorWindow OnSelectionChange": {
// "prefix": "OnSelectionChange()",
// "description": "Called whenever the selection has changed.",
// "body": [
// "public void OnSelectionChange() {",
// "\t$0",
// "}"
// ]
// },
// "ScriptableWizard OnWizardCreate": {
// "prefix": "OnWizardCreate()",
// "description": "This is called when the user clicks on the Create button.",
// "body": [
// "public void OnWizardCreate() {",
// "\t$0",
// "}"
// ]
// },
// "ScriptableWizard OnWizardOtherButton": {
// "prefix": "OnWizardOtherButton()",
// "description": "Allows you to provide an action when the user clicks on the other button.",
// "body": [
// "public void OnWizardOtherButton() {",
// "\t$0",
// "}"
// ]
// },
// "ScriptableWizard OnWizardUpdate": {
// "prefix": "OnWizardUpdate()",
// "description": "This is called when the wizard is opened or whenever the user changes something in the wizard.",
// "body": [
// "public void OnWizardUpdate() {",
// "\t$0",
// "}"
// ]
// },
}
{
// Place your snippets for csharp here. Each snippet is defined under a snippet name and has a prefix, body and
// description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the
// same ids are connected.
// Example:
// "Print to console": {
// "prefix": "log",
// "body": [
// "console.log('$1');",
// "$2"
// ],
// "description": "Log output to console"
// }
"Debug LogFormat": {
"scope": "csharp",
"prefix": [
"log",
"xx_log"
],
"description": "Logs a formatted message to the Unity Console.",
"body": "Debug.LogFormat($\"{${0:$TM_SELECTED_TEXT}}\");"
},
"Debug LogErrorFormat": {
"scope": "csharp",
"prefix": [
"logError",
"xx_logError"
],
"description": "Logs a formatted error message to the Unity console.",
"body": "Debug.LogErrorFormat($\"{${0:$TM_SELECTED_TEXT}}\");"
},
"Debug LogWarningFormat": {
"scope": "csharp",
"prefix": [
"LogWarning",
"xx_logWarning"
],
"description": "Logs a formatted warning message to the Unity Console.",
"body": "Debug.LogWarningFormat($\"{${0:$TM_SELECTED_TEXT}}\");"
},
"SerializeField": {
"scope": "csharp",
"prefix": [
"xx_SerializeField",
"sf"
],
"body": [
"[SerializeField] private ${1:float} _$0;",
],
"description": "Unity SerializedField"
},
"Coroutine Lerp": {
"scope": "csharp",
"prefix": [
"xx_coroutineLerp",
"coroutine",
"lerp"
],
"description": "Unity Coroutine with Lerp",
"body": [
"private IEnumerator coroutine_$1(float TimeInSeconds = 1)",
"{",
"\tfloat lerper = 0;",
"\tfloat LerpVal;",
"\t",
"\twhile (lerper < 1)",
"\t{",
"\t\tlerper = Mathf.Clamp01(lerper + Time.deltaTime * (1f / TimeInSeconds));",
"\t\t",
"\t\t// hard lerp",
"\t\tLerpVal = lerper;",
"\t\t// smoothed lerp",
"\t\tLerpVal = Mathf.SmoothStep(0, 1, lerper);",
"\t\t// supersmoothed lerp",
"\t\tLerpVal = Mathf.SmoothStep(0, 1, Mathf.SmoothStep(0, 1, lerper));",
"\t\t",
"\t\t$0",
"\t\t",
"\t\tyield return null;",
"\t}",
"}",
],
},
"Unity Singleton": {
"scope": "csharp",
"prefix": [
"xx_Singleton",
"singleton"
],
"description": "Unity Singleton",
"body": [
"#region Singleton Pattern",
"private static ${1:$TM_FILENAME_BASE} _Instance;",
"public static ${1:$TM_FILENAME_BASE} Instance",
"{",
"\tget",
"\t{",
"\t\t// For Editor Time :)",
"\t\tif (_Instance == null) _Instance = FindObjectOfType<${1:$TM_FILENAME_BASE}>();",
"\t\treturn _Instance;",
"\t}",
"}",
"",
"private void Awake()",
"{",
"\t// destroy if not the first instance",
"\tif (_Instance != null && _Instance != this)",
"\t{",
"\t\tDestroy(gameObject);",
"\t\treturn;",
"\t}",
"\t",
"\t_Instance = this;",
"}",
"#endregion",
"$0",
]
},
"before Unity 2019.4": {
"scope": "csharp",
"prefix": [
"xx_Unity < 2019.4",
],
"description": "#if !UNITY_2019_4_OR_NEWER",
"body": "#if !UNITY_2019_4_OR_NEWER\n$TM_SELECTED_TEXT$0\n#endif",
},
"is Unity Editor": {
"scope": "csharp",
"prefix": [
"xx_UNITY_EDITOR",
],
"description": "#if UNITY_EDITOR",
"body": "#if UNITY_EDITOR\n$TM_SELECTED_TEXT$0\n#endif",
},
}
{
"MonoBehaviour Awake": {
"prefix": "Awake()",
"description": "Awake is called when the script instance is being loaded.",
"body": [
"public void Awake() {",
"\t$0",
"}"
]
},
"MonoBehaviour FixedUpdate": {
"prefix": "FixedUpdate()",
"description": "This function is called every fixed framerate frame, if the MonoBehaviour is enabled.",
"body": [
"public void FixedUpdate() {",
"\t$0",
"}"
]
},
"MonoBehaviour LateUpdate": {
"prefix": "LateUpdate()",
"description": "LateUpdate is called every frame, if the Behaviour is enabled. It is called after all Update functions have been called.",
"body": [
"public void LateUpdate() {",
"\t$0",
"}"
]
},
"MonoBehaviour OnDestroy": {
"prefix": "OnDestroy()",
"description": "This function is called when the MonoBehaviour will be destroyed.",
"body": [
"public void OnDestroy() {",
"\t$0",
"}"
]
},
"MonoBehaviour OnDisable": {
"prefix": "OnDisable()",
"description": "This function is called when the behaviour becomes disabled or inactive.",
"body": [
"public void OnDisable() {",
"\t$0",
"}"
]
},
"MonoBehaviour OnDrawGizmos": {
"prefix": "OnDrawGizmos()",
"description": "Callback to draw gizmos that are pickable and always drawn.",
"body": [
"public void OnDrawGizmos() {",
"\t$0",
"}"
]
},
"MonoBehaviour OnDrawGizmosSelected": {
"prefix": "OnDrawGizmosSelected()",
"description": "Callback to draw gizmos only if the object is selected.",
"body": [
"public void OnDrawGizmosSelected() {",
"\t$0",
"}"
]
},
"MonoBehaviour OnEnable": {
"prefix": "OnEnable()",
"description": "This function is called when the object becomes enabled and active.",
"body": [
"public void OnEnable() {",
"\t$0",
"}"
]
},
"MonoBehaviour OnValidate": {
"prefix": "OnValidate()",
"description": "Called when the script is loaded or a value is changed in the inspector (Called in the editor only).",
"body": [
"public void OnValidate() {",
"\t$0",
"}"
]
},
"MonoBehaviour Reset": {
"prefix": "Reset()",
"description": "Reset is called when the user hits the Reset button in the Inspector's context menu or when adding the component the first time.",
"body": [
"public void Reset() {",
"\t$0",
"}"
]
},
"MonoBehaviour Start": {
"prefix": "Start()",
"description": "Start is called on the frame when a script is enabled just before any of the Update methods is called the first time.",
"body": [
"public void Start() {",
"\t$0",
"}"
]
},
"MonoBehaviour Update": {
"prefix": "Update()",
"description": "Update is called every frame, if the MonoBehaviour is enabled.",
"body": [
"public void Update() {",
"\t$0",
"}"
]
},
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment