...

ํ์ ์คํฌ๋ฆฝํธ ํ์ฅํฉ ๋ชจ์
์ด๋ฒ ํฌ์คํ ์์๋ VSCode์์ Typescript๋ฅผ ์ฝ๋ฉํ๋๋ฐ ์์ด ํธ๋ฆฌํ๋ฉฐ ๊ฐ๋ ์ฑ์ด ์ข๊ฒ ์ฌ์ฉํ ์ ์๋ ํ์ฅํฉ์ ์ฌ๋ฌ๋ถ๋ค๊ป ์๊ฐํด ๋ณธ๋ค. ์๋ ์๊ฐํ๋ ์ต์คํ ์ ๋ค์ ํ์๊ฐ ์ง์ ์ค์นํด์ ์ฌ์ฉํด๋ณธ ๊ฒฐ๊ณผ ๋ง์กฑ์ค๋ฌ์์ ์๊ฐํ๋ ๊ฒ์ด๋ ๊ฒ์ฆ๋ ๊ฒ์ด๋ผ๊ณ ๋ด๋ ๋๋ค. ์๋ฌด๋๋ ํ์ ์คํฌ๋ฆฝํธ๋ฅผ ๊ฐ๋ฐํ ๋ณธ๊ณ ์ฅ(๋ง์ดํฌ๋ก ์ํํธ)์ด ๋ฐ์ด์ฃผ๋ ์๋ํฐ ์ด๊ธฐ ๋๋ฌธ์, ์ ๋งํ ์ ๋ฃ IDE๋ณด๋ค ํจ์ฌ ํธํ๊ณ ๊ธฐ๋ฅ์ด ๋ ๋ง๋ค.
๋ง์ผ ๋ ์ข์ ์ต์คํ ์ ์ ๋ฐ๊ฒฌํ๊ฒ ๋๋ค๋ฉด ์ง์์ ์ผ๋ก ํฌ์คํ ์ ์ ๋ฐ์ดํธ ํ๋ ๋ฐฉํฅ์ผ๋ก ํ ๊ณํ์ด๋ค.
Code Runner + ts-node
C/Java ์ ๊ฐ์ด ํ์ ์คํฌ๋ฆฝํธ ํ์ผ์ ๋ฐ๋ก ์ปดํ์ผํ์ฌ ์คํ ๊ฒฐ๊ณผ๋ฅผ ์ป์์ ์๋ค.
๋ฐ๋ก ์๋ฐ์คํฌ๋ฆฝํธ ๋ณํ(์ปดํ์ผ) ํ์๊ฐ ์์ด, ๊ณง๋ฐ๋ก ํ์ ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ํ ์คํธํ ๋ ์ ์ฉํ๋ค.
ํ์ ์คํฌ๋ฆฝํธ ์ง์ ์คํ์ ์ํด์ , npm์ผ๋ก ts-node ๋ฅผ ์ค์นํ๊ณ , Code Runner ํ์ฅํฉ์ ์ค์นํ๋ค, ์๋จ ์ฐ์ธก์ โถ ๋ฒํผ์ ๋๋ฅด๋ฉด ์ถ๋ ฅ ํฐ๋ฏธ๋์ ์คํ ๊ฒฐ๊ณผ๊ฐ ๋จ๊ฒ ๋๋ค.
> npm install -g ts-node
Code Runner - Visual Studio Marketplace
Extension for Visual Studio Code - Run C, C++, Java, JS, PHP, Python, Perl, Ruby, Go, Lua, Groovy, PowerShell, CMD, BASH, F#, C#, VBScript, TypeScript, CoffeeScript, Scala, Swift, Julia, Crystal, OCaml, R, AppleScript, Elixir, VB.NET, Clojure, Haxe, Obj-C,
marketplace.visualstudio.com

TypeScript Hero
VSCode์์ import๋ฅผ ํธ๋ฆฌํ๊ฒ ๊ตฌ์ฑํ ์ ์๊ฒ ํด์ฃผ๋ ํ์ฅ์ด๋ค.
์ค์ ๋ ๊ท์น์ ๋ฐ๋ผ import ๊ตฌ๋ฌธ์ ์ ๋ ฌํ๊ณ ์ฌ์ฉ ๋์ง ์๋ ๋ชจ๋์ ์๋์ผ๋ก ์ ๊ฑฐํ๋ค.
TypeScript Hero - Visual Studio Marketplace
Extension for Visual Studio Code - Additional toolings for typescript
marketplace.visualstudio.com
TypeScript Toolbox
ํ์ ์คํฌ๋ฆฝํธ ์ต์ ํ ๋๋ ์๋ ๊ฐ์ ธ์ค๊ธฐ, getter, setter, ์์ฑ์ ์์ฑ ๋ฑ๊ณผ ๊ฐ์ ๋ง์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ์ฌ์ธ์ ํ์ฅ์ด๋ค.
TypeScript Toolbox - Visual Studio Marketplace
Extension for Visual Studio Code - Add and Optimize Imports, Generate Getters / Setters and Constructors
marketplace.visualstudio.com




AnnotationLensยณ
์๋ฐ์คํฌ๋ฆฝํธ, ํ์ ์คํฌ๋ฆฝํธ ํด๋์ค์์ ์ค๋ฒ๋ก๋ฉ๋ ๋ฉ์๋์ ๋ถ๋ชจ ์ฝ๋๋ฅผ ๋ฐ๋ก ์ฐธ์กฐํ ์ ์๋ ํ์ฅ์ด๋ค.
์ด ํ์ฅ์ ์ฌ์ฉํ๋ฉด CodeLens ์ฃผ์ ํ์์ผ๋ก ํด๋์ค ๋ฉค๋ฒ ์ฌ์ ์ ๋ฐ ๊ตฌํ์ ๋ํ ์ ๋ณด๋ฅผ ๋ณผ ์ ์๋ค.
๋ฉ์๋ ๋๋ ํ๋๊ฐ ์ฌ์ ์๋๋ฉด ์ฌ์ ์๋ ๋ฉ์๋ ๋๋ ํ๋์ @Override <name> ๋ํ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์ฐฝ์ ์ด๊ณ ํด๋์ค ๋๋ ์ธํฐํ์ด์ค ์ด๋ฆ์ ๋ํ๋ด๋ ํด๋ฆญ ๊ฐ๋ฅํ ํ
์คํธ๊ฐ ๋ํ๋๋ค.
AnnotationLensยณ - Visual Studio Marketplace
Extension for Visual Studio Code - Clickable @Override and @Implement CodeLens annotations for JS and TS.
marketplace.visualstudio.com

Move TS
Move Ts ์ต์คํ ์ ์ ํ๋ก์ ํธ์ ์ผ๋ถ ํ์ผ์ ๋ฆฌํฉํ ๋งํ๊ณ ์ฌ๊ตฌ์ฑํ๋ ๋ฐ ๋์์ด ๋๋ ํ์ฅ ํ๋ฌ๊ทธ์ธ ์ด๋ค.
๋ง์ผ ํน์ ํ ts ํ์ผ์ ๋ค๋ฅธ ํด๋์ ์ด๋ํ๋ฉด import ๊ฒฝ๋ก๋ฅผ ์์ ํด์ผ๋ง ํ๋ค. ์ด ํ์ฅ์ ์ด๋ ์ค์ธ ํ์ผ๊ณผ ์ด๋ ์ค์ธ ๊ตฌ์ฑ ์์๋ฅผ ๊ฐ์ ธ์ค๋ ํ์ผ์ ๋ํ import ๊ฒฝ๋ก๋ฅผ ์๋์ผ๋ก ์ ๋ฐ์ดํธ ํ๋ค.
- ์ฌ์ฉ ๋ฐฉ๋ฒ : ํ๋ก์ ํธ ํ์๊ธฐ ์ฐฝ์์ ํ์ผ ๋๋ ํด๋๋ฅผ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋ฒํผ์ผ๋ก ํด๋ฆญํ๊ณ Move TypeScript ์ ์ ํ
Move TS - Move TypeScript files and update relative imports - Visual Studio Marketplace
Extension for Visual Studio Code - extension for moving typescript files and folders and updating relative imports in your workspace
marketplace.visualstudio.com

Path Intellisense
๊ฒฝ๋ก๋ฅผ ์๋ ํ์ํ๋๋ฐ ๋์์ด ๋๋ ํ๋ฌ๊ทธ์ธ์ด๋ค.
VSCode ์์ฒด ๊ธฐ๋ฅ์์๋ ํด๋ ํ์ ๊ธฐ๋ฅ์ด ๋ค์ด์์ง๋ง, ํ์ ์คํฌ๋ฆฝํธ import ๊ณผ์ ์์ ์ด ํ์ฅ ํ๋ฌ๊ทธ์ธ์ด ์ข๋ ๋ฐ์ด๋๋ค๊ณ ํ๋ค.
๋จ, vscode ์์ฒด ํ์๊ธฐ๋ฅ์ ๋๊ธฐ ์ํด์ ์๋์ ๊ฐ์ด ์ค์ ์ถ๊ฐ๊ฐ ํ์ํ๋ค.
/* vscode setting.json์ ์ถ๊ฐ ์ค์ */
"typescript.suggest.paths": false,
"javascript.suggest.paths": false
Path Intellisense - Visual Studio Marketplace
Extension for Visual Studio Code - Visual Studio Code plugin that autocompletes filenames
marketplace.visualstudio.com

TsConfig ํธํ ์ค์
ํ์ ์คํฌ๋ฆฝํธ์ ์ด ํ์ฅ ์ต์คํ ์ ์ ๊ฐ์ด ์ธ ๊ฒฝ์ฐ, ts.config.compilerOptions.baseUrl์ ๋งคํ์ผ๋ก ์ฌ์ฉ๋๋ค.
// tsconfig
{
"baseUrl": "src",
}
ํ์ง๋ง ๋ง์ฝ tsconfig์ basUrl ์์ฑ์ ๋ฐ๋ผ ๊ฐ๊ณ ์ถ์ง์์ผ๋ฉด, setting.json์ ๋ค์ ๊ตฌ๋ฌธ์ ์ถ๊ฐํ๋ค.
"path-intellisense.ignoreTsConfigBaseUrl": true,
JSON to TS
๋ณต์ฌ๋ JSON ์ฝ๋๋ฅผ TypeScript ์ธํฐํ์ด์ค๋ก ๊ฐ๋จ ๋ณํ ํด์ค๋ค.
- Convert from clipboard (Shift + Ctrl + Alt + V)
- Convert from selection (Shift + Ctrl + Alt + S)
JSON to TS - Visual Studio Marketplace
Extension for Visual Studio Code - Convert JSON object to typescript interfaces
marketplace.visualstudio.com



Add jsdoc comments
typescript ๋๋ javascript ํ์ผ์์ ํ๋ ์ด์์ ๋งค๊ฐ๋ณ์๋ฅผ ํฌํจํ๋ ํจ์ ๋งค๊ฐ๋ณ์ ์ค๋ช ์ฃผ์์ ์ถ๊ฐํด ์ค๋ค.
Add jsdoc comments - Visual Studio Marketplace
Extension for Visual Studio Code - Adds jsdoc @param and @return tags for selected function signatures in JS and TS
marketplace.visualstudio.com

Typescript string literal enums Tools
ํ์ ์คํฌ๋ฆฝํธ์์ enum ํ์ ์ ์ข ๋ ํธํ๊ฒ ๋ค๋ฃจ๊ฒ ํด์ค๋ค.
Typescript string literal enums Tools - Visual Studio Marketplace
Extension for Visual Studio Code - Useful refactor of string literal enums with TypeScript.
marketplace.visualstudio.com

classdiagram-ts
ํ์ ์คํฌ๋ฆฝํธ ํด๋์ค ๊ตฌ์ฑ์ ํด๋์ค ๋ค์ด์ด๊ทธ๋จ์ผ๋ก ์๋ ๋ณํํด์ค๋ค.
classdiagram-ts - Visual Studio Marketplace
Extension for Visual Studio Code - Generates class diagram for typescript projects
marketplace.visualstudio.com



TS interface from class
๋ง์ผ ํ์ ์คํฌ๋ฆฝํธ์ ํด๋์ค ๋ฉค๋ฒ ๊ตฌ์ฑ์ ์ธํฐํ์ด์ค๋ก ๋ฐ๋ก ํ์ ์ ๋ถ๋ฆฌํด ๋ง๋ค์ด์ผ ํ ๋, ์ผ์ผํ ์น์ง๋ง๊ณ ์ด ํ์ฅํฉ์ผ๋ก ํ๋ฒ์ ๊ตฌ์ฑ์ด ๊ฐ๋ฅํ๋ค.
TS interface from class - Visual Studio Marketplace
Extension for Visual Studio Code - Generates interface from selected typescript class
marketplace.visualstudio.com

Sass/Less/Typescript/Jade/Pug Compile-Superhero
tsc --watch ์ปดํ์ผ ๋ช
๋ น์ด ์์ด, ts ํ์ผ์ ์ ์ฅ๋ง ํ๋ฉด ์๋์ผ๋ก ๋ฐ๋ก jsํ์ผ๊ณผ js.map ํ์ผ์ ์์ฑํด์ฃผ๋ ๋ง๊ทธ๋๋ก super hero ํ๋ฌ๊ทธ์ธ ์ด๋ค.
ํ์ ์คํฌ๋ฆฝํธ ๋ฟ๋ง ์๋๋ผ less, sass, scss, typescript, jade, pug ๋ฐ jsx ํ์ผ๋ ์ง์ํด์ฃผ๋ ๊ฐ๋ ฅํ ํ์ฅ ํ๋ฌ๊ทธ์ธ ์ด๋ค.
- ์ ์ฅ ์ ์๋ ์ปดํ์ผ, sass, scss, typescript, jade, pug ๋ฐ jsx
- less, scss, scss์ ๋ํ ์๋ ์ ๋์ฌ ์ง์
- ํฌ๋กฌ ๋ธ๋ผ์ฐ์ ์์ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์ํด html ํ์ผ ์ด๊ธฐ ์ง์
- .js, .css ๋ฐ .html ํ์ผ ์ถ์ ์ง์
Sass/Less/Typescript/Jade/Pug Compile-Superhero - Visual Studio Marketplace
Extension for Visual Studio Code - Really easy to compile ts, tsx, scss, less, jade, pug and es6+ on save, without using a build task.
marketplace.visualstudio.com


/* vscode setting.json์ ์ถ๊ฐ ์ค์ */
// ์ปดํ์ผ ๊ฒฝ๋ก ์ค์
"compile-hero.javascript-output-directory": "", // ํ์ฌ ๊ฒฝ๋ก์ ์ ์ฅ
"compile-hero.pug-output-directory": "",
"compile-hero.typescriptx-output-directory": "",
"compile-hero.typescript-output-directory": "",
"compile-hero.sass-output-directory": "",
"compile-hero.jade-output-directory": "",
"compile-hero.html-output-directory": "",
"compile-hero.less-output-directory": "",
// ์ปดํ์ผ ์ธ์ด ์ค์ (js์ html ์ปดํ์ผ์ ๋)
"compile-hero.javascript-output-toggle": false,
"compile-hero.html-output-toggle": false,
// min ํ์ผ ์์ฑ ์ค์
"compile-hero.x-generate-minified-css": false,
"compile-hero.x-generate-minified-js": false,
์ด ๊ธ์ด ์ข์ผ์ จ๋ค๋ฉด ๊ตฌ๋ & ์ข์์
์ฌ๋ฌ๋ถ์ ๊ตฌ๋
๊ณผ ์ข์์๋
์ ์์๊ฒ ํฐ ํ์ด ๋ฉ๋๋ค.