Language-tools: VSCode рдореЗрдВ рдСрдЯреЛ рдЖрдпрд╛рдд рдЕрд╕рдВрдЧрдд рд╣реИрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 9 рдЬреБрд▓ре░ 2020  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: sveltejs/language-tools

рдмрдЧ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ
рдпрд╣ рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рд╕реМрдВрджрд░реНрдпрд╡рд╛рджреА рд╣реИред VScode рдореЗрдВ рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдШрдЯрдХ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╕рдордп, рдирдП рдЖрдпрд╛рдд рдареАрдХ рд╕реЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдирд╣реАрдВ рдЬреЛрдбрд╝реЗ рдЬрд╛рддреЗ рд╣реИрдВред

  • рд╡реЗ рдореМрдЬреВрджрд╛ рдЖрдпрд╛рдд _рдКрдкрд░_ рдбрд╛рд▓реЗ рдЧрдП рд╣реИрдВред
  • рдЙрдиреНрд╣реЗрдВ .ts рдФрд░ .svelte рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдбрд╛рд▓рд╛ рдЧрдпрд╛ рд╣реИред
  • рд╡реЗ рд╕рдВрдкрд╛рджрдХ рдХреА рдмреЛрд▓реА рд╢реИрд▓реА рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреА рдЙрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВред

    • рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, VSCode рдореЗрдВ typescript.preferences.quoteStyle: single рдХреЗ рд╕рд╛рде, рдЖрдпрд╛рдд рдЕрднреА рднреА рджреЛрд╣рд░реЗ рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред

  • рдЙрдирдореЗрдВ рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдХреА рдХрдореА рд╣реИред

рдкреНрд░рдЬрдирди рдХрд░рдирд╛
sveltejs/template рд╕реЗ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ, рдПрдХ рдЦрд╛рд▓реА Test.svelte рдШрдЯрдХ рдмрдирд╛рдПрдВ, рдФрд░ рдСрдЯреЛ рдЗрд╕реЗ App.svelte рдореЗрдВ рдЖрдпрд╛рдд рдХрд░реЗрдВред рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ, рдЖрдк рдпрд╣ рднреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ .ts рдлрд╛рдЗрд▓реЛрдВ рд╕реЗ рдЖрдпрд╛рдд рдмрд┐рдирд╛ рдХрд┐рд╕реА рдирдИ рд▓рд╛рдЗрди рдХреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреИрдЧ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред

Example

рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдСрдЯреЛ рдЖрдпрд╛рдд рдареАрдХ рдЙрд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдЬреИрд╕реЗ рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп .ts рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреИрдЧ рдХреЗ рдХрд╛рд░рдг рдХреБрдЫ рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдХреЗ рд╕рд╛рдеред

  • рдЙрдЪрд┐рдд рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдХреЗ рд╕рд╛рде рдбрд╛рд▓реЗрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдореМрдЬреВрджрд╛ рдЖрдпрд╛рддреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ред
  • рдореМрдЬреВрджрд╛ рдЖрдпрд╛рдд рдХреЗ рдиреАрдЪреЗ рдбрд╛рд▓реЗрдВред
  • рд╕рднреА рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рд▓рдЧрд╛рддрд╛рд░ рдбрд╛рд▓реЗрдВред
  • рдпрджрд┐ рдЙрдкрд▓рдмреНрдз рд╣реЛ рддреЛ рд╕рдВрдкрд╛рджрдХ рдХреА рдмреЛрд▓реА рд╢реИрд▓реА рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВред

рдореЗрд░рд╛ рдХреЛрдб рдмрд┐рдирд╛ рдХрд┐рд╕реА рдореИрдиреБрдЕрд▓ рдХрд╛рдо рдХреЗ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛:

<script lang="ts">
    import Test from './Test.svelte';
    import { testStore } from './test';

    export let name;
</script>

рд╕рд┐рд╕реНрдЯрдо (рдХреГрдкрдпрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдкреВрд░рд╛ рдХрд░реЗрдВ):

  • рдУрдПрд╕: рд╡рд┐рдВрдбреЛрдЬ 10
  • рдЖрдИрдбреАрдИ: рд╡реАрдПрд╕рд╕реАрдУрдбреА, 1.46.1
  • рдкреНрд▓рдЧрдЗрди/рдкреИрдХреЗрдЬ: VSCode рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╛рдкрдХ, резрежрез.рез.рез

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рдЕрдВрджрд░ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рджреМрд░рд╛рди, рд╕реЙрд▓реНрд╡реЗрдЯ рдХрдВрдкрд╛рдЗрд▓рд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдлреЗрдВрдХ рджреЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЙрд╕ рд╕рдордп рдХреЛрдб рдЕрдорд╛рдиреНрдп рд╣реИред рдЗрд╕ рддрд░рд╣ svelte2tsx рдПрдХ рд╡реИрдз tsx рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдХреЗрд╡рд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреИрдЧ рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕ рдЖрддреЗ рд╣реИрдВред рдпрджрд┐ рдкрд╛рд░реНрд╕рд░ рд╡реИрдз рдХреЛрдб рдЖрдЙрдЯрдкреБрдЯ рдХрд░рддрд╛ рд╣реИ, рддреЛ svelte2tsx рдПрдХ рдкрд░рд┐рд╡рд░реНрддрд┐рдд tsx рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░реЗрдЧрд╛ред рдпрд╣ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдмрд┐рдВрджреБ рдкрд░ рдЖрдпрд╛рдд рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрддреНрдкрдиреНрди tsx рд╕реЗ рдореВрд▓ svelte рддрдХ рд╣рдорд╛рд░реА рдореИрдкрд┐рдВрдЧ рдЗрд╕реЗ рд╢реАрд░реНрд╖ рдкрд░ рдЖрдпрд╛рдд рдХрд░рддреА рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдо рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдЕрдЪреНрдЫреЗ рддрд░реАрдХреЗ рд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡рд░реАрдпрддрд╛рдУрдВ (рдЙрджреНрдзрд░рдг рд╢реИрд▓реА) рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдк "рдЖрдпрд╛рдд рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░реЗрдВ" рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд╕реБрдВрджрд░ рд╕реНрд╡рд░реВрдкрдг рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдФрд░ рдЙрджреНрдзрд░рдг рд╢реИрд▓рд┐рдпреЛрдВ рдХрд╛ рдзреНрдпрд╛рди рд░рдЦреЗрдЧрд╛ред

рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдФрд░ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж @dummdidumm ! ЁЯШД

рдпрджрд┐ рдЙрдиреНрд╣реЗрдВ рдореМрдЬреВрджрд╛ рдЖрдпрд╛рддреЛрдВ рдХреЗ рдиреАрдЪреЗ рдбрд╛рд▓рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЗрд╕ рд╕рдордп рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕ рдкрд░ рдПрдХ рдмрдбрд╝рд╛ рд╕реБрдзрд╛рд░ рд╣реЛрдЧрд╛ред рд╡рд┐рд╕реНрддрд╛рд░ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реЛрдЧрд╛ (рдЬреИрд╕реЗ рд╡реАрдбрд┐рдпреЛ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ), рдФрд░ рдЗрд╕рд╕реЗ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЖрдпрд╛рдд рд▓рдЧрд╛рддрд╛рд░ рдорд╣рд╕реВрд╕ рд╣реЛрдЧрд╛ (рд╢реАрд░реНрд╖ рдкрд░ рдирд╡реАрдирддрдо рдЖрдпрд╛рдд рдХреЛ рджреЗрдЦрдирд╛ рдЕрд╕рд╛рдорд╛рдиреНрдп рд╣реИ)ред

рдореИрдВрдиреЗ рдЕрднреА рддреАрди рдЖрдпрд╛рддреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ ( test , test2 , test3 рдЙрд╕ рдХреНрд░рдо рдореЗрдВ) Vetur рдХреЗ рд╕рд╛рде рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рд╣реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдбрд╛рд▓рд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣рд╛рдБ рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдо рд╣реИрдВ:

рд╡реЗрддреБрд░:

<script lang="ts">
  import Vue from 'vue';
import { testStore1 } from './test';
import { testStore2 } from './test2';
import { testStore3 } from './test3';

  export default Vue.extend({ /*...*/ });
</script>

VSCode рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╛рдкрдХ:

<script lang="ts">import { testStore3 } from "./test3";
import { testStore2 } from "./test2";

import { testStore } from "./test";


    export let name: string;

</script>

рдЬреЗрдПрд╕/рдЯреАрдПрд╕ рдореЗрдВ рдПрдХ рдФрд░ рд╕рдорд╕реНрдпрд╛ рд╣реИред рд╕реЛрд░реНрд╕рдореИрдк рдЕрдВрддрд┐рдо рдЖрдпрд╛рдд рдХреА рдЕрдЧрд▓реА рдкрдВрдХреНрддрд┐ рдХреЛ рдЙрд╕рдХреА рдореВрд▓ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдореИрдк рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

shirakaba picture shirakaba  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

opensas picture opensas  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

MDoder97 picture MDoder97  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

koddr picture koddr  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

johanbissemattsson picture johanbissemattsson  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ