Language-tools: Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ сСмантичСских Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π½Π΅ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ языкового сСрвСра.

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 18 янв. 2021  Β·  4ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: sveltejs/language-tools

ΠžΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ

Плагин VS Code Svelte v104.0.0 прСдставил ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ сСмантичСских Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ². По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ это Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ:

// The default
"svelte.plugin.typescript.semanticTokens.enable": true

... Однако это ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ замСдлСнию Π² Ρ„Π°ΠΉΠ»Π°Ρ… .svelte Π³Π΄Π΅ элСмСнт <script lang="ts"> состоит ΠΈΠ· большого количСства TypeScript (Π² ΠΌΠΎΠ΅ΠΌ случаС 2600 строк). Π―Π·Ρ‹ΠΊΠΎΠ²ΠΎΠΉ сСрвСр фактичСски пСрСстаСт ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚ΠΈΠΏΠΎΠ² Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠΈΠ½ΡƒΡ‚Ρƒ, Π° Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ подсказки Π·Π°Π²ΠΈΡΠ°ΡŽΡ‚ Π½Π° Β«Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ...Β» Π½Π° Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ врСмя.

Π’ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ

Π‘ установлСнным ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ VS Code Svelte v104.0.0 ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ "svelte.plugin.typescript.semanticTokens.enable": true создайтС Ρ„Π°ΠΉΠ» .svelte , скаТСм, с 2600 строками ΠΊΠΎΠ΄Π° TypeScript. Π‘ΠΎΠ·Π½Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ создайтС ΠΎΡˆΠΈΠ±ΠΊΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ компиляции ΠΈ посмотритС, ΠΊΠ°ΠΊ всС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ² Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для ΠΎΡ‚Π²Π΅Ρ‚Π°.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ настройки Π΄ΠΎ "svelte.plugin.typescript.semanticTokens.enable": false ΠΈ снова ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΠ½ снова Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΠ΅Ρ‚. НСт нСобходимости ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ языковой сСрвСр ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ VS Code, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ измСнСния.

ОТидаСмоС повСдСниС

.svelte Ρ„Π°ΠΉΠ»Ρ‹, содСрТащиС сцСнарии TypeScript, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹ΠΌΠΈ нСзависимо ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° сцСнариСв, ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ настройки для поддСрТания ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

БистСма (поТалуйста, Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ):

  • ОБ: macOS 10.15.7
  • IDE: VS Code 1.52.1
  • Плагин / ΠŸΠ°ΠΊΠ΅Ρ‚: Β«Svelte для VSCodeΒ»

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ контСкст

Как ΠΎΠ±ΡΡƒΠΆΠ΄Π°Π»ΠΎΡΡŒ с @dummdidumm Π½Π° Svelte Discord Π² #language-tools . Π’Π½ΠΈΠΌΠ°Π½ΠΈΡŽ @ jasonlyu123.

ΠžΡ‚ @dummdidumm Π² Discord:

dummdidumm: Π”Π°, сСмантичСскиС Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ„Π°ΠΉΠ»Π°Ρ…, Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ сопоставлСний исходных ΠΊΠ°Ρ€Ρ‚.
dummdidumm: @ jasonlyu09, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π°ΠΌ слСдуСт Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ограничСния для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² / Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ², ΠΏΠΎ сути, Π½Π΅ дСлая запрос, Ссли Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½Π½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ для Π°Π½Π°Π»ΠΈΠ·Π° становится слишком большим. Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ VS Code Π΄Π΅Π»Π°Π΅Ρ‚ Π½Π΅Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅.

ВсС 4 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π”Π°, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ TypeScript VSCode ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ»ΠΎ Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ 100000. Но я ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ», Ρ‡Ρ‚ΠΎ ΠΎΠ½ всС Π΅Ρ‰Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ для нас, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, ΠΈΠ·-Π·Π° сопоставлСния источников, я Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ я Π±Ρ‹ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ» Π΅Π³ΠΎ Π΄ΠΎ 50000;

Π”Π°, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ TypeScript VSCode ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ»ΠΎ Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ 100000. Но я ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ», Ρ‡Ρ‚ΠΎ ΠΎΠ½ всС Π΅Ρ‰Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ для нас, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, ΠΈΠ·-Π·Π° сопоставлСния источников, я Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ я Π±Ρ‹ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ» Π΅Π³ΠΎ Π΄ΠΎ 50000;

@ jasonlyu123 100 000 Ρ‡Π΅Π³ΠΎ? Мой Ρ„Π°ΠΉΠ» с 2600 строками содСрТит 128 292 символа, поэтому, Ссли ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ сСмантичСскиС Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ для Ρ„Π°ΠΉΠ»ΠΎΠ² с Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ 100 000 символов, ΠΎΠ½, ΠΏΠΎΡ…ΠΎΠΆΠ΅, этого Π½Π΅ Π΄Π΅Π»Π°Π» Π²ΠΎΠΎΠ±Ρ‰Π΅.

Π₯отя, Ссли Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ Π΄Π»ΠΈΠ½Π΅ Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ сгСнСрированного Ρ„Π°ΠΉΠ»Π° (Π² вашСм PR упоминаСтся TSX, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, это Ρ‚Π°ΠΊ), Π° Π½Π΅ ΠΎ самом источникС, я Π½Π΅ знаю, ΠΊΠ°ΠΊΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ ΠΌΠΎΠΈ сгСнСрированныС Ρ„Π°ΠΉΠ»Ρ‹.

Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹, Ссли Ρ„Π°ΠΉΠ» js / ts ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ этот символ, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ машинописного тСкста Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹Π΅ сСмантичСскиС Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ Ρ„Π°ΠΉΠ»Π°. Π― ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π» Π½ΠΎΠΌΠ΅Ρ€ Π½Π° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΈ svelte Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, Π½ΠΎ ΠΎΠ½ всС Π΅Ρ‰Π΅ каТСтся слишком ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΌ.

БущСствуСт нСсколько Ρ‚ΠΈΠΏΠΎΠ² запросов сСмантичСских Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ языковой сСрвСр. Π’ настоящСС врСмя ΠΌΡ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΈ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ машинописного тСкста. Насколько я понимаю, ΠΏΠΎΡ…ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ vscode Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½ΠΆΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» нСдоступСн. А ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ - это ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ†Π²Π΅Ρ‚Π° ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π²Π½ΠΈΠ·.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ½ Π·Π°ΠΊΡ€Ρ‹Ρ‚. Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ, Ссли ΠΎΠ½ снова Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ сСмантичСских Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ².

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ