2024년 12월 30일 월요일

VSCode에서 자주 사용하는 Unity 스니펫 모음: 효율적인 개발을 위한 팁,VSCode에서 Snippet 활용하기

 

  1. "Unity 개발자를 위한 VSCode 명령 스니펫: 코드 작성 속도 업!"
  2. "Unity 개발 필수 VSCode 스니펫: 초보자부터 고급 개발자까지"
  3. "VSCode에서 Snippet 활용하기"

본문 예제 설명

Unity 개발에서 자주 사용하는 입력 처리 관련 명령어들을 Visual Studio Code의 스니펫으로 저장해두면, 작업 속도를 크게 향상시킬 수 있습니다. 아래는 Unity에서 가장 많이 활용되는  함수 스니펫의 JSON 코드 예제입니다. 이를 활용해 직접 VSCode에 추가해보세요!


{
    "MonoBehaviour position": {
        "prefix": "transform.position",
        "description": "Sets or gets the position of the Transform in world space.",
        "body": ["transform.position"]
    },
    "MonoBehaviour localPosition": {
        "prefix": "transform.localPosition",
        "description": "Sets or gets the position of the Transform relative to its parent.",
        "body": ["transform.localPosition"]
    },
    "MonoBehaviour rotation": {
        "prefix": "transform.rotation",
        "description": "Sets or gets the rotation of the Transform in world space.",
        "body": ["transform.rotation"]
    },
    "MonoBehaviour localRotation": {
        "prefix": "transform.localRotation",
        "description": "Sets or gets the rotation of the Transform relative to its parent.",
        "body": ["transform.localRotation"]
    },
    "MonoBehaviour eulerAngles": {
        "prefix": "transform.eulerAngles",
        "description": "Sets or gets the rotation of the Transform in Euler angles (in world space).",
        "body": ["transform.eulerAngles"]
    },
    "MonoBehaviour localEulerAngles": {
        "prefix": "transform.localEulerAngles",
        "description": "Sets or gets the rotation of the Transform in Euler angles (relative to its parent).",
        "body": ["transform.localEulerAngles"]
    },
    "MonoBehaviour localScale": {
        "prefix": "transform.localScale",
        "description": "Sets or gets the local scale of the Transform.",
        "body": ["transform.localScale"]
    },
    "MonoBehaviour Translate": {
        "prefix": "transform.Translate()",
        "description": "Moves the Transform in the direction and distance of translation.",
        "body": ["transform.Translate($1)"]
    },
    "MonoBehaviour Rotate": {
        "prefix": "transform.Rotate()",
        "description": "Rotates the Transform by a specified amount.",
        "body": ["transform.Rotate($1)"]
    },
    "MonoBehaviour LookAt": {
        "prefix": "transform.LookAt()",
        "description": "Rotates the Transform to look at a specified point in world space.",
        "body": ["transform.LookAt($1)"]
    },
    "MonoBehaviour SetParent": {
        "prefix": "transform.SetParent()",
        "description": "Sets the parent of the Transform.",
        "body": ["transform.SetParent($1)"]
    },
    "MonoBehaviour DetachChildren": {
        "prefix": "transform.DetachChildren()",
        "description": "Detaches all child Transforms from the parent.",
        "body": ["transform.DetachChildren()"]
    },
    "MonoBehaviour GetChild": {
        "prefix": "transform.GetChild()",
        "description": "Gets the child Transform at the specified index.",
        "body": ["transform.GetChild($1)"]
    },
    "MonoBehaviour childCount": {
        "prefix": "transform.childCount",
        "description": "Gets the number of children of the Transform.",
        "body": ["transform.childCount"]
    },
    "MonoBehaviour Find": {
        "prefix": "transform.Find()",
        "description": "Finds a child Transform by name.",
        "body": ["transform.Find($1)"]
    },
   
    "MonoBehaviour velocity": {
        "prefix": "Rigidbody2D.velocity",
        "description": "Sets or gets the velocity of the Rigidbody2D.",
        "body": ["Rigidbody2D.velocity"]
    },
    "MonoBehaviour AddForce": {
        "prefix": "Rigidbody2D.AddForce()",
        "description": "Applies a force to the Rigidbody2D.",
        "body": ["Rigidbody2D.AddForce($1)"]
    },
   
    "MonoBehaviour SetInt": {
        "prefix": "PlayerPrefs.SetInt()",
        "description": "Sets an integer value in PlayerPrefs.",
        "body": ["PlayerPrefs.SetInt(\"$1\", $2)"]
    },
    "MonoBehaviour GetInt": {
        "prefix": "PlayerPrefs.GetInt()",
        "description": "Gets an integer value from PlayerPrefs.",
        "body": ["PlayerPrefs.GetInt(\"$1\")"]
    },
   
    "MonoBehaviour Log": {
        "prefix": "Debug.Log()",
        "description": "Logs a message to the Unity Console.",
        "body": ["Debug.Log(\"$1\")"]
    },
   
    // Rigidbody2D section
    "MonoBehaviour angularVelocity": {
        "prefix": "Rigidbody2D.angularVelocity",
        "description": "Sets or gets the angular velocity of the Rigidbody2D.",
        "body": ["Rigidbody2D.angularVelocity"]
    },
    "MonoBehaviour gravityScale": {
        "prefix": "Rigidbody2D.gravityScale",
        "description": "Sets or gets the gravity scale for Rigidbody2D.",
        "body": ["Rigidbody2D.gravityScale"]
    },
    "MonoBehaviour mass": {
        "prefix": "Rigidbody2D.mass",
        "description": "Sets or gets the mass of the Rigidbody2D.",
        "body": ["Rigidbody2D.mass"]
    },
    "MonoBehaviour drag": {
        "prefix": "Rigidbody2D.drag",
        "description": "Sets or gets the linear drag of the Rigidbody2D.",
        "body": ["Rigidbody2D.drag"]
    },
    "MonoBehaviour angularDrag": {
        "prefix": "Rigidbody2D.angularDrag",
        "description": "Sets or gets the angular drag of the Rigidbody2D.",
        "body": ["Rigidbody2D.angularDrag"]
    },
   
    // Audio section
    "MonoBehaviour AudioSource.clip": {
        "prefix": "AudioSource.clip",
        "description": "Sets or gets the audio clip assigned to the AudioSource.",
        "body": ["AudioSource.clip"]
    },
    "MonoBehaviour AudioSource.volume": {
        "prefix": "AudioSource.volume",
        "description": "Sets or gets the volume of the AudioSource.",
        "body": ["AudioSource.volume"]
    },
    "MonoBehaviour AudioSource.pitch": {
        "prefix": "AudioSource.pitch",
        "description": "Sets or gets the pitch of the AudioSource.",
        "body": ["AudioSource.pitch"]
    },
    "MonoBehaviour AudioSource.mute": {
        "prefix": "AudioSource.mute",
        "description": "Sets or gets whether the AudioSource is muted.",
        "body": ["AudioSource.mute"]
    },
    "MonoBehaviour AudioSource.loop": {
        "prefix": "AudioSource.loop",
        "description": "Sets or gets whether the AudioSource should loop.",
        "body": ["AudioSource.loop"]
    },
   
    // Time section
    "MonoBehaviour deltaTime": {
        "prefix": "Time.deltaTime",
        "description": "The time passed since the last frame.",
        "body": ["Time.deltaTime"]
    },
    "MonoBehaviour time": {
        "prefix": "Time.time",
        "description": "The time since the game started.",
        "body": ["Time.time"]
    },
    "MonoBehaviour timeScale": {
        "prefix": "Time.timeScale",
        "description": "The time scale used by Time-based methods.",
        "body": ["Time.timeScale"]
    },
   
    // Game Management
    "MonoBehaviour Application.Quit": {
        "prefix": "Application.Quit()",
        "description": "Quits the game.",
        "body": ["Application.Quit()"]
    },
    "MonoBehaviour Application.isPlaying": {
        "prefix": "Application.isPlaying",
        "description": "Returns whether the game is playing.",
        "body": ["Application.isPlaying"]
    },
   
    // Colors section
    "MonoBehaviour Color.red": {
        "prefix": "Color.red",
        "description": "The red color value.",
        "body": ["Color.red"]
    },
    "MonoBehaviour Color.blue": {
        "prefix": "Color.blue",
        "description": "The blue color value.",
        "body": ["Color.blue"]
    },
    "MonoBehaviour Color.green": {
        "prefix": "Color.green",
        "description": "The green color value.",
        "body": ["Color.green"]
    },
    "MonoBehaviour Color.black": {
        "prefix": "Color.black",
        "description": "The black color value.",
        "body": ["Color.black"]
    },
    "MonoBehaviour Color.white": {
        "prefix": "Color.white",
        "description": "The white color value.",
        "body": ["Color.white"]
    }
    // Transform section
    "MonoBehaviour position": {
        "prefix": "transform.position",
        "description": "Sets or gets the position of the Transform in world space.",
        "body": ["transform.position"]
    },
    "MonoBehaviour Translate": {
        "prefix": "transform.Translate()",
        "description": "Moves the Transform in the direction and distance of translation.",
        "body": ["transform.Translate($1)"]
    },
    "MonoBehaviour eulerAngles": {
        "prefix": "transform.eulerAngles",
        "description": "Sets or gets the rotation of the Transform in Euler angles (in world space).",
        "body": ["transform.eulerAngles"]
    },
    "MonoBehaviour Rotate": {
        "prefix": "transform.Rotate()",
        "description": "Rotates the Transform by a specified amount.",
        "body": ["transform.Rotate($1)"]
    },
    "MonoBehaviour rotation": {
        "prefix": "transform.rotation",
        "description": "Sets or gets the rotation of the Transform in world space.",
        "body": ["transform.rotation"]
    },
    "MonoBehaviour LookAt": {
        "prefix": "transform.LookAt()",
        "description": "Rotates the Transform to look at a specified point in world space.",
        "body": ["transform.LookAt($1)"]
    },
    "MonoBehaviour RotateAround": {
        "prefix": "transform.RotateAround()",
        "description": "Rotates the Transform around a specific point and axis in world space.",
        "body": ["transform.RotateAround($1, $2, $3)"]
    },
    "MonoBehaviour localScale": {
        "prefix": "transform.localScale",
        "description": "Sets or gets the local scale of the Transform.",
        "body": ["transform.localScale"]
    },

    // Vector3 section
    "MonoBehaviour Lerp": {
        "prefix": "Vector3.Lerp()",
        "description": "Interpolates between two Vector3 points.",
        "body": ["Vector3.Lerp($1, $2, $3)"]
    },
    "MonoBehaviour Distance": {
        "prefix": "Vector3.Distance()",
        "description": "Returns the distance between two Vector3 points.",
        "body": ["Vector3.Distance($1, $2)"]
    },
    "MonoBehaviour ClampMagnitude": {
        "prefix": "Vector3.ClampMagnitude()",
        "description": "Clamps the magnitude of a Vector3 to a maximum value.",
        "body": ["Vector3.ClampMagnitude($1, $2)"]
    },
    "MonoBehaviour forward": {
        "prefix": "Vector3.forward",
        "description": "A vector representing the forward direction.",
        "body": ["Vector3.forward"]
    },
    "MonoBehaviour right": {
        "prefix": "Vector3.right",
        "description": "A vector representing the right direction.",
        "body": ["Vector3.right"]
    },
    "MonoBehaviour up": {
        "prefix": "Vector3.up",
        "description": "A vector representing the up direction.",
        "body": ["Vector3.up"]
    },
    "MonoBehaviour zero": {
        "prefix": "Vector3.zero",
        "description": "A vector with all components set to zero.",
        "body": ["Vector3.zero"]
    },
    "MonoBehaviour Set": {
        "prefix": "Vector3.Set()",
        "description": "Sets the x, y, and z components of the vector.",
        "body": ["Vector3.Set($1, $2, $3)"]
    },
    "MonoBehaviour MoveTowards": {
        "prefix": "Vector3.MoveTowards()",
        "description": "Moves a point towards a target point by a given speed.",
        "body": ["Vector3.MoveTowards($1, $2, $3)"]
    },

    // Quaternion section
    "MonoBehaviour identity": {
        "prefix": "Quaternion.identity",
        "description": "A quaternion with no rotation (identity quaternion).",
        "body": ["Quaternion.identity"]
    },
    "MonoBehaviour LookRotation": {
        "prefix": "Quaternion.LookRotation()",
        "description": "Creates a rotation that looks in the specified direction.",
        "body": ["Quaternion.LookRotation($1)"]
    },
    "MonoBehaviour Euler": {
        "prefix": "Quaternion.Euler()",
        "description": "Creates a quaternion rotation from Euler angles.",
        "body": ["Quaternion.Euler($1, $2, $3)"]
    },
    "MonoBehaviour Slerp": {
        "prefix": "Quaternion.Slerp()",
        "description": "Interpolates between two quaternions using spherical linear interpolation.",
        "body": ["Quaternion.Slerp($1, $2, $3)"]
    },
    "MonoBehaviour Angle": {
        "prefix": "Quaternion.Angle()",
        "description": "Returns the angle in degrees between two quaternions.",
        "body": ["Quaternion.Angle($1, $2)"]
    },

    // Rigidbody section
    "MonoBehaviour velocity": {
        "prefix": "rigidbody.velocity",
        "description": "Sets or gets the velocity of the Rigidbody.",
        "body": ["rigidbody.velocity"]
    },
    "MonoBehaviour angularVelocity": {
        "prefix": "rigidbody.angularVelocity",
        "description": "Sets or gets the angular velocity of the Rigidbody.",
        "body": ["rigidbody.angularVelocity"]
    },
    "MonoBehaviour maxAngularVelocity": {
        "prefix": "rigidbody.maxAngularVelocity",
        "description": "Sets or gets the maximum angular velocity of the Rigidbody.",
        "body": ["rigidbody.maxAngularVelocity"]
    },
    "MonoBehaviour MovePosition": {
        "prefix": "rigidbody.MovePosition()",
        "description": "Moves the Rigidbody to a specific position.",
        "body": ["rigidbody.MovePosition($1)"]
    },
    "MonoBehaviour MoveRotation": {
        "prefix": "rigidbody.MoveRotation()",
        "description": "Moves the Rigidbody to a specific rotation.",
        "body": ["rigidbody.MoveRotation($1)"]
    },
    "MonoBehaviour AddForce": {
        "prefix": "rigidbody.AddForce()",
        "description": "Applies a force to the Rigidbody.",
        "body": ["rigidbody.AddForce($1)"]
    },
    "MonoBehaviour AddTorque": {
        "prefix": "rigidbody.AddTorque()",
        "description": "Applies a torque to the Rigidbody.",
        "body": ["rigidbody.AddTorque($1)"]
    },
    "MonoBehaviour AddExplosionForce": {
        "prefix": "rigidbody.AddExplosionForce()",
        "description": "Applies an explosion force to the Rigidbody.",
        "body": ["rigidbody.AddExplosionForce($1, $2, $3)"]
    },

    // Collider section
    "MonoBehaviour bounds": {
        "prefix": "collider.bounds",
        "description": "Gets the collider's bounding box in world space.",
        "body": ["collider.bounds"]
    },
    "MonoBehaviour boundsExtentsX": {
        "prefix": "collider.bounds.extents.x",
        "description": "Gets the x-component of the collider's bounding box extents.",
        "body": ["collider.bounds.extents.x"]
    },
    "MonoBehaviour OverlapSphere": {
        "prefix": "Physics.OverlapSphere()",
        "description": "Returns all colliders within a spherical area.",
        "body": ["Physics.OverlapSphere($1, $2)"]
    },
    "MonoBehaviour IgnoreCollision": {
        "prefix": "Physics.IgnoreCollision()",
        "description": "Ignores collision between two colliders.",
        "body": ["Physics.IgnoreCollision($1, $2)"]
    },

    // Animation section
    "MonoBehaviour Play": {
        "prefix": "anim.Play()",
        "description": "Plays the specified animation.",
        "body": ["anim.Play($1)"]
    },
    "MonoBehaviour PlayQueued": {
        "prefix": "anim.PlayQueued()",
        "description": "Plays the animation in the queue.",
        "body": ["anim.PlayQueued($1)"]
    },
    "MonoBehaviour Blend": {
        "prefix": "anim.Blend()",
        "description": "Blends between two animations.",
        "body": ["anim.Blend($1)"]
    },
    "MonoBehaviour CrossFade": {
        "prefix": "anim.CrossFade()",
        "description": "Cross fades between animations.",
        "body": ["anim.CrossFade($1)"]
    },
    "MonoBehaviour IsPlaying": {
        "prefix": "anim.IsPlaying()",
        "description": "Checks if an animation is currently playing.",
        "body": ["anim.IsPlaying($1)"]
    },

    // Animator section
    "MonoBehaviour SetBool": {
        "prefix": "animator.SetBool()",
        "description": "Sets a boolean parameter in the Animator.",
        "body": ["animator.SetBool($1, $2)"]
    },
    "MonoBehaviour SetFloat": {
        "prefix": "animator.SetFloat()",
        "description": "Sets a float parameter in the Animator.",
        "body": ["animator.SetFloat($1, $2)"]
    },
    "MonoBehaviour SetTrigger": {
        "prefix": "animator.SetTrigger()",
        "description": "Sets a trigger parameter in the Animator.",
        "body": ["animator.SetTrigger($1)"]
    },
    "MonoBehaviour SetInteger": {
        "prefix": "animator.SetInteger()",
        "description": "Sets an integer parameter in the Animator.",
        "body": ["animator.SetInteger($1, $2)"]
    },

    // Navigation section
    "MonoBehaviour SetDestination": {
        "prefix": "NavMeshAgent.SetDestination()",
        "description": "Sets the destination for the NavMesh agent to move towards.",
        "body": ["NavMeshAgent.SetDestination($1)"]
    },
    "MonoBehaviour CalculatePath": {
        "prefix": "NavMeshAgent.CalculatePath()",
        "description": "Calculates the path for the NavMesh agent to follow.",
        "body": ["NavMeshAgent.CalculatePath($1, $2)"]
    },
    "MonoBehaviour corners": {
        "prefix": "NavMeshPath.corners",
        "description": "Gets the corners of the calculated NavMesh path.",
        "body": ["NavMeshPath.corners"]
    },

    // Mouse Interface section
    "MonoBehaviour IBeginDragHandler": {
        "prefix": "IBeginDragHandler",
        "description": "Handles the beginning of a drag event.",
        "body": ["IBeginDragHandler"]
    },
    "MonoBehaviour IDragHandler": {
        "prefix": "IDragHandler",
        "description": "Handles the drag event.",
        "body": ["IDragHandler"]
    },
    "MonoBehaviour IEndDragHandler": {
        "prefix": "IEndDragHandler",
        "description": "Handles the end of a drag event.",
        "body": ["IEndDragHandler"]
    },
    "MonoBehaviour IDropHandler": {
        "prefix": "IDropHandler",
        "description": "Handles the drop event.",
        "body": ["IDropHandler"]
    },
    "MonoBehaviour IPointerDownHandler": {
        "prefix": "IPointerDownHandler",
        "description": "Handles the pointer down event.",
        "body": ["IPointerDownHandler"]
    },
    "MonoBehaviour IPointerUpHandler": {
        "prefix": "IPointerUpHandler",
        "description": "Handles the pointer up event.",
        "body": ["IPointerUpHandler"]
    },

    // Miscellaneous section
    "MonoBehaviour Abs": {
        "prefix": "Mathf.Abs()",
        "description": "Returns the absolute value of a number.",
        "body": ["Mathf.Abs($1)"]
    },
    "MonoBehaviour Clamp": {
        "prefix": "Mathf.Clamp()",
        "description": "Clamps a value between a minimum and maximum range.",
        "body": ["Mathf.Clamp($1, $2, $3)"]
    },
    "MonoBehaviour Invoke": {
        "prefix": "Invoke()",
        "description": "Invokes a method after a delay.",
        "body": ["Invoke($1, $2)"]
    },
    "MonoBehaviour InvokeRepeating": {
        "prefix": "InvokeRepeating()",
        "description": "Invokes a method repeatedly after a delay.",
        "body": ["InvokeRepeating($1, $2, $3)"]
    },
    "MonoBehaviour CancelInvoke": {
        "prefix": "CancelInvoke()",
        "description": "Cancels a previously invoked method.",
        "body": ["CancelInvoke($1)"]
    },
    "MonoBehaviour Range": {
        "prefix": "Random.Range()",
        "description": "Generates a random value within a specified range.",
        "body": ["Random.Range($1, $2)"]
    },
    "MonoBehaviour SerializeField": {
        "prefix": "[SerializeField]",
        "description": "Marks a field to be serialized in the inspector.",
        "body": ["[SerializeField]"]
    },
    "MonoBehaviour Instantiate": {
        "prefix": "Instantiate()",
        "description": "Instantiates a prefab at a specific position and rotation.",
        "body": ["Instantiate($1, $2, $3)"]
    },
    "MonoBehaviour Destroy": {
        "prefix": "Destroy()",
        "description": "Destroys a game object after a specified time.",
        "body": ["Destroy($1, $2)"]
    },

    // Camera section
    "MonoBehaviour ScreenPointToRay": {
        "prefix": "ScreenPointToRay()",
        "description": "Converts a screen position to a ray in world space.",
        "body": ["ScreenPointToRay($1)"]
    },

    // Coroutine section
    "MonoBehaviour WaitUntil": {
        "prefix": "yield return new WaitUntil()",
        "description": "Waits until the condition is true.",
        "body": ["yield return new WaitUntil(() => $1)"]
    },
        "MonoBehaviour WaitForSeconds": {
        "prefix": "WaitForSeconds($1)",
        "description": "지정된 초만큼 대기합니다.",
        "body": ["yield return new WaitForSeconds($1);"]
    },
    "MonoBehaviour WaitForEndOfFrame": {
        "prefix": "WaitForEndOfFrame",
        "description": "프레임이 끝날 때까지 대기합니다.",
        "body": ["yield return new WaitForEndOfFrame();"]
    },
    "MonoBehaviour WaitForFixedUpdate": {
        "prefix": "WaitForFixedUpdate",
        "description": "물리 계산 후 대기합니다.",
        "body": ["yield return new WaitForFixedUpdate();"]
    },
    "MonoBehaviour WaitUntil": {
        "prefix": "WaitUntil($1)",
        "description": "특정 조건이 참이 될 때까지 대기합니다.",
        "body": ["yield return new WaitUntil(() => $1);"]
    },
    "MonoBehaviour WaitWhile": {
        "prefix": "WaitWhile($1)",
        "description": "특정 조건이 거짓일 때까지 대기합니다.",
        "body": ["yield return new WaitWhile(() => $1);"]
    },
        "MonoBehaviour Input.anyKeyDown": {
        "prefix": "Input.anyKeyDown",
        "description": "아무 키가 눌렸을 때 true를 반환합니다.",
        "body": ["if (Input.anyKeyDown) { Debug.Log(\"아무 키를 누름\"); }"]
    },
    "MonoBehaviour Input.GetKeyDown": {
        "prefix": "Input.GetKeyDown($1)",
        "description": "지정한 키가 눌렸을 때 true를 반환합니다.",
        "body": ["if (Input.GetKeyDown($1)) { Debug.Log(\"$1 눌렀을 때\"); }"]
    },
    "MonoBehaviour Input.GetKey": {
        "prefix": "Input.GetKey($1)",
        "description": "지정한 키가 눌려져 있을 때 true를 반환합니다.",
        "body": ["if (Input.GetKey($1)) { Debug.Log(\"$1 누르는 중\"); }"]
    },
    "MonoBehaviour Input.GetKeyUp": {
        "prefix": "Input.GetKeyUp($1)",
        "description": "지정한 키가 떼졌을 때 true를 반환합니다.",
        "body": ["if (Input.GetKeyUp($1)) { Debug.Log(\"$1 뗐을 때\"); }"]
    },
    "MonoBehaviour Input.GetMouseButtonDown": {
        "prefix": "Input.GetMouseButtonDown($1)",
        "description": "마우스 버튼이 눌렸을 때 true를 반환합니다. 0은 왼쪽, 1은 오른쪽.",
        "body": ["if (Input.GetMouseButtonDown($1)) { Debug.Log(\"마우스 $1 눌렀을 때\"); }"]
    },
    "MonoBehaviour Input.GetMouseButton": {
        "prefix": "Input.GetMouseButton($1)",
        "description": "마우스 버튼이 눌려져 있을 때 true를 반환합니다. 0은 왼쪽, 1은 오른쪽.",
        "body": ["if (Input.GetMouseButton($1)) { Debug.Log(\"마우스 $1 누르는 중\"); }"]
    },
    "MonoBehaviour Input.GetMouseButtonUp": {
        "prefix": "Input.GetMouseButtonUp($1)",
        "description": "마우스 버튼이 떼졌을 때 true를 반환합니다. 0은 왼쪽, 1은 오른쪽.",
        "body": ["if (Input.GetMouseButtonUp($1)) { Debug.Log(\"마우스 $1 뗐을 때\"); }"]
    },
   
    "MonoBehaviour HeaderS": {
        "prefix": "Header (Settings)",
        "description": "Header",
        "body": ["Header (\"Settings\")"]
    },
    "MonoBehaviour HeaderR": {
        "prefix": "Header (References)",
        "description": "Header",
        "body": ["Header (\"References\")"]
    },
    "MonoBehaviour Vector3.forward": {
        "prefix": "Vector3.forward",
        "description": "세계 좌표에서 z축 방향으로 1의 벡터를 반환합니다.",
        "body": ["Vector3.forward"]
    },
    "MonoBehaviour Vector3.back": {
        "prefix": "Vector3.back",
        "description": "세계 좌표에서 z축 반대 방향으로 1의 벡터를 반환합니다.",
        "body": ["Vector3.back"]
    },
    "MonoBehaviour Vector3.up": {
        "prefix": "Vector3.up",
        "description": "세계 좌표에서 y축 방향으로 1의 벡터를 반환합니다.",
        "body": ["Vector3.up"]
    },
    "MonoBehaviour Vector3.down": {
        "prefix": "Vector3.down",
        "description": "세계 좌표에서 y축 반대 방향으로 1의 벡터를 반환합니다.",
        "body": ["Vector3.down"]
    },
    "MonoBehaviour Vector3.right": {
        "prefix": "Vector3.right",
        "description": "세계 좌표에서 x축 방향으로 1의 벡터를 반환합니다.",
        "body": ["Vector3.right"]
    },
    "MonoBehaviour Vector3.left": {
        "prefix": "Vector3.left",
        "description": "세계 좌표에서 x축 반대 방향으로 1의 벡터를 반환합니다.",
        "body": ["Vector3.left"]
    },
    "MonoBehaviour Vector3.one": {
        "prefix": "Vector3.one",
        "description": "x, y, z 값이 모두 1인 벡터를 반환합니다.",
        "body": ["Vector3.one"]
    },
    "MonoBehaviour Vector3.zero": {
        "prefix": "Vector3.zero",
        "description": "x, y, z 값이 모두 0인 벡터를 반환합니다.",
        "body": ["Vector3.zero"]
    },
    "MonoBehaviour new Vector3": {
        "prefix": "new Vector3($1, $2, $3)",
        "description": "x, y, z 값으로 새로운 Vector3를 생성합니다.",
        "body": ["new Vector3($1, $2, $3)"]
    }

}


        

VSCode에서 Unity 스니펫 적용 방법 (구체적인 설명)

1. 스니펫 파일 생성

  1. VSCode를 실행합니다.
  2. 파일 메뉴에서 파일 → 사용자 코드 스니펫을 클릭합니다.
  3. 검색창이 나타나면 스니펫을 추가할 언어를 선택하거나, 새 글로벌 스니펫 파일(New Global Snippets File)을 선택합니다.
  4. 새 스니펫 파일 이름을 정합니다. 예를 들어, unity-snippets.code-snippets로 이름을 지정하세요.

2. JSON 코드 복사

  1. 위에 제공된 JSON 코드를 복사합니다.
  2. 방금 만든 스니펫 파일이 열리면, 기존 내용을 지우고 복사한 코드를 붙여넣습니다.

3. 스니펫 구조 확인

스니펫 코드의 주요 구조는 아래와 같습니다:

json
{ "스니펫 이름": { "prefix": "스니펫을 호출할 키워드", "description": "스니펫 설명", "body": ["스니펫에 삽입될 코드"] } }
  • prefix: 스니펫을 호출할 때 사용하는 키워드입니다. 예: Input.anyKeyDown
  • description: 스니펫에 대한 간단한 설명입니다.
  • body: 자동으로 삽입될 코드입니다. 변수($1, $2)를 넣어 사용자가 수정할 수 있습니다.

4. 저장 및 적용

  1. 파일을 저장합니다. (Ctrl + S 또는 Command + S)
  2. 저장한 파일은 VSCode가 즉시 인식하므로 추가 설정 없이 바로 사용할 수 있습니다.

댓글 없음:

댓글 쓰기

-


Sidewinder


World


FishMusic


LaughingBaby