Vscode-ng-language-service: Angular Language ์„œ๋น„์Šค ๋กœ๋“œ๋งต

์— ๋งŒ๋“  2019๋…„ 05์›” 30์ผ  ยท  20์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: angular/vscode-ng-language-service

์–ธ์–ด ์„œ๋น„์Šค์˜ ์›์ €์ž์ธ @chuckjaz ๊ฐ€ ํŒ€์„ ๋– ๋‚œ ์ง€ 1๋…„์ด
์ด์ œ ๋ฒ„์ „ 8์ด ์ถœ์‹œ๋˜์—ˆ์œผ๋ฏ€๋กœ ์•ž์œผ๋กœ ์–ธ์–ด ์„œ๋น„์Šค์— ๋Œ€ํ•œ ๋ช‡ ๊ฐ€์ง€ ์—…๋ฐ์ดํŠธ์™€ ๋กœ๋“œ๋งต์„ ์ œ๊ณตํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

  1. ์•ˆ์ •์„ฑ/์„ฑ๋Šฅ โœ”๏ธ ์™„๋ฃŒ!
    ์–ธ์–ด ์„œ๋น„์Šค์˜ ์„ฑ๋Šฅ์ด ์ €ํ•˜๋˜์ง€ ์•Š๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด ์šฐ๋ฆฌ์˜ ์ตœ์šฐ์„  ๊ณผ์ œ์ž…๋‹ˆ๋‹ค. ์•ˆ์ •์„ฑ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ๊ณ„์†ํ•ด์„œ ํ•ด๊ฒฐํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

  2. tsserver ํ”Œ๋Ÿฌ๊ทธ์ธ์œผ๋กœ ์ „ํ™˜ โœ”๏ธ ์™„๋ฃŒ!
    ์•ž์œผ๋กœ ๋ช‡ ๋‹ฌ ๋™์•ˆ tsserver ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ชจ๋ธ๋กœ ์ „ํ™˜ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋‚˜๋จธ์ง€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. tsserver ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ์ฃผ์š” ์ด์ ์€ ์„ฑ๋Šฅ(์ค‘๋ณต TS ์ปดํŒŒ์ผ ์—†์Œ)๊ณผ ๋ฒ„์ „ ๋ถˆ์ผ์น˜(Angular ๋ฐ TS ๋ชจ๋‘)๊ฐ€ ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์ž‘์—…์€ ์™ธ๋ถ€ HTML ํ…œํ”Œ๋ฆฟ์ด ์ž˜ ์ง€์›๋˜๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
    2019๋…„ 11์›” 11์ผ ์—…๋ฐ์ดํŠธ : ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ชจ๋“œ๋Š” ๊ณ„์† ์ง€์›ํ•˜์ง€๋งŒ ๋…๋ฆฝ ์‹คํ–‰ํ˜• ํ™•์žฅ์€ ๊ณ„์† ์œ ์ง€ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์„ฑ๋Šฅ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ํ™•์žฅ ๊ธฐ๋Šฅ์ด ์™„์ „ํžˆ ๊ฐœํŽธ๋˜์—ˆ์œผ๋ฉฐ ๋งŽ์€ ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Angular ๋ฒ„์ „ 9์˜ ์ถœ์‹œ์™€ ํ•จ๊ป˜ ์ƒˆ ๋ฒ„์ „์ด ์‹œ์žฅ์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  3. ๋ฒ„๊ทธ ์ˆ˜์ •/๊ฐœ์„  โœ”๏ธ ์™„๋ฃŒ!
    ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์™„๋ฃŒ๋˜๋ฉด ํ…œํ”Œ๋ฆฟ ์œ ํ˜• ํ™•์ธ ๋ฐ ๋งŽ์ด ์š”์ฒญ๋œ ๊ธฐ๋Šฅ ํ–ฅ์ƒ๊ณผ ๊ด€๋ จํ•˜์—ฌ ์˜ค๋žœ ๋ฒ„๊ทธ๋ฅผ ํ•ด๊ฒฐํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

  4. ์–ธ์–ด ์„œ๋น„์Šค๋ฅผ Ivy ์ปดํŒŒ์ผ๋Ÿฌ๋กœ ์ „ํ™˜ โœ”๏ธ ์™„๋ฃŒ!
    Ivy์˜ ์ปดํŒŒ์ผ ๋ชจ๋ธ์€ View Engine์˜ ์ปดํŒŒ์ผ ๋ชจ๋ธ๊ณผ ํฌ๊ฒŒ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ํ–ฅํ›„ ํ˜ธํ™˜์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ์–ธ์–ด ์„œ๋น„์Šค ๋ฐฑ์—”๋“œ๋ฅผ ์ˆ˜์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  ํ”ผ๋“œ๋ฐฑ์— ๊ฐ์‚ฌ๋“œ๋ฆฌ๋ฉฐ, ๊ธฐ์—ฌํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”!

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ตœ์‹  ์—…๋ฐ์ดํŠธ: Ivy ์–ธ์–ด ์„œ๋น„์Šค๋Š” ๋ฒ„์ „ 11์—์„œ ๋ฒ ํƒ€ ํ…Œ์ŠคํŠธ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋ฆด๋ฆฌ์Šค๋Š” ํ˜„์žฌ 2020๋…„ 11์›” 11์ผ๋กœ ์˜ˆ์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด ์™„์ „ํžˆ ์ƒˆ๋กœ์šด ์–ธ์–ด ์„œ๋น„์Šค ๋ฐ˜๋ณต์—์„œ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•˜๊ณ  ๋” ๊ด‘๋ฒ”์œ„ํ•œ ๊ธฐ๋Šฅ ์„ธํŠธ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. Angular ํ…œํ”Œ๋ฆฟ์˜ ๋” ๋‚˜์€ ํƒ€์ดํ•‘
  2. ์ปดํŒŒ์ผ๋Ÿฌ์™€ ๋™์ผํ•œ ์ง„๋‹จ ์ƒ์„ฑ
  3. ๋ช…์˜ˆ ์‚ฌ์šฉ์ž์˜ angularCompilerOptions

์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ ธ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์ง€๋งŒ ์ง€์›๊ณผ ์ธ๋‚ด์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!

๋ชจ๋“  20 ๋Œ“๊ธ€

๊ธ€์Ž„, ์—ฌ๊ธฐ์— ๋งํฌํ•˜๊ธฐ ์œ„ํ•ด ๋‘ ๊ฐ€์ง€ ์ข‹์€ ์„ฑ๋Šฅ์˜ ์‹ฌ๊ฐํ•œ ๋ฌธ์ œ/๋ฒ„๊ทธ๊ฐ€ ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ ๊ฒฝ์šฐ์—๋Š” ์ตœ์†Œํ•œ ๋งˆ์ง€๋ง‰์œผ๋กœ ์—ด๋ ค ์žˆ๋Š” ํŽธ์ง‘๊ธฐ๋ฅผ ๋‹ซ์ง€ ์•Š๋Š” ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ์žˆ์ง€๋งŒ ๋‘ ๋ฒˆ์งธ ๊ฒฝ์šฐ์—๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ฒƒ๋ฟ์ž…๋‹ˆ๋‹ค. ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฌ์šฉํ•œ ์ง‘์ค‘ ํ…Œ์ŠคํŠธ์—์„œ ์ด ๋‘ ๊ฐ€์ง€๊ฐ€ ์ˆ˜์ •๋˜๋ฉด ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ๊ฑฐ์˜ ์™„๋ฒฝํ•˜๋‹ค๊ณ  ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Angular ํ™•์žฅ์˜ ์ƒˆ ๋ฒ„์ „์ด GitHub์— ์ดˆ๊ธฐ ๋ฏธ๋ฆฌ ๋ณด๊ธฐ๋กœ ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค . https://github.com/angular/vscode-ng-language-service/releases/tag/v0.900.0-next.0์„ ์ฐธ์กฐ

์‚ฌ์šฉํ•ด๋ณด์‹œ๋ฉด ๋ฌธ์ œ/๋ฒ„๊ทธ๊ฐ€ ์žˆ์œผ๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

@kyliau : Eclipse Wild Web Developer์—์„œ ํ†ตํ•ฉ๋œ ์ตœ์‹  Angular ์Šค๋งˆํŠธ์„ฑ์„ ์‹œ๋„ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์ด์ „ ๋Œ“๊ธ€์—์„œ ๋งํฌํ•œ ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์— ์–ธ์–ด ์„œ๋ฒ„๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๊นŒ(ํ”„๋กœ์„ธ์Šค๊ฐ€ LSP๋ฅผ ๋งํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ)? ๊ทธ๋ ‡๋‹ค๋ฉด TS ๋ฐ HTML ํŒŒ์ผ ๋ชจ๋‘์—์„œ ์ž‘๋™ํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋ฉ๋‹ˆ๊นŒ? ๊ทธ๋ ‡๋‹ค๋ฉด ์ด ์–ธ์–ด ์„œ๋ฒ„๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ๋ฐ ๊ถŒ์žฅ๋˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

@kyliau ์ง€์นจ์— ๋”ฐ๋ผ v0.900.0-next.0์„ ์„ค์น˜ํ–ˆ์ง€๋งŒ ์–ด๋–ค ๊ฒƒ(์˜ˆ: ๊ตฌ์„ฑ ์š”์†Œ ์„ ํƒ๊ธฐ, ์†์„ฑ, ์ด๋ฒคํŠธ ๋“ฑ)์— ๋Œ€ํ•œ ์ž๋™ ์™„์„ฑ ์ œ์•ˆ๋„ ์—†์Šต๋‹ˆ๋‹ค.

RC ๋ฒ„์ „์ด ์ถœ์‹œ๋˜์—ˆ์Œ์„ ์•Œ๋ฆฌ๊ฒŒ ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค. ๋ช‡ ์ฃผ ์•ˆ์— ์ƒˆ๋กœ์šด ํ™•์žฅ์ด vscode ์‹œ์žฅ์— ๊ฒŒ์‹œ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๊ทธ๋™์•ˆ ์‚ฌ์šฉํ•ด ๋ณด๋ ค๋ฉด ๋ฆด๋ฆฌ์Šค ํŽ˜์ด์ง€์—์„œ ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜์‹ญ์‹œ์˜ค.
์šฐ๋ฆฌ๋Š” ํ˜„์žฌ ์ž‘์—… ํ•ญ๋ชฉ (3)์— ์ดˆ์ ์„ ๋งž์ถ”๊ณ  ์žˆ์œผ๋ฉฐ, ์—ฌ๊ธฐ์„œ ์˜ค๋žœ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด์ œ ์ƒˆ ํ™•์žฅ์ด ํ™œ์„ฑํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค. https://marketplace.visualstudio.com/items?itemName=Angular.ng-template ์—์„œ ๋‹ค์šด๋กœ๋“œ

4๋ฒˆ "์–ธ์–ด ์„œ๋น„์Šค๋ฅผ Ivy ์ปดํŒŒ์ผ๋Ÿฌ๋กœ ์ „ํ™˜[์ง„ํ–‰ ์ค‘]"์— ๋Œ€ํ•ด ์งˆ๋ฌธ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์ž์ฒด ๊ฐœ๋ฐœํ•œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ๋งŒ ์‚ฌ์šฉ๋˜๋Š” ์ž์ฒด ๋‚ด๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์ฝ”๋“œ๋ฒ ์ด์Šค๊ฐ€ ํ•œ ๋ฒˆ์— ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— Ivy๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด์ œ vscode๋Š” ๋” ์ด์ƒ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์ง€์‹œ๋ฌธ ๋ฐ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์ธ์‹ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ํ˜„์žฌ๋กœ์„œ๋Š” ์–ธ์–ด ์„œ๋น„์Šค๊ฐ€ Ivy๋ฅผ ์™„์ „ํžˆ ์ง€์›ํ•  ๋•Œ๊นŒ์ง€ View Engine์œผ๋กœ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ปดํŒŒ์ผํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์ž„์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ฌ๋ฐ”๋ฅธ์ง€? ๊ทธ๋ ‡๋‹ค๋ฉด ์–ธ์–ด ์„œ๋น„์Šค์— ๋Œ€ํ•œ ์ง€์›์ด ์–ธ์ œ ์‹œ์ž‘๋  ๊ฒƒ์ธ์ง€ ๋กœ๋“œ๋งต์ด ์žˆ์Šต๋‹ˆ๊นŒ?

ivy ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์€ ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ํ•ด์„๋ฉ๋‹ˆ๋‹ค.

@furti ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด ํ˜„์žฌ ์–ธ์–ด ์„œ๋น„์Šค๊ฐ€ ํ˜„์žฌ ์–ธ์–ด ์„œ๋น„์Šค์˜ ๊ธฐ์ดˆ๊ฐ€ ๋˜๋Š” ํ•ด๋‹น metadata.json ๋ฅผ ์„ ํƒํ•˜๋ ค๋ฉด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ View Engine์œผ๋กœ ์ปดํŒŒ์ผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
@xiaoxiangmoe ์ €๋Š” Ivy๋ฅผ ์–ธ์–ด ์„œ๋น„์Šค์— ์™„์ „ํžˆ ํ†ตํ•ฉํ•˜๊ธฐ ์œ„ํ•ด ์ปดํŒŒ์ผ๋Ÿฌ ํŒ€๊ณผ ํ˜‘๋ ฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ์šฐ๋ฆฌ๋Š” ๋ฒ„์ „ 10์˜ ๋ฒ ํƒ€ ๋ฆด๋ฆฌ์Šค๋ฅผ ๋ชฉํ‘œ๋กœ ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์ด๋Š” ๋†€๋ผ์›€์ด ์—†๋Š” ํ•œ 6์›” ๋ง/7์›” ์ดˆ์— ์ด๋ฃจ์–ด์งˆ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ์ง„ํ–‰ ์ค‘์ธ WFH ์ƒํ™ฉ์œผ๋กœ ์ธํ•ด ๊ณ„ํš์ด ๋‹ค์†Œ ์ฐจ์งˆ์„ ๋นš์—ˆ์ง€๋งŒ ์›๋ž˜ ๋กœ๋“œ๋งต์„ ๊ณ ์ˆ˜ํ•˜๊ธฐ ์œ„ํ•ด ์ตœ์„ ์„ ๋‹คํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Angular๊ฐ€ v10์„ ์ถœ์‹œํ•˜๊ฒŒ ๋˜์–ด ๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค ๐ŸŽ‰
"์–ธ์–ด ์„œ๋น„์Šค๋ฅผ Ivy ์ปดํŒŒ์ผ๋Ÿฌ๋กœ ์ „ํ™˜"์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

@xiaoxiangmoe ๋‚ด๋ถ€ ๊ฐœํŽธ์œผ๋กœ ์ธํ•ด Ivy ์–ธ์–ด ์„œ๋น„์Šค ์ผ์ •์ด
์ž‘์—…์€ ์ด๋ฏธ ์‹œ์ž‘๋˜์—ˆ์œผ๋ฉฐ ์ด ํ”„๋กœ์ ํŠธ์˜ ์ถ”์ง„๋ ฅ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ๋ช‡ ๋ช…์˜ ํšŒ์›์„ ๋“ฑ๋กํ–ˆ์Šต๋‹ˆ๋‹ค.
์—ฌ๊ธฐ ์—์„œ ์ „์ฒด ํ”„๋กœ์ ํŠธ์˜ ์ง„ํ–‰ ์ƒํ™ฉ์„ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ธฐ์กด LS์™€ ํ•จ๊ป˜ Ivy LS๋ฅผ ์ถœ์‹œํ•  ์˜ˆ์ •์ด๋ฏ€๋กœ "์กฐ๊ธฐ ๋ฏธ๋ฆฌ๋ณด๊ธฐ"๋ฅผ ์›ํ•˜๋Š” ์‚ฌ์šฉ์ž๋Š” ํŽธ์ง‘๊ธฐ ์„ค์ •์—์„œ ์ฒดํ—˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฑ„๋„ ๊ณ ์ • ํ•ด์ฃผ์„ธ์š”!

์•„์ง ์„ฑ๋Šฅ์ด ์ œ๋Œ€๋กœ ๋‚˜์˜ค์ง€ ์•Š์€ ๊ฒƒ ๊ฐ™์•„์š”. ์ด ํ™•์žฅ์€ ๋‚˜์™€ ๋‚ด๊ฐ€ ์˜ค๋žซ๋™์•ˆ ์•Œ๊ณ  ์žˆ๋Š” ๋‹ค๋ฅธ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ๋†’์€ CPU ์ŠคํŒŒ์ดํฌ์˜ ๊ฐ€์žฅ ํฐ ์›์ธ์ด์—ˆ์œผ๋ฉฐ ์ตœ๊ทผ์—๋Š” macOS ํŒฌ์„ ๋ฏธ์น˜๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

์˜ˆ, @DenysVuika์— ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ๋ช‡ ๋‹ฌ ๋™์•ˆ ์ด ํ”Œ๋Ÿฌ๊ทธ์ธ์— ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์–ด์ œ ํฌ๊ธฐํ•˜๊ณ  ๋น„ํ™œ์„ฑํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค. vscode ๋ฐ ng ์›น ์„œ๋ฒ„๋ฅผ ์‹œ์ž‘ํ•œ ํ›„ CPU๋Š” ์–ด๋Š ์‹œ์ ์—์„œ ๊ธ‰์ƒ์Šนํ•˜์—ฌ vscode๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•  ๋•Œ๊นŒ์ง€ ๊ทธ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. Intellisense๋Š” ํ•˜๋ฃจ์— ์—ฌ๋Ÿฌ ๋ฒˆ ์ž‘๋™์„ ๋ฉˆ์ถฅ๋‹ˆ๋‹ค. ๋งค์ผ ์—ฌ๋Ÿฌ ๋ฒˆ vscode๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋น„ํ™œ์„ฑํ™”ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  ๊ฒƒ์ด ์ •์ƒ์œผ๋กœ ๋Œ์•„ ์™”์Šต๋‹ˆ๋‹ค. ์ €๋„ ๋งฅOS์—์š”. ๋‹ค์Œ์€ ๋ช‡ ๊ฐ€์ง€ ์ƒํ™ฉ์— ๋งž๋Š” ์ •๋ณด์ž…๋‹ˆ๋‹ค.

๊ฐ๋„ CLI: 10.0.1
๋…ธ๋“œ: 12.13.0
์šด์˜ ์ฒด์ œ: ๋‹ค์œˆ x64

๊ฐ๋„: 10.0.2
... ์• ๋‹ˆ๋ฉ”์ด์…˜, ๊ณตํ†ต, ์ปดํŒŒ์ผ๋Ÿฌ, ์ปดํŒŒ์ผ๋Ÿฌ-cli, ์ฝ”์–ด, ์–‘์‹
... ํ”Œ๋žซํผ ๋ธŒ๋ผ์šฐ์ €, ํ”Œ๋žซํผ ๋ธŒ๋ผ์šฐ์ € ๋™์ , ๋ผ์šฐํ„ฐ
์•„์ด๋น„ ์›Œํฌ์ŠคํŽ˜์ด์Šค: ์˜ˆ

ํŒจํ‚ค์ง€ ๋ฒ„์ „

@angular-devkit/architect 0.1000.1
@angular-devkit/build-angular 0.1000.1
@angular-devkit/build-optimizer 0.1000.1
@angular-devkit/build-webpack 0.1000.1
@angular-devkit/core 10.0.1
@angular-devkit/schematics 10.0.1
@angular/cdk 10.0.1
@angular/cli 10.0.1
@๊ฐ๋„/์†Œ์žฌ 10.0.1
@ngtools/webpack 10.0.1
@ ํšŒ๋กœ๋„/๊ฐ๋„ 10.0.1
@ ํšŒ๋กœ๋„/์—…๋ฐ์ดํŠธ 0.1000.1
rxjs 6.6.0
ํƒ€์ดํ”„์Šคํฌ๋ฆฝํŠธ 3.9.6
์›นํŒฉ 4.43.0

ํ˜„์žฌ Angular 10 ํ”„๋กœ์ ํŠธ์—์„œ Version: 1.48.0-insider๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋” ์ด์ƒ HTML ํ…œํ”Œ๋ฆฟ์— Angular Intellisense๊ฐ€ ์—†๊ณ  ์˜ค๋ฅ˜ ๊ฒ€์‚ฌ๋„ ์—†์Šต๋‹ˆ๋‹ค(์˜ˆ: ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๋ณ€์ˆ˜์— ๋ฐ”์ธ๋”ฉ๋œ ๊ฒฝ์šฐ).

์ตœ์‹  ์—…๋ฐ์ดํŠธ: Ivy ์–ธ์–ด ์„œ๋น„์Šค๋Š” ๋ฒ„์ „ 11์—์„œ ๋ฒ ํƒ€ ํ…Œ์ŠคํŠธ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋ฆด๋ฆฌ์Šค๋Š” ํ˜„์žฌ 2020๋…„ 11์›” 11์ผ๋กœ ์˜ˆ์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด ์™„์ „ํžˆ ์ƒˆ๋กœ์šด ์–ธ์–ด ์„œ๋น„์Šค ๋ฐ˜๋ณต์—์„œ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•˜๊ณ  ๋” ๊ด‘๋ฒ”์œ„ํ•œ ๊ธฐ๋Šฅ ์„ธํŠธ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. Angular ํ…œํ”Œ๋ฆฟ์˜ ๋” ๋‚˜์€ ํƒ€์ดํ•‘
  2. ์ปดํŒŒ์ผ๋Ÿฌ์™€ ๋™์ผํ•œ ์ง„๋‹จ ์ƒ์„ฑ
  3. ๋ช…์˜ˆ ์‚ฌ์šฉ์ž์˜ angularCompilerOptions

์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ ธ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์ง€๋งŒ ์ง€์›๊ณผ ์ธ๋‚ด์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!

@kyliau angular v11.0.0-rc.2 ๋˜๋Š” v11.0.0-rc.3์œผ๋กœ ์ถœ์‹œ๋˜๋‚˜์š”?

@kyliau angular v11.0.0-rc.2 ๋˜๋Š” v11.0.0-rc.3์œผ๋กœ ์ถœ์‹œ๋˜๋‚˜์š”?

@xiaoxiangmoe Ivy ์–ธ์–ด ์„œ๋น„์Šค๋Š” ์—ฌ์ „ํžˆ ์‹คํ—˜์ ์ด๋ฉฐ v11.0์—์„œ ์˜ตํŠธ์ธ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ๊ฐœ์„ ํ•˜๊ณ  ์ผ๋ถ€ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•ด ์•„์ง ํ•ด์•ผ ํ•  ์ผ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์–ด์จŒ๋“  ์‚ฌ์šฉํ•ด ๋ณด๋ ค๋ฉด https://github.com/angular/vscode-ng-language-service/releases/tag/v0.1100.0-rc.0 ์—์„œ RC ๋ฒ„์ „์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. .vsix ํŒŒ์ผ์„ ์ˆ˜๋™์œผ๋กœ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ํ”„๋กœ์ ํŠธ์˜ ํฐ ์ด์ •ํ‘œ์ด๊ธฐ ๋•Œ๋ฌธ์— ํ™•์žฅ ๊ธฐ๋Šฅ์ด ์•ˆ์ •์ ์œผ๋กœ ์ถœ์‹œ๋˜๊ธฐ ์ „์— ์ž˜ ํ…Œ์ŠคํŠธ๋˜๊ณ  ๊ธฐ๋Šฅ์ด ์™„์„ฑ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์—„์ฒญ๋‚œ ๋ฐœ์ „์„ ์ด๋ฃจ์—ˆ๊ณ  ์ด ์ž‘์—…์„ ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ๊ณต์œ ํ•˜๊ฒŒ ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋Š์Šจํ•œ ๋ถ€๋ถ„์„ ๋ฌถ๋Š” ๋™์•ˆ ์กฐ๊ธˆ๋งŒ ๋” ๊ธฐ๋‹ค๋ ค์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

@kyliau ์–ธ์ œ Ivy Language ์„œ๋น„์Šค์— ๋Œ€ํ•ด ๊ณต๊ฐœ๋œ ๋ฒ„๊ทธ๋ฅผ ์กฐ์‚ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
https://github.com/angular/vscode-ng-language-service/issues/936์„ ์—ด์—ˆ์Šต๋‹ˆ๋‹ค.

@kyliau angular v11.0.0-rc.2 ๋˜๋Š” v11.0.0-rc.3์œผ๋กœ ์ถœ์‹œ๋˜๋‚˜์š”?

@xiaoxiangmoe Ivy ์–ธ์–ด ์„œ๋น„์Šค๋Š” ์—ฌ์ „ํžˆ ์‹คํ—˜์ ์ด๋ฉฐ v11.0์—์„œ ์˜ตํŠธ์ธ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ๊ฐœ์„ ํ•˜๊ณ  ์ผ๋ถ€ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•ด ์•„์ง ํ•ด์•ผ ํ•  ์ผ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์–ด์จŒ๋“  ์‚ฌ์šฉํ•ด ๋ณด๋ ค๋ฉด https://github.com/angular/vscode-ng-language-service/releases/tag/v0.1100.0-rc.0 ์—์„œ RC ๋ฒ„์ „์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. .vsix ํŒŒ์ผ์„ ์ˆ˜๋™์œผ๋กœ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ํ”„๋กœ์ ํŠธ์˜ ํฐ ์ด์ •ํ‘œ์ด๊ธฐ ๋•Œ๋ฌธ์— ํ™•์žฅ ๊ธฐ๋Šฅ์ด ์•ˆ์ •์ ์œผ๋กœ ์ถœ์‹œ๋˜๊ธฐ ์ „์— ์ž˜ ํ…Œ์ŠคํŠธ๋˜๊ณ  ๊ธฐ๋Šฅ์ด ์™„์„ฑ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์—„์ฒญ๋‚œ ๋ฐœ์ „์„ ์ด๋ฃจ์—ˆ๊ณ  ์ด ์ž‘์—…์„ ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ๊ณต์œ ํ•˜๊ฒŒ ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋Š์Šจํ•œ ๋ถ€๋ถ„์„ ๋ฌถ๋Š” ๋™์•ˆ ์กฐ๊ธˆ๋งŒ ๋” ๊ธฐ๋‹ค๋ ค์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

Ivy Language Service๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋Š” ์˜ฌ๋ฐ”๋ฅธ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์ด๋ฏธ ์ด ์‹คํ—˜ ์„ค์ •์„ true๋กœ ์„ค์ •ํ–ˆ์ง€๋งŒ ngcc๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ฐฉ๊ธˆ ์ „์— ์ˆ˜๋™์œผ๋กœ ์‹คํ–‰ํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ์ง€๋งŒ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์ทจํ•˜์ง€ ์•Š์€ ๋ช…๋ฐฑํ•œ ์กฐ์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

๋‹ค๋ฅธ ์‚ฌ์šฉ์ž ์ง€์› ์š”์ฒญ์ฒ˜๋Ÿผ ์ด ๋Œ“๊ธ€์„ ๋ฌด์‹œํ•˜์ง€ ์•Š๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋‹น์‹ ์ด ๊ทธ๊ฒƒ์— ๋Œ€ํ•œ ์ค€๋น„๊ฐ€๋˜์ง€ ์•Š์•˜๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๊ฒƒ์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ์˜ฌ๋ฐ”๋ฅธ ๋ฐฉ๋ฒ•์„ ์•Œ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

@Arkthur ์ด๊ฒƒ์€ ๋‚ด angularCompilerOptions์ž…๋‹ˆ๋‹ค:

{
    "angularCompilerOptions": {
        "fullTemplateTypeCheck": true,
        "strictInjectionParameters": true,
        "strictInputAccessModifiers": true,
        "strictTemplates": true
    }
}

๋˜ํ•œ vscode-ng-language-service v0.1100.1 ๋˜๋Š” v0.1100.3์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ v0.1100.0์„ ๋‹ค์‹œ ์„ค์น˜ํ•˜์‹ญ์‹œ์˜ค. vscode-ng-language-service v0.1100.1์— ์‹ฌ๊ฐํ•œ ๋ฒ„๊ทธ ๊ฐ€

์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ ธ์ง€๋งŒ ์˜ค๋Š˜ ๋“œ๋””์–ด v11.1.0์—์„œ Ivy-native ์–ธ์–ด ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค!
Ivy-native LS๋Š” View Engine์—์„œ ์ˆ˜์ •ํ•  ์ˆ˜ ์—†์—ˆ๋˜ ๋งŽ์€ ๊ทผ๋ณธ์ ์ธ ๋ฌธ์ œ๋ฅผ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

  • ์ฆ๋ถ„ ์ปดํŒŒ์ผ ์„ฑ๋Šฅ,
  • ๋ณด๋‹ค ๊ฐ•๋ ฅํ•œ ์œ ํ˜• ๊ฒ€์‚ฌ,
  • ์ปดํŒŒ์ผ๋Ÿฌ ๋“ฑ๊ณผ ๋™์ผํ•œ ์ง„๋‹จ,

๋˜ํ•œ ํ…œํ”Œ๋ฆฟ์—์„œ ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ์ฐธ์กฐ ์ฐพ๊ธฐ์™€ ๊ฐ™์€ ๋ช‡ ๊ฐ€์ง€ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.

vscode ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค์—์„œ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ํ”ผ๋“œ๋ฐฑ์ด ์žˆ์œผ๋ฉด ์•Œ๋ ค์ฃผ์‹ญ์‹œ์˜ค.
Ivy-native LS ํ™œ์„ฑํ™” ์ง€์นจ์€ ๋ฆด๋ฆฌ์Šค ์ •๋ณด ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰