Vscode-ng-language-service: ํ…œํ”Œ๋ฆฟ ์ƒ‰์ƒ ๊ฐ•์กฐ ํ‘œ์‹œ๊ฐ€ ๊นจ์กŒ์Šต๋‹ˆ๋‹ค.

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

๋ฒ„๊ทธ ์„ค๋ช…

ํƒœ๊ทธ ๊ฐ•์กฐ ํ‘œ์‹œ๊ฐ€ ์ด์ƒํ•˜๊ณ  ์ผ๊ด€์„ฑ์ด ์—†์Šต๋‹ˆ๋‹ค.

์˜ˆ์ƒ๋˜๋Š” ํ–‰๋™

์—ฌ๋Š” ํƒœ๊ทธ์™€ ๋‹ซ๋Š” ํƒœ๊ทธ๋Š” ๊ฐ™์€ ์ƒ‰์ƒ์ด์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.
์ฝ”๋“œ๊ฐ€ ์ •ํ™•ํ•˜๋ฉด ์˜ค๋ฅ˜ ๋นจ๊ฐ„์ƒ‰์ด ํ‘œ์‹œ๋˜์ง€ ์•Š์•„์•ผํ•ฉ๋‹ˆ๋‹ค.

์Šคํฌ๋ฆฐ ์ƒท

image

์ถ”๊ฐ€ ์ปจํ…์ŠคํŠธ

์—์„œ ์ผ v0.900.5 ๊นจ์ง„, v0.900.6

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

์˜ˆ.

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

์œ„์˜ ๊ฒƒ ์™ธ์—๋„ ctrl + / / cmd + / ์™€ ๊ฐ™์€ ์ฃผ์„ ๋ฐ”๋กœ ๊ฐ€๊ธฐ๋Š” html๊ณผ ๊ฐ™์€ ์ฃผ์„ <!-- ... --> ๋Œ€์‹  typescript์™€ ๊ฐ™์€ ์ฃผ์„ // ... ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋Š” ์ •๋ง ์„ฑ ๊ฐ€์‹œ๊ณ  ํ™•์žฅ ๊ธฐ๋Šฅ์„ ์ ˆ๋Œ€์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฐ ๋„์›€์ด๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‚ด ์ƒ๊ฐ ์—” ์ด๊ฒƒ์€ ๊ฐ๋„ ์žฌ๋ฃŒ ๋ฐ / ๋˜๋Š” (event) ํ•ธ๋“ค๋Ÿฌ์™€ ๊ฐ™์€ ์‚ฌ์šฉ์ž ์ง€์ • ๊ตฌ์กฐ ์ง€์‹œ์–ด์™€ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฒ„์ „์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

     _                      _                 ____ _     ___
    / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
   / โ–ณ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
  / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
 /_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
                |___/


Angular CLI: 8.3.23
Node: 13.6.0
OS: darwin x64
Angular: 8.2.14
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router

Package                            Version
------------------------------------------------------------
@angular-devkit/architect          0.803.23
@angular-devkit/build-angular      0.803.23
@angular-devkit/build-optimizer    0.803.23
@angular-devkit/build-webpack      0.803.23
@angular-devkit/core               8.3.23
@angular-devkit/schematics         8.3.23
@angular/cdk                       8.2.3
@angular/cli                       8.3.23
@angular/flex-layout               8.0.0-beta.27
@angular/material                  8.2.3
@angular/material-moment-adapter   8.2.3
@ngtools/webpack                   8.3.23
@schematics/angular                8.3.23
@schematics/update                 0.803.23
rxjs                               6.5.4
typescript                         3.4.5
webpack                            4.39.2

์œ„์˜ ๊ฒƒ ์™ธ์—๋„ ctrl + / / cmd + / ์™€ ๊ฐ™์€ ์ฃผ์„ ๋ฐ”๋กœ ๊ฐ€๊ธฐ๋Š” html๊ณผ ๊ฐ™์€ ์ฃผ์„ <!-- ... --> ๋Œ€์‹  typescript์™€ ๊ฐ™์€ ์ฃผ์„ // ... ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋Š” ์ •๋ง ์„ฑ ๊ฐ€์‹œ๊ณ  ํ™•์žฅ ๊ธฐ๋Šฅ์„ ์ ˆ๋Œ€์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฐ ๋„์›€์ด๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‚ด ์ƒ๊ฐ ์—” ์ด๊ฒƒ์€ ๊ฐ๋„ ์žฌ๋ฃŒ ๋ฐ / ๋˜๋Š” (event) ํ•ธ๋“ค๋Ÿฌ์™€ ๊ฐ™์€ ์‚ฌ์šฉ์ž ์ง€์ • ๊ตฌ์กฐ ์ง€์‹œ์–ด์™€ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฒ„์ „์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

     _                      _                 ____ _     ___
    / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
   / โ–ณ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
  / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
 /_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
                |___/


Angular CLI: 8.3.23
Node: 13.6.0
OS: darwin x64
Angular: 8.2.14
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router

Package                            Version
------------------------------------------------------------
@angular-devkit/architect          0.803.23
@angular-devkit/build-angular      0.803.23
@angular-devkit/build-optimizer    0.803.23
@angular-devkit/build-webpack      0.803.23
@angular-devkit/core               8.3.23
@angular-devkit/schematics         8.3.23
@angular/cdk                       8.2.3
@angular/cli                       8.3.23
@angular/flex-layout               8.0.0-beta.27
@angular/material                  8.2.3
@angular/material-moment-adapter   8.2.3
@ngtools/webpack                   8.3.23
@schematics/angular                8.3.23
@schematics/update                 0.803.23
rxjs                               6.5.4
typescript                         3.4.5
webpack                            4.39.2

๋‚˜๋Š” ์—ฌ๊ธฐ์„œ v0.900.6์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”๋ฐ ๋‚˜์—๊ฒŒ ์ผ์–ด๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ถฉ๋Œํ•˜๋Š” ํ™•์žฅ์„ ๋ฐฐ์ œํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค๋ฅธ ํ™•์žฅ์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๋ ค๊ณ  ํ–ˆ์Šต๋‹ˆ๊นŒ?

@ghaschel ๋‹น์‹ ์ด ๋งž์Šต๋‹ˆ๋‹ค, ๋ชจ๋“  ํŒŒ์ผ์—์žˆ๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค.

์ด ์„ ์œผ๋กœ ์ขํ˜€ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ฌ ์ˆ˜์žˆ์—ˆ์Šต๋‹ˆ๋‹ค

<td mat-cell *matCellDef="let param">{{ param.costCode?.name }}</td>

์ข€๋” ๊ตฌ์ฒด์ ์œผ๋กœ

<td *matCellDef="let param"></td>

์•„๋งˆ๋„ * ๋˜๋Š” let . ๋‘˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์ œ๊ฑฐํ•˜๋ฉด ์ƒ‰์ƒ ํ˜ผ๋ž€์ด ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค.

; ๋’ค์— let param ; ์„ ์ถ”๊ฐ€ํ•ด๋ณด์„ธ์š”.

; ์ถ”๊ฐ€ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ด ๊ธฐํšŒ๋ฅผ ๊นจ์ง€ ์•Š์„ ๊ธฐํšŒ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?
Angular๋Š” ; ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๊ณ  ๋” ์˜ˆ์˜๊ฒŒ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ํŒจํ„ด๊ณผ ์ผ์น˜ํ•˜๋Š” ๊ฐ๋„ ํ‘œํ˜„๊ณผ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ง„ํ–‰์ค‘์ธ ํ† ๋ก ์€ ์—ฌ๊ธฐ์— ์žˆ์Šต๋‹ˆ๋‹ค : https://github.com/angular/vscode-ng-language-service/issues/571

์ถ”๊ฐ€ ์‹œ๋„; let param ํ›„์—

๊ธ€์Ž„, IDE๊ฐ€ HTML ํ…œํ”Œ๋ฆฟ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๊ฐ•์กฐ ํ‘œ์‹œํ•˜๋„๋ก IDE ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ฐœํ‘œํ•˜์ง€ ์•Š์€ ์ž‘์—… ํ”„๋กœ์ ํŠธ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์€ ํ•ด๊ฒฐ์ฑ…์ฒ˜๋Ÿผ ๋“ค๋ฆฌ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋ฌธ์ œ๊ฐ€ ํ˜„์ง€ํ™”๋˜์–ด์žˆ๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๊นŒ?

์˜ˆ.

ํ…œํ”Œ๋ฆฟ ์‚ฌ์šฉ

<ng-container matColumnDef="cost-code">
    <th mat-header-cell *matHeaderCellDef>
        {{ 'GENERAL.COST_CODE'  | async }}
    </th>
    <td mat-cell *matCellDef="let param">{{ param.costCode?.name }}</td>
</ng-container>

*matCellDef ๋ฐ”์ธ๋”ฉ์˜ JS ๊ตฌ๋ฌธ์— ์˜ค๋ฅ˜๊ฐ€ ์žˆ์ง€๋งŒ *matHeaderCellDef ์—๋Š” ์˜ค๋ฅ˜๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. @ BO41 ๋‚ด๊ฐ€ ๋†“์นœ ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

Screen Shot 2020-01-25 at 9 33 41 AM

ํ…œํ”Œ๋ฆฟ ์‚ฌ์šฉ

<ng-container matColumnDef="cost-code">
    <th mat-header-cell *matHeaderCellDef>
        {{ 'GENERAL.COST_CODE'  | async }}
    </th>
    <td mat-cell *matCellDef="let param">{{ param.costCode?.name }}</td>
</ng-container>

*matCellDef ๋ฐ”์ธ๋”ฉ์˜ JS ๊ตฌ๋ฌธ์— ์˜ค๋ฅ˜๊ฐ€ ์žˆ์ง€๋งŒ *matHeaderCellDef ์—๋Š” ์˜ค๋ฅ˜๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. @ BO41 ๋‚ด๊ฐ€ ๋†“์นœ ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

Screen Shot 2020-01-25 at 9 33 41 AM

๋‚ด ์ƒ๊ฐ์— ๊ตฌ๋ฌธ์˜ ๊นจ์ง€๋Š” ๋ถ€๋ถ„์€ ์‹ค์ œ๋กœ ์Šคํฌ๋ฆฐ ์ƒท์ด ์•„๋‹ˆ๋ผ ํŒŒ์ผ๋ณด๋‹ค ๋” ์œ„์ชฝ์— ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์—ฌ๋Š” ng-container ๋Š” OP ์Šคํฌ๋ฆฐ ์ƒท์˜ HTML ํƒœ๊ทธ์— ๋Œ€ํ•œ ์ž˜๋ชป๋œ ์ƒ‰์ƒ์ด์ง€๋งŒ ๋นจ๊ฐ„์ƒ‰ ๊ตฌ์กฐ ์ง€์‹œ๋ฌธ ๋ฐ ๋’ค์— ๋‚˜์˜ค๋Š” SNAFU๋ณด๋‹ค ๋ˆˆ์— ๋„์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‚ด ์ƒ๊ฐ์— ๊ตฌ๋ฌธ์˜ ๊นจ์ง€๋Š” ๋ถ€๋ถ„์€ ์‹ค์ œ๋กœ ์Šคํฌ๋ฆฐ ์ƒท์ด ์•„๋‹ˆ๋ผ ํŒŒ์ผ๋ณด๋‹ค ๋” ์œ„์ชฝ์— ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์—ฌ๋Š” ng-container ์€ OP ์Šคํฌ๋ฆฐ ์ƒท์˜ HTML ํƒœ๊ทธ์— ๋Œ€ํ•œ ์ž˜๋ชป๋œ ์ƒ‰์ƒ์ด์ง€๋งŒ ๋นจ๊ฐ„์ƒ‰ ๊ตฌ์กฐ ์ง€์‹œ๋ฌธ๊ณผ ๋’ค์— ๋‚˜์˜ค๋Š” SNAFU๋ณด๋‹ค ๋ˆˆ์— ๋„์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋งž์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ์—ด โ€‹โ€‹๋•Œ ๋‚˜๋Š” ์›์ธ์„ ๋ชฐ๋ž์Šต๋‹ˆ๋‹ค.
๊ตฌ๋ฌธ์ด ํ•œ ๋ฒˆ ์†์ƒ๋˜๋ฉด ๋‚˜๋จธ์ง€ ํŒŒ์ผ์— ๋Œ€ํ•ด ๋ณต๊ตฌ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

@ayazhafiz ์•„๋ž˜์—์„œ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ๋‹ค์‹œ ๋ณต์‚ฌํ•˜๋ฉด ์•„๋งˆ๋„ ๋‚ด ์Šคํฌ๋ฆฐ ์ƒท์ฒ˜๋Ÿผ ๋ณด์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@ BO41 ์–ด๋–ค ์ฝ”๋“œ๋ฅผ ์–ธ๊ธ‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

<ng-container matColumnDef="cost-code">
    <th mat-header-cell *matHeaderCellDef>
        {{ 'GENERAL.COST_CODE'  | async }}
    </th>
    <td mat-cell *matCellDef="let param">{{ param.costCode?.name }}</td>
</ng-container>

์ด ํ•˜๋‚˜. ํ•˜์ง€๋งŒ ์ƒˆ๋กœ์šด ์—ฌ๋Š” ํƒœ๊ทธ๋Š” ์—‰๋ง์ด๋˜์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๊ดœ์ฐฎ์•„. ์œ ์ผํ•œ ์›์ธ์ด let param ํ‘œํ˜„์‹์—์„œ ๋ˆ„๋ฝ ๋œ ์„ธ๋ฏธ์ฝœ๋ก ์ธ์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์–ด๋–ป๊ฒŒ? ๋‚ด๊ฐ€ ํ…Œ์ŠคํŠธ ํ•  ์ˆ˜์žˆ๋Š” ๊ฒƒ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

  • ์ฝ”๋“œ๋Š” angular.io์—์„œ ๊ฐ€์ ธ์˜จ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • .5์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹ค๋ฅธ ๋ชจ๋“  ํ™•์žฅ์ด ๋น„ํ™œ์„ฑํ™” ๋œ ๊ฒฝ์šฐ์—๋„ .6 ๋˜๋Š” .7๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋ฉด ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค.
  • ๋‹น์‹ ๊ณผ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์€ ๋‹ค๋ฅธ ๊ฐ๋„ ๋ฒ„์ „์œผ๋กœ ๊ทธ๊ฒƒ์„ ์žฌํ˜„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚ด ๋ง์€, ng-container ํƒœ๊ทธ์™€ *matCellDef ์ •์˜ ๋’ค์—๋ณด๊ณ  ํ•œ ๋ฌธ์ œ์— ๋Œ€ํ•œ ๊ฐ•์กฐ ํ‘œ์‹œ ์˜ค๋ฅ˜๊ฐ€ ์„ธ๋ฏธ์ฝœ๋ก  ๋ˆ„๋ฝ์œผ๋กœ ์ธํ•œ ๊ฒƒ์ž„์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@ghaschel์ด ์ œ์•ˆํ–ˆ๋“ฏ์ด

; ์ถ”๊ฐ€ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋˜๋Š”

์•„๋งˆ๋„ * ๋˜๋Š” let ์ž…๋‹ˆ๋‹ค. ๋‘˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์ œ๊ฑฐํ•˜๋ฉด ์ƒ‰์ƒ ํ˜ผ๋ž€์ด ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์„ธ๋ฏธ์ฝœ๋ก ์€ ํ•„์š”ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋ˆ„๋ฝ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

* ngFor ์ง€์‹œ๋ฌธ๊ณผ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉฐ *ngFor="let p of navItems ๋์— ; ์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๋‚˜๋จธ์ง€ ์„œ์‹์ด ์ˆ˜์ •๋œ๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

image
๋‹ค๋ฅธ ์˜ˆ ์ถ”๊ฐ€

์ข‹์•„, ์šฐ๋ฆฌ๊ฐ€ ํ•ด. ์ด ๋ฒ„๊ทธ์™€๋Š” ๋ณ„๊ฐœ๋กœ ๋‹ค๋ฅธ ๋ฒ„๊ทธ๊ฐ€ ์žˆ์œผ๋ฉด ์–ธ์ œ๋“ ์ง€ ์ƒˆ๋กœ์šด ๋ฌธ์ œ๋ฅผ ์—ด์–ด์ฃผ์„ธ์š”. ๊ฐ€๋Šฅํ•˜๋ฉด ํŽธ์ง‘๊ธฐ์— ๋ณต์‚ฌ / ๋ถ™์—ฌ ๋„ฃ๊ธฐ ํ•  ์ˆ˜์žˆ๋Š” ์ตœ์†Œํ•œ์˜ ์ฝ”๋“œ ์ƒ˜ํ”Œ์„ ํฌํ•จํ•˜์‹ญ์‹œ์˜ค.

์ข‹์•„, ์šฐ๋ฆฌ๊ฐ€ ํ•ด. ์ด ๋ฒ„๊ทธ์™€๋Š” ๋ณ„๊ฐœ๋กœ ๋‹ค๋ฅธ ๋ฒ„๊ทธ๊ฐ€ ์žˆ์œผ๋ฉด ์–ธ์ œ๋“ ์ง€ ์ƒˆ๋กœ์šด ๋ฌธ์ œ๋ฅผ ์—ด์–ด์ฃผ์„ธ์š”. ๊ฐ€๋Šฅํ•˜๋ฉด ํŽธ์ง‘๊ธฐ์— ๋ณต์‚ฌ / ๋ถ™์—ฌ ๋„ฃ๊ธฐ ํ•  ์ˆ˜์žˆ๋Š” ์ตœ์†Œํ•œ์˜ ์ฝ”๋“œ ์ƒ˜ํ”Œ์„ ํฌํ•จํ•˜์‹ญ์‹œ์˜ค.

image

<div>
  <ng-template #event>
    <ng-container *ngIf="!false">some code</ng-container>
  </ng-template>
</div>

image

<ng-container *ngFor="let hour of hoursToRender, let f = first, let e = even">
</ng-container>

๋ฉ”๋ชจ:

  • e on even ngFor, let reserverd word are not right color.
  • ng-template์˜ #event์™€ ์ฒซ ๋ฒˆ์งธ ํƒœ๊ทธ ์•ž์˜ ์ฒซ ๋ฒˆ์งธ ๊ณต๋ฐฑ ์‚ฌ์ด์˜ ์ƒ‰์ƒ์ด ์ œ๋Œ€๋กœ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋•Œ๋กœ๋Š” ng-containger๊ฐ€ ์ ์ ˆํ•˜๊ฒŒ ์ƒ‰์ƒ์ด ์ง€์ •๋˜๊ณ  ๋•Œ๋กœ๋Š” ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
image

<div class="container">
    <div class="hoursHeaderColumn">
        <ng-container *ngFor="let n of hoursToRender, let f = first, let i = index, let e = even">
            <div class="hoursHeader"
                 [class.dayHeader]="f"
                 [class.evenHour]="e">
                <span *ngIf="!f">
                    {{i - 1 + renderStartTime}}
                </span>
            </div>
        </ng-container>
    </div>
    <ng-container *ngFor="let day of daysToRender">
        <div class="day">
            <ng-container *ngFor="let hour of hoursToRender, let f = first, let e = even">
                <div (click)="onHourClick(day, hour)"
                     [class.dayHeader]="f"
                     [class.evenHour]="e"
                     [class.hour]="!f"
                     [class.picked]="!f && !loadingEvents && occuped[day.dayValue][hour].picked">
                    <span *ngIf="f else event">
                        {{day.label}}<br /> <span class="date">{{day.dateValue}}/{{day.month}}</span>
                    </span>
                    <ng-template #event>
                        <ng-container *ngIf="!loadingEvents">
                            <div class="startBleed"
                                 *ngIf="occuped[day.dayValue][hour].startBleed"></div>
                            <div class="occuped"
                                 *ngIf="occuped[day.dayValue][hour].summary && !occuped[day.dayValue][hour].startBleed && !occuped[day.dayValue][hour].endBleed">
                            </div>
                            <div class="endBleed"
                                 *ngIf="occuped[day.dayValue][hour].endBleed"></div>
                        </ng-container>
                    </ng-template>
                </div>
            </ng-container>
        </div>
    </ng-container>
    <app-loading *ngIf="loadingEvents"
                 class="eventsLoader"></app-loading>
</div>

์ œ ์ƒ๊ฐ์—๋Š” ์ ์ ˆํ•œ ์ƒ‰์€ ๋…น์ƒ‰์ด์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

@qmarquez ์˜ˆ์ œ์˜ ์‹คํŒจ ์ง€์ ์€ let <var> = <value> ๋ฌธ์ž…๋‹ˆ๋‹ค. ์„ธ๋ฏธ์ฝœ๋ก ์œผ๋กœ ์บก์„ ์”Œ์šฐ๋ฉด ์ผ๊ด€๋œ ๊ตฌ๋ฌธ ๊ฐ•์กฐ ํ‘œ์‹œ๊ฐ€ ๋‹ค์‹œ ๋‚˜ํƒ€๋‚  ๊ฒƒ์ž…๋‹ˆ๋‹ค. (์ด๊ฒƒ์€ ๋ฒ„๊ทธ๊ฐ€ ์•„๋‹ˆ๋ผ๋Š” ๋ง์€ ์•„๋‹ˆ์ง€๋งŒ ๊ทธ๋Ÿฌํ•œ ์ƒํ™ฉ์—์„œ ์ผ๊ด€๋˜๊ฒŒ ์žฌํ˜„ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.)

์ œ ์ƒ๊ฐ์—๋Š” ์ ์ ˆํ•œ ์ƒ‰์€ ๋…น์ƒ‰์ด์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ Dark + ํ…Œ๋งˆ๊ฐ€์žˆ๋Š” HTML ํƒœ๊ทธ์˜ ์˜ฌ๋ฐ”๋ฅธ ์ƒ‰์ƒ์€ ์ง„ํ•œ ํŒŒ๋ž€์ƒ‰์ž…๋‹ˆ๋‹ค. JavaScript ๊ตฌ๋ฌธ์ด "๊ณ ์ •"๋˜๊ณ  HTML ๊ตฌ๋ฌธ ๋ถ„์„์œผ๋กœ ๋Œ์•„ ๊ฐ€์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— JSX ๊ตฌ์„ฑ ์š”์†Œ๋กœ ๊ฐ•์กฐ ํ‘œ์‹œ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋…น์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๋ช…๋ น ํŒ”๋ ˆํŠธ์—์„œ Developer: Inspect TM Scopes ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๋…น์ƒ‰ ํƒœ๊ทธ๋ฅผ ํด๋ฆญํ•˜์—ฌ์ด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Angular ์Šคํƒ€์ผ ์›น ๊ตฌ์„ฑ ์š”์†Œ์˜ ๋ฌธ๋ฒ• ๋ฒ”์œ„๋Š” meta.tag.custom.<start/end>.html entity.name.tag.html ์ด๋ฉฐ Dark + ์ƒ‰์ƒ์€ ๋‹ค๋ฅธ HTML ํƒœ๊ทธ์™€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜ HTML ํƒœ๊ทธ์™€ ๋‹ค๋ฅธ ํ† ํฐ์œผ๋กœ ์›น ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์ƒ‰์น ํ•˜๋Š” ํ…Œ๋งˆ๊ฐ€ ์žˆ์ง€๋งŒ Dark +๋Š” ๊ทธ์ค‘ ํ•˜๋‚˜๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. (์ ์šฉ๋˜๋Š” ์‹ค์ œ ์ƒ‰์ƒ์€์ด ํ™•์žฅ์— ์˜ํ•ด ์ œ์–ด๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ…Œ๋งˆ์— ์˜ํ•ด ์ฒ˜๋ฆฌ๋˜๋Š” ๋ฐ˜๋ฉด์ด ํ™•์žฅ์€ ํ…Œ๋งˆ๊ฐ€ ์—ฐ๊ฒฐํ•  ์ˆ˜์žˆ๋Š” ๋ฌธ๋ฒ• ๋ฒ”์œ„๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.)

์ผ๊ด€๋œ ๊ตฌ๋ฌธ ๊ฐ•์กฐ ํ‘œ์‹œ๊ฐ€ ๋‹ค์‹œ ๋‚˜ํƒ€๋‚  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์˜ˆ, ๊ทธ๊ฒŒ ๋‹ค์ž…๋‹ˆ๋‹ค. ','๋กœ ๊ตฌ๋ถ„ ๋œ ์ค„ ์•Œ์•˜๋Š”๋ฐ

๋ชจ๋‘ ์™„๋ฒฝํ•ฉ๋‹ˆ๋‹ค! ์ •๋ง ๋งŽ์ด thnks! <3

๋Œ“๊ธ€์€ ๋” ์ด์ƒ ๋Œ“๊ธ€์ฒ˜๋Ÿผ ๋ณด์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์ด ํ–‰๋™์„ ๊ด€์ฐฐ ํ•œ ์‚ฌ๋žŒ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

591

์˜ˆ

์œ„์˜ ๊ฒƒ ์™ธ์—๋„ ctrl + / / cmd + /์™€ ๊ฐ™์€ ์ฃผ์„ ๋ฐ”๋กœ ๊ฐ€๊ธฐ๋Š” html๊ณผ ๊ฐ™์€ ์ฃผ์„ ๋Œ€์‹  typescript์™€ ๊ฐ™์€ ์ฃผ์„ // ...์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

ํ–ฅํ›„ ํŒจ์น˜์—์„œ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค!


๋‹ต๋ณ€ : Arnaud Crowther [email protected]
ะžั‚ะฟั€ะฐะฒะปะตะฝะพ : ัั€ะตะดะฐ, ัะฝะฒะฐั€ั 29, 2020 ์˜ค์ „ 6:47
์ฐธ๊ณ  : angular / vscode-ng-language-service
ะšะพะฟะธั : hafiz; ์–ธ๊ธ‰ํ•˜๋‹ค
ํ…์ŠคํŠธ : Re : [angular / vscode-ng-language-service] ํ…œํ”Œ๋ฆฟ ์ƒ‰์ƒ ๊ฐ•์กฐ ํ‘œ์‹œ๊ฐ€ ๊นจ์กŒ์Šต๋‹ˆ๋‹ค (# 575).

์š”์•ฝํ•˜์ž๋ฉด ์„ธ๋ฏธ์ฝœ๋ก ์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ์ด ๋™์ž‘์€ ํ–ฅํ›„ ํŒจ์น˜์—์„œ ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๊นŒ? ์•„๋‹ˆ๋ฉด ์ ์ ˆํ•œ ๊ตฌ๋ฌธ ๊ฐ•์กฐ๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด ์ง€๊ธˆ๋ถ€ํ„ฐ ์„ธ๋ฏธ์ฝœ๋ก ์„ ์ถ”๊ฐ€ํ•ด์•ผํ•ฉ๋‹ˆ๊นŒ? ๋ชจ๋“  ๋…ธ๋ ฅ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!

โ€”
๋‹น์‹ ์ด ์–ธ๊ธ‰ ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฐ”๋กœ์ด ์ด๋ฉ”์ผ์— ํšŒ์‹  GitHub์˜์—์„œ ๋ณผ https://github.com/angular/vscode-ng-language-service/issues/575?email_source=notifications&email_token=AE6GL6X4BQ4LGSYDIC627PLRAGJHNA5CNFSM4KLCQL6KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEKHN6ZY#issuecomment-579788647 , ๋˜๋Š” ๊ตฌ๋… ์ทจ์†Œ https : //๋กœ GitHub์˜. com / notifications / unsubscribe-auth / AE6GL6RPCCIDWSKAQRQGZJLRAGJHNANCNFSM4KLCQL6A .

์ถ”๊ฐ€ํ•˜๊ธฐ : Prettier๋Š” ์ž๋™์œผ๋กœ <div *ngIf="data.status as status;"> ์—์„œ ์„ธ๋ฏธ์ฝœ๋ก ์„ ์ œ๊ฑฐํ•˜์—ฌ์ด ๋ฌธ์ œ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.

@cpboyd ์„ธ๋ฏธ์ฝœ๋ก  ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ฝ”๋“œ๋ฅผ ๋ฆฐํŠธํ•˜๊ณ  ์ •๋ฆฌํ•˜๋Š” ๋„๊ตฌ๋Š” ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์„ธ๋ฏธ์ฝœ๋ก ์˜ ์กด์žฌ๋Š” Angular์˜ ๊ตฌ๋ฌธ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ํ”ฝ์Šค๊ฐ€ ๋ฆด๋ฆฌ์Šค๋˜๊ณ  ์ผ๋ถ€ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ์—์„œ์ด๋ฅผ ๋‹ค๋ฃจ๋ฉด ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์•„์•ผํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์ œ๊ฐ€ ํšŒ๊ท€ํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ์ œ์™ธํ•˜๊ณ  :(

@cpboyd ์„ธ๋ฏธ์ฝœ๋ก  ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ฝ”๋“œ๋ฅผ ๋ฆฐํŠธํ•˜๊ณ  ์ •๋ฆฌํ•˜๋Š” ๋„๊ตฌ๋Š” ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์„ธ๋ฏธ์ฝœ๋ก ์˜ ์กด์žฌ๋Š” Angular์˜ ๊ตฌ๋ฌธ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ํ”ฝ์Šค๊ฐ€ ๋ฆด๋ฆฌ์Šค๋˜๊ณ  ์ผ๋ถ€ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ์—์„œ์ด๋ฅผ ๋‹ค๋ฃจ๋ฉด ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์•„์•ผํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์ œ๊ฐ€ ํšŒ๊ท€ํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ์ œ์™ธํ•˜๊ณ  :(

์—ฌ๊ธฐ์„œ ๋ฌธ๋ฒ•์„ ์Šค๋ƒ… ์ƒท์œผ๋กœ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์ˆ˜์ •์ด ์™„๋ฃŒ๋˜๋ฉด์ด ๋ฌธ์ œ๋ฅผ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ์ถ”๊ฐ€ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜๋ฉด ํšŒ๊ท€๊ฐ€ ์ „ํ˜€ ์˜ˆ์ƒ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. :)

@ayazhafiz , ๋„์›€์ด๋œ๋‹ค๋ฉด ๋‹ค๋ฅธ ์˜ˆ๋ฅผ ๋”ฐ๋ฅด์‹ญ์‹œ์˜ค. ์›ํ•œ๋‹ค๋ฉด ์—ฌ๊ธฐ์— ์ฝ”๋“œ๋ฅผ ๋„ฃ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Angular language service color problem and solution

@dannymcgee @ayazhafiz ์ด ๋ฌธ์ œ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ์™€ ์ž‘์—…์ค‘์ธ ์ฝ”๋“œ๋ฒ ์ด์Šค์— ๋Œ€ํ•ด ๋ฌธ๋ฒ•์„ ํ…Œ์ŠคํŠธํ–ˆ์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€ ๊นจ์ง„ ๊ฒƒ์€ ์—†์œผ๋ฉฐ ๋ฌด์„œ์šด ์„ธ๋ฏธ์ฝœ๋ก ์„ ์ถ”๊ฐ€ ํ•  ํ•„์š”๋„ ์—†์Šต๋‹ˆ๋‹ค.

๋‚˜์ค‘์— as ์—ฐ์‚ฐ์ž์—๋„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

<ng-container *myDirective="{ results: results$ } as data"> <!-- it breaks here -->
      <!-- All the lines below are broken -->
      <my-component
        [ngClass]="myClass"

else ๊ตฌ๋ฌธ ๊ฐ•์กฐ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” <td mat-cell *matCellDef="let g; else"> ์„ (๋ฅผ) ์ง€๋‚˜์ณ ๋” ์˜ˆ๋ป์ง€๋Š” ํ•ดํ‚น์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค.

๊ทธ๋ƒฅ ๋“ค๋ ค, ๋‚˜๋„ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ œ๊ฑฐ ํ•  ๊ฒฝ์šฐ async as post ๊ทธ๋ƒฅ ์‚ฌ์šฉ async ๋ฉ€๋ฆฌ ๊ฐ„๋‹ค. ๊ทธ๋ฆฌ๊ณ  let i = index ๋˜๋Š” i as index . ์‹ค์ œ๋กœ ์ž‘๋™ํ•˜๋Š” ์†”๋ฃจ์…˜์ด ์•„๋‹™๋‹ˆ๋‹ค.

issue

  • ๊ฐ๋„ 9
  • Angular ์–ธ์–ด ์„œ๋น„์Šค v0.900.11

* ngFor ์ง€์‹œ๋ฌธ๊ณผ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉฐ *ngFor="let p of navItems ๋์— ; ์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๋‚˜๋จธ์ง€ ์„œ์‹์ด ์ˆ˜์ •๋œ๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋‚˜๋ฅผ ์œ„ํ•ด ์ผํ–ˆ๋‹ค
Capture

์ฒซ ๋ฒˆ์งธ "let sku"์—์„œ ; ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

* ngFor ์ง€์‹œ๋ฌธ๊ณผ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉฐ *ngFor="let p of navItems ๋์— ; ์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๋‚˜๋จธ์ง€ ์„œ์‹์ด ์ˆ˜์ •๋œ๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋‚˜๋ฅผ ์œ„ํ•ด ์ผํ–ˆ๋‹ค
Capture

์ฒซ ๋ฒˆ์งธ "let sku"์—์„œ ; ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

@ BO41 ๋ฐ @cpboyd ์™€ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์–ธ๊ธ‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

https://github.com/angular/vscode-ng-language-service/issues/575#issuecomment -580404727

https://github.com/angular/vscode-ng-language-service/issues/575#issuecomment -578128919

์ด ๋ฒ„๊ทธ๋ฅผ ๊ณ ์น˜๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ์–ด๋ ต์Šต๋‹ˆ๊นŒ? ํ˜„์žฌ ๋ฒ„์ „์—์„œ๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์„ ์ •๋„๋กœ ์„ฑ๊ฐ€ ์‹œ์ง€๋งŒ 21 ์ผ ๋™์•ˆ ์—ด๋ ค ์žˆ์Šต๋‹ˆ๋‹ค. ์•„์ง ์ด์ „ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์ง€๊ธˆ์€ ๊ดœ์ฐฎ์ง€ ๋งŒ ์šฐ์„  ์ˆœ์œ„๋ฅผ ๋†’์—ฌ์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๋งˆ์ผ€ํŒ…์ด ๋™์˜ํ•˜์ง€ ์•Š์Œ

Visual Studio Marketplace์˜ Angular ์–ธ์–ด ์„œ๋น„์Šค ํ™•์žฅ์ด ํฌ๊ฒŒ ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์„ฑ๋Šฅ ๋ฐ ์•ˆ์ •์„ฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ์œ„ํ•œ ์ฃผ์š” ์•„ํ‚คํ…์ฒ˜ ์ ๊ฒ€๊ณผ ํ•จ๊ป˜ ๋งŽ์€ ์˜ค๋žœ ๋ฒ„๊ทธ๋„ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์•„๋ฌด๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์„ ์ •๋„๋กœ ํ›จ์”ฌ ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜.

๊ณต๊ฐœ PR์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋ชจ๋‘ ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธฐ์—ฌ์ž์ž…๋‹ˆ๋‹ค!

๊ถ๊ธˆํ•œ ์‚ฌ๋žŒ์„์œ„ํ•œ PR์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. https://github.com/angular/vscode-ng-language-service/pull/609

์–‘ํ•ด ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. # 609์—์„œ์ด ๋ฌธ์ œ ๋ฅผ ์ˆ˜์ • ํ•œ @dannymcgee ์—๊ฒŒ ํฐ ๊ฐ์‚ฌ๋ฅผ ํ‘œ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ๋ฆด๋ฆฌ์Šค (0.900.14) ์ดํ›„์— ์ถ”๊ฐ€ ๊ตฌ๋ฌธ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๋‹ค๋ฅธ ๋ฌธ์ œ๋ฅผ์—ฌ์‹ญ์‹œ์˜ค.

0.900.14์˜ ETA๋Š” ์–ผ๋งˆ์ž…๋‹ˆ๊นŒ?

ํ—‰

v0.900.14๊ฐ€ ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค!
https://github.com/angular/vscode-ng-language-service/releases/tag/v0.900.14

์ด ๋ฌธ์ œ๋Š” ํ™œ๋™์ด ์—†์–ด ์ž๋™์œผ๋กœ ์ž ๊ฒผ์Šต๋‹ˆ๋‹ค.
์œ ์‚ฌํ•˜๊ฑฐ๋‚˜ ๊ด€๋ จ๋œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์ƒˆ๋กœ์šด ๋ฌธ์ œ๋ฅผ ์ œ์ถœํ•˜์‹ญ์‹œ์˜ค.

์ž๋™ ๋Œ€ํ™” ์ž ๊ธˆ ์ •์ฑ… ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด์‹ญ์‹œ์˜ค.

_์ด ์ž‘์—…์€ ๋ด‡์— ์˜ํ•ด ์ž๋™์œผ๋กœ ์ˆ˜ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค ._

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