< BACK TO BLOG

New CS File - vscode extension

πŸ—“οΈ2022-10-24

λΉ„μ£Όμ–Ό μŠ€νŠœλ””μ˜€ μ½”λ“œ (Visual Studio Code)λŠ” 맀우 μœ μš©ν•œ 톡합 개발 ν™˜κ²½μ„ μ œκ³΅ν•©λ‹ˆλ‹€.

μ €λŠ” νƒ€μž…μŠ€ν¬λ¦½νŠΈ λ˜λŠ” μžλ°”μŠ€ν¬λ¦½νŠΈλ‘œ μž‘μ„±ν•˜λŠ” λŒ€λΆ€λΆ„μ˜ μ½”λ“œλ₯Ό λΉ„μ£Όμ–Ό μŠ€νŠœλ””μ˜€ μ½”λ“œλ₯Ό μ‚¬μš©ν•΄μ„œ μž‘μ„±ν•©λ‹ˆλ‹€.

μ£Ό μ‚¬μš© μž₯치λ₯Ό λ§₯으둜 λ³€κ²½ν•˜λ©΄μ„œ, λ‹·λ„· ν”„λ‘œμ νŠΈλ„ κ°„ν˜Ή λΉ„μ£Όμ–Ό μŠ€νŠœλ””μ˜€ μ½”λ“œλ₯Ό μ‚¬μš©ν•΄μ„œ μ§„ν–‰ν•©λ‹ˆλ‹€. λ§₯용 λΉ„μ£Όμ–Ό μŠ€νŠœλ””μ˜€κ°€ 쑰금 λΆˆνŽΈν•˜κΈ°λ„ ν•˜κ³  (μœˆλ„μš°μš© λΉ„μ£Όμ–Ό μŠ€νŠœλ””μ˜€μ— λΉ„ν•΄), λΉ„μ£Όμ–Ό μŠ€νŠœλ””μ˜€ μ½”λ“œκ°€ 더 μ΅μˆ™ν•΄μ Έμ„œ 그런 것 κ°™μŠ΅λ‹ˆλ‹€.

λΉ„μ£Όμ–Ό μŠ€νŠœλ””μ˜€ μ½”λ“œμ—μ„œ λ‹·λ„· ν”„λ‘œμ νŠΈλ₯Ό μ—΄κ³ , μž‘μ—…μ„ 진행할 λ•Œ μƒˆ νŒŒμΌμ„ μž‘μ„±ν•˜λ©΄ 빈 파일이 μž‘μ„±λ˜μ–΄ 맀우 λΆˆνŽΈν–ˆμŠ΅λ‹ˆλ‹€.

λΉ„μ£Όμ–Ό μŠ€νŠœλ””μ˜€μ—μ„œ μƒˆ νŒŒμΌμ„ μž‘μ„±ν•˜λ©΄, μž‘μ„±λ˜λŠ” 파일이 μœ„μΉ˜ν•˜λŠ” 디렉터리 기반으둜 λ„€μž„μŠ€νŽ˜μ΄μŠ€λ₯Ό μž‘μ„±ν•΄μ£ΌλŠ”λ°, λΉ„μ₯¬μ–Ό μŠ€νŠœλ””μ˜€ μ½”λ“œμ—μ„œλŠ” 이 κΈ°λŠ₯이 μ œκ³΅λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

κ΄€λ ¨ ν™•μž₯을 μ„€μΉ˜ν•˜κ³  μ‚¬μš©μ„ μ‹œλ„ν–ˆμœΌλ‚˜, λ§ˆμŒμ— λ“œλŠ” ν™•μž₯을 찾지 λͺ»ν–ˆμŠ΅λ‹ˆλ‹€.

κ·Έλž˜μ„œ, λΉ„μ£Όμ–Ό μŠ€νŠœλ””μ˜€ μ½”λ“œμ˜ ν™•μž₯을 μž‘μ„±ν•˜λŠ” 방법을 ν™•μΈν•˜κ³ , μ›ν•˜λŠ” κΈ°λŠ₯을 κ΅¬ν˜„ν•΄μ„œ μ‚¬μš©ν•˜κΈ°λ‘œ ν–ˆμŠ΅λ‹ˆλ‹€.

New CS File ν™•μž₯

New cs file νŽ˜μ΄μ§€μ—μ„œ κ΄€λ ¨ 정보λ₯Ό 찾을 수 μžˆμŠ΅λ‹ˆλ‹€.

μ‚¬μš©

λΉ„μ£Όμ–Ό μŠ€νŠœλ””μ˜€ μ½”λ“œμ—μ„œ λ‹·λ„· ν”„λ‘œμ νŠΈλ₯Ό μ—΄κ³ , μ»€λ§¨λ“œ νŒ”λ ›νŠΈμ—μ„œ new cs file λͺ…령을 μ°Ύκ±°λ‚˜, μ›Œν¬ 슀페이슀 파일 νƒμƒ‰κΈ°μ—μ„œ 폴더(디렉터리)λ₯Ό μ„ νƒν•˜κ³  μ»¨ν…μŠ€νŠΈ 메뉴λ₯Ό μ—΄μ–΄ new cs file λͺ…령을 μ‹€ν–‰ν•©λ‹ˆλ‹€.

디렉터리 λ‹€μ΄μ–Όλ‘œκ·Έκ°€ 열리면 νŒŒμΌμ„ μΆ”κ°€ν•  디렉터리λ₯Ό μ„ νƒν•©λ‹ˆλ‹€. 클래슀 이름 μž…λ ₯창이 열리면, μΆ”κ°€ν•˜λ €λŠ” 클래슀 (객체) 이름을 μž…λ ₯ν•˜κ³ , μ—”ν„°ν‚€λ₯Ό μž…λ ₯ν•©λ‹ˆλ‹€.

μ„ νƒλœ μœ„μΉ˜μ— ν΄λž˜μŠ€μ΄λ¦„.cs 파일이 μž‘μ„±λ˜κ³ , μž‘μ„±λœ νŒŒμΌμ—λŠ” 디렉터리 ꡬ쑰λ₯Ό κΈ°λ°˜ν•œ λ„€μž„μŠ€νŽ˜μ΄μŠ€κ°€ μΆ”κ°€λ˜μ–΄μ Έ μžˆμŠ΅λ‹ˆλ‹€.

μž‘μƒλœ 파일의 λ‚΄μš©:

namespace Sample.Models
{
    public class TestModel
    {

    }
}

κΈ°λŠ₯

λ„€μž„μŠ€νŽ˜μ΄μŠ€λŠ” 파일이 μž‘μ„±λ˜λŠ” 디렉터리와 ν”„λ‘œμ νŠΈ 파일(.csproj)의 이름을 기반으둜 μž‘μ„±λ©λ‹ˆλ‹€. λ‹€λ§Œ, ν”„λ‘œμ νŠΈ 파일(.csproj)에 <DefaultNamespace> μš”μ†Œκ°€ 있으면 κ·Έ 값을 μ‚¬μš©ν•©λ‹ˆλ‹€.

μ•„λž˜μ™€ 같은 ꡬ쑰일 λ•Œ Models 디렉터리가 μ„ νƒλ˜κ³  TestModel μ΄λΌλŠ” ν΄λž˜μŠ€κ°€ μž‘μ„±λ˜λŠ” 파일의 μ˜ˆμ œμž…λ‹ˆλ‹€.

- Sample           # directory
  - Models         # directory
    - TestModel    # πŸ‘ˆ Try to create file
  - Sample.csproj  # project file

DefaultNamespace μš”μ†Œκ°€ μ—†λŠ” 경우:

TestModel 파일의 λ‚΄μš©

namespace Sample.Models
{
    public class TestModel
    {

    }
}

ν”„λ‘œμ νŠΈ 파일의 DefaultNamespace μš”μ†Œκ°€ Sample.SpecialEdition 인 경우:

namespace Sample.SpecialEdition.Models
{
    public class TestModel
    {

    }
}

μ œν•œμ‚¬ν•­

μž‘μ—…ν•˜λ €λŠ” ν”„λ‘œμ νŠΈκ°€ μ—΄λ¦° μ›Œν¬μŠ€νŽ˜μ΄μŠ€μ˜ 디렉터리와 νŒŒμΌμ΄λ¦„μ€ μ•ŒνŒŒλ²³ λ¬Έμžμ™€ 숫자둜만 κ΅¬μ„±λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.

κ²Œμ‹œ

κΉƒν—ˆλΈŒ μ•‘μ…˜μœΌλ‘œ κ²Œμ‹œλ₯Ό μžλ™ν™”ν•©λ‹ˆλ‹€. λ‹€λ§Œ, κ²Œμ‹œ μ‹œμ μ„ μ‘°μ •ν•˜κΈ° μœ„ν•΄ κΉƒν—ˆλΈŒ λ¦΄λ¦¬μ¦ˆκ°€ κ²Œμ‹œλ  λ•Œμ—λ§Œ λΉ„μ£Όμ–Ό μŠ€νŠœλ””μ˜€ λ§ˆμΌ“ν”Œλ ˆμ΄μŠ€μ— κ²Œμ‹œν•©λ‹ˆλ‹€.

GitHub actions

  1. κΈ°λ³Έ λΈŒλžœμΉ˜μ— 컀밋이 μ „μ†‘λ©λ‹ˆλ‹€.
    1. μ½”λ“œλ₯Ό μ²΄ν¬μ•„μ›ƒν•˜κ³ , λ…Έλ“œ ν™˜κ²½μ„ κ΅¬μ„±ν•œ ν›„ 의쑴 νŒ¨ν‚€μ§€λ₯Ό μ„€μΉ˜ν•˜κ³ , μ§€μ •λœ npm 슀크립트λ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€.
    2. package.json 의 version κ°’μœΌλ‘œ κΉƒ νƒœκ·Έλ₯Ό κ²€μƒ‰ν•©λ‹ˆλ‹€.
      1. version에 ν•΄λ‹Ήν•˜λŠ” κΉƒ νƒœκ·Έκ°€ μžˆλŠ” 경우 μ›Œν¬ν”Œλ‘œμš°λŠ” μ’…λ£Œλ©λ‹ˆλ‹€.
      2. κΉƒ νƒœκ·Έκ°€ μ—†λŠ” 경우 κΉƒ νƒœκ·Έλ₯Ό μž‘μ„±ν•©λ‹ˆλ‹€.
  2. κΉƒ νƒœκ·Έκ°€ μž‘μ„±λ˜λ©΄ μ΄ˆμ•ˆ μƒνƒœμ˜ κΉƒν—ˆλΈŒ 릴리즈λ₯Ό μž‘μ„±ν•©λ‹ˆλ‹€.
  3. κΉƒν—ˆλΈŒ 릴리즈λ₯Ό 곡개(κ²Œμ‹œ)ν•˜λ©΄, λΉ„μ£Όμ–Ό μŠ€νŠœλ””μ˜€ λ§ˆμΌ“ν”Œλ ˆμ΄μŠ€μ— μƒˆ 버전을 κ²Œμ‹œν•©λ‹ˆλ‹€.

마침

λΉ„μ£Όμ–Ό μŠ€νŠœλ””μ˜€ μ½”λ“œ ν™•μž₯에 관심이 μžˆμœΌμ‹œλ©΄ Let create own vscode extension νŽ˜μ΄μ§€λ„ λ‘˜λŸ¬λ³΄μ„Έμš”.

GitHub Repository


Profile picture

Pon Cheol Ku (ꡬ본철)

Software developer

Other sites

If does not find interesting topic, you might visit other site on below link.

Β© 2023, Built with Gatsby