ΠΠ΅ΡΡΠΈΡ 1.0.0 β ΡΡΠ±Π΅ΠΆΠ½ΡΠΉ ΡΠ΅Π»ΠΈΠ·. ΠΡΠ½ΠΎΠ²ΠΎΠΉ ΡΡΠ°Π»Π° ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π½ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΈΠΏΠΎΠ², Π½Π°Π΄Π΅Π»ΡΡΡΠ°Ρ ΡΠ΅ΡΠ²Π΅Ρ Π·Π½Π°Π½ΠΈΡΠΌΠΈ ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠΈΠΏΠ°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΈ Π΄Π²ΠΈΠΆΠΊΠ° OneScript, ΠΈ ΡΠΌΠ΅ΡΡΠ°Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΠΈΠΏΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ². Π‘ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° LSP β Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ° ΠΏΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ, ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ ΡΠΈΠΏΠΎΠ² ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ (Π²ΠΏΠ»ΠΎΡΡ Π΄ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ LSP 3.18). ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΡΠ°Π±ΠΎΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ MCP-ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ ΡΠΎΠ±ΡΠ°Π½ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
ΠΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΈΠΏΠΎΠ²
Π‘Π΅ΡΠ΄ΡΠ΅ ΡΠ΅Π»ΠΈΠ·Π° β Π·Π°Π½ΠΎΠ²ΠΎ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΈΠΏΠΎΠ² (model, registry, inferencer, TypeService).
ΠΡΠΎ Π΅Π΄ΠΈΠ½ΡΠΉ ΡΠ»ΠΎΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π½Π°Π΅Ρ ΠΎΠ±ΠΎ Π²ΡΠ΅Ρ
ΡΠΈΠΏΠ°Ρ
ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΡΠΌΠ΅Π΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΠΈΠΏ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠ΅ ΠΊΠΎΠ΄Π°. ΠΠ° Π½ΡΠΌ ΠΏΠΎΡΡΡΠΎΠ΅Π½Ρ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ° ΠΏΡΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ, Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ ΠΏΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ, ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ° ΠΈ Π½ΠΎΠ²ΡΠ΅ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ.
- ΠΠ΄ΠΈΠ½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΈ ΡΠ΅Π΅ΡΡΡ ΡΠΈΠΏΠΎΠ². Π’ΠΈΠΏΡ ΡΠΎΠ±ΠΈΡΠ°ΡΡΡΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² Π² ΠΎΠ±ΡΠΈΠΉ ΡΠ΅Π΅ΡΡΡ:
- ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΏΡ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ (ΡΠ΅ΡΠ΅Π·
bsl-context) ΠΈΠ· ΡΠΈΠ½ΡΠ°ΠΊΡ-ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊΠ° Π½Π° Π²Π°ΡΠ΅ΠΉ ΠΌΠ°ΡΠΈΠ½Π΅; - ΡΠΈΠΏΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ (ΡΠ΅ΡΠ΅Π·
MDClasses) β ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡΡ ΠΈ Ρ.ΠΏ.; - ΡΠΈΠΏΡ OneScript ΠΈΠ· ΡΠΈΠ½ΡΠ°ΠΊΡ-ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊΠ° OneScript 2.1, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ OScript-ΠΊΠ»Π°ΡΡΡ.
- ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΏΡ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ (ΡΠ΅ΡΠ΅Π·
- ΠΡΠ²ΠΎΠ΄ ΡΠΈΠΏΠΎΠ² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ (inference). Π‘Π΅ΡΠ²Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ/Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ ΠΊΡΡΡΠΎΡΠΎΠΌ Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΏΠΎ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ, ΠΏΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ (Π²ΠΊΠ»ΡΡΠ°Ρ ΠΌΠ΅ΠΆΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄) ΠΈ ΠΏΠΎ ΠΏΠΎΠ»ΡΠΌ ΡΡΡΡΠΊΡΡΡ, ΡΠΎΡΠΌΠΈΡΡΠ΅ΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ-ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠΌ.
- Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΡ
ΡΠ»Π΅Π½ΠΎΠ². ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π²ΠΈΠ΄Π°
Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΈ.ΠΠΌΡΠ‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ°.ΠΠΌΡΠΠ΅ΡΠΎΠ΄Π°ΠΠΎΠ·Π²Π°ΡΠ°ΡΡΠ΅Π³ΠΎΠ‘ΡΡΡΠΊΡΡΡΡ().ΠΠΎΠ»Π΅Π‘ΡΡΡΠΊΡΡΡΡ. ΠΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΡΡΠΎΠΉ ΡΠ΅ΠΏΠΎΡΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΈ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠΈΠ΅ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ ΠΈ Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. - Π’ΠΈΠΏΠΈΠ·Π°ΡΠΈΡ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΡΡΠΎΠ²Π½Ρ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
. Π‘ΡΡΠ»ΠΊΠΈ
ΡΠΌ.ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ-ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡΡΡ Π² ΡΠΈΠΏΡ. - ΠΠΎΠ»Ρ ΡΡΡΡΠΊΡΡΡΡ ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΡΠ°Π±Π»ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. ΠΠ»Ρ ΡΡΡΡΠΊΡΡΡ ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΡΠ°Π±Π»ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π²Π΅Π΄Π΅ΡΡΡ Π°Π½Π°Π»ΠΈΠ· ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΡΡΡΠ΅ΠΌ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ, ΡΠ°ΠΊ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΡ ΡΠ²Π½ΠΎ Π² ΠΊΠΎΠ΄Π΅.
- Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΈΠΊΠ»Π°
ΠΠ»Ρ ΠΠ°ΠΆΠ΄ΠΎΠ³ΠΎΠ²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠΈΠΏ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ. ΠΡΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎΠΠ°ΡΡΠΈΠ² ΠΈΠ· Π§ΠΈΡΠ»ΠΎΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ§ΠΈΡΠ»ΠΎΠ² ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ-ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠ°. - ΠΠΈΠ»ΠΈΠ½Π³Π²Π°Π»ΡΠ½ΠΎΡΡΡ. ΠΠΎΠ»Π½ΠΎΡΠ΅Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΡΡΠΊΠΈΡ ΠΈ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΡ ΠΈΠΌΡΠ½ ΡΠΈΠΏΠΎΠ² ΠΈ ΡΠ»Π΅Π½ΠΎΠ²: Π΄Π²ΡΡΠ·ΡΡΠ½ΠΎΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°Ρ ΠΏΡΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ, Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΈ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°Ρ ΠΏΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ; ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠΌΠ΅ΡΠ°Π½Π½ΡΡ ΠΈΠΌΡΠ½; ΠΏΠΎΠΊΠ°Π· ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π½Π° Β«ΡΠ²ΠΎΡΠΌΒ» ΡΠ·ΡΠΊΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Π° (BSL/OneScript).
- ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ, async ΠΈ Π²Π°ΡΠΈΠ°Π΄ΠΈΠΊ-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ. ΠΡΠ΄Π΅Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ½ΡΡΠΈΠ΅ Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° OScript-ΠΊΠ»Π°ΡΡΠ°; ΡΡΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°
ΠΡΠΈΠ½ΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΉ ΠΈ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²; ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° variadic-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² ΠΌΠ΅ΡΠΎΠ΄Π°Ρ (ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΠΌΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΊΠ°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Π‘ΡΡΠ¨Π°Π±Π»ΠΎΠ½). - ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° OneScript ΠΊΠ°ΠΊ ΡΠ·ΡΠΊΠ° ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. Π ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΈΠΏΠΎΠ² Π·Π°Π²Π΅Π΄Π΅Π½Ρ ΠΏΠΎΠ½ΡΡΠΈΡ ΠΠ»Π°ΡΡΠ° ΠΈ ΠΠΎΠ΄ΡΠ»Ρ OneScript, Π° ΡΠ°ΠΊ ΠΆΠ΅ ΠΏΠΎΠ½ΡΡΠΈΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΠΎΠΉ "Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ" Ρ Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ lib.config ΠΈ "ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°Ρ ".
- ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ. ΠΠ»Π°ΡΡΡ OneScript Ρ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠ΅ΠΉ
&ΠΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΡΡΡΡ ΠΊΠ°ΠΊ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ β Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠΈΠΏ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΈ ΠΎΠ±Ρ ΠΎΠ΄Π΅ΠΠ»Ρ ΠΠ°ΠΆΠ΄ΠΎΠ³ΠΎ. - Π‘Π΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ° Π½Π° Π±Π°Π·Π΅ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΈΠΏΠΎΠ². ΠΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ° ΡΠ΅ΠΏΠ΅ΡΡ Π±ΠΎΠ³Π°ΡΠ΅ ΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΡΠ°Π·Π»ΠΈΡΠ°Π΅Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ, Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠ΅ ΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Β«ΠΠ‘Π΅Π½ΡΒ» (Autumn)
ΠΠΎΠ²Π΅ΡΡ Π½ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΈΠΏΠΎΠ² Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° DI-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Β«ΠΠ‘Π΅Π½ΡΒ» (Autumn) Π΄Π»Ρ OneScript: ΡΠ΅ΡΠ²Π΅Ρ ΡΠ°ΡΠΏΠΎΠ·Π½Π°ΡΡ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°, ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΡΠ΅Ρ ΠΆΠ΅Π»ΡΠ΄ΠΈ ΠΈ ΡΠΎΡΠΊΠΈ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ, ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΈΠΏΡ Π²Π½Π΅Π΄ΡΡΠ΅ΠΌΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ - Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠ΅ΠΌΡ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ Β«ΠΠ‘Π΅Π½ΠΈΒ» ΡΠ°Π±ΠΎΡΠ°ΡΡ Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠΈΠ΅ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Ρ.
- ΠΡΠ²ΠΎΠ΄ ΡΠΈΠΏΠΎΠ² Π²Π½Π΅Π΄ΡΡΠ΅ΠΌΡΡ
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ (DI). ΠΡΠ²ΠΎΠ΄ ΡΠΈΠΏΠΎΠ² Π΄Π»Ρ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΉ
&ΠΠ»Π°ΡΡΠΈΠ»ΠΈΠ½, ΠΊΠ°ΠΊ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΆΠ΅Π»ΡΠ΄Ρ, ΡΠ°ΠΊ ΠΈ ΠΏΡΠΈ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ. - ΠΠ½Π½ΠΎΡΠ°ΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΈ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ ΠΠ΅ΡΠ°-Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ (
&ΠΠΎΠ³,&ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ, killjoy ΠΈ Π΄Ρ.) ΡΠ°ΡΠΏΠΎΠ·Π½Π°ΡΡΡΡ ΠΈ Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠΈΠΏΡ. &ΠΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠΠ»Ρ(AliasFor) ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΠΈΠΏΠΎΠ² Π²Π½Π΅Π΄ΡΡΠ΅ΠΌΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ.- ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ ΠΏΠΎ ΠΆΠ΅Π»ΡΠ΄ΡΠΌ. ΠΠ²ΡΠ½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΆΠ΅Π»ΡΠ΄Ρ ΠΈΠ»ΠΈ Π·Π°Π²ΡΠ·ΠΈ, ΠΈ ΡΠΎΡΠΊΠ°ΠΌΠΈ Π΅Π³ΠΎ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ: Π½ΠΎΠ²ΡΠ΅ ΠΊΠΎΠ΄-Π»ΠΈΠ½Π·Ρ ΠΈ Π±ΡΡΡΡΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ extends (OneScript)
ΠΠΎΠ²Π΅ΡΡ
Π½ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΈΠΏΠΎΠ² ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ extends Π΄Π»Ρ OneScript: ΡΠ΅ΡΠ²Π΅Ρ ΡΠ°ΡΠΏΠΎΠ·Π½Π°ΡΡ Π΅Ρ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ ΠΈ ΡΡΡΠΎΠΈΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΉ ΡΠΈΠΏΠΎΠ², Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ ΠΊ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΠΌ ΠΈ ΠΈΠ΅ΡΠ°ΡΡ
ΠΈΡ ΡΠΈΠΏΠΎΠ².
- ΠΠ½Π½ΠΎΡΠ°ΡΠΈΠΈ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ. Π Π°ΡΠΏΠΎΠ·Π½Π°ΡΡΡΡ
&Π Π°ΡΡΠΈΡΡΠ΅Ρ(extends),&Π Π΅Π°Π»ΠΈΠ·ΡΠ΅Ρ(implements) ΠΈ&ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ(interface); ΠΏΠΎ Π½ΠΈΠΌ Π²ΡΡΡΡΠ°ΠΈΠ²Π°ΡΡΡΡ ΡΠ²ΡΠ·ΠΈ Β«ΡΡΠΏΠ΅ΡΡΠΈΠΏ β ΠΏΠΎΠ΄ΡΠΈΠΏΒ» ΠΈ Β«ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ β ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΒ». - ΠΠ΅ΡΠ΅Ρ
ΠΎΠ΄ ΠΊ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΠΌ (
textDocument/implementation) β ΠΎΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° (&ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ) ΠΊΠΎ Π²ΡΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠΈΠΌΡΠ½Π½ΡΠΌ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΡ Π΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠΎΠ² (&Π Π΅Π°Π»ΠΈΠ·ΡΠ΅Ρ). - ΠΠ΅ΡΠ°ΡΡ
ΠΈΡ ΡΠΈΠΏΠΎΠ² (
textDocument/prepareTypeHierarchy,typeHierarchy/supertypes,typeHierarchy/subtypes) β Π΄Π΅ΡΠ΅Π²ΠΎ ΡΡΠΏΠ΅ΡΡΠΈΠΏΠΎΠ² ΠΈ ΠΏΠΎΠ΄ΡΠΈΠΏΠΎΠ² ΠΏΠΎ&Π Π°ΡΡΠΈΡΡΠ΅Ρ/&Π Π΅Π°Π»ΠΈΠ·ΡΠ΅Ρ, ΡSymbolKind.InterfaceΠ΄Π»Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ².
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° LSP
ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ docs/capabilities.
Π‘Π°ΠΌΠ° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½Π° β ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π½ΠΎΠ²ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΠΈ ΡΠ»ΡΡΡΠ΅Π½Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅, Π²ΠΏΠ»ΠΎΡΡ Π΄ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ LSP 3.17/3.18.
ΠΠΎΠ²ΡΠ΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π·Π°ΠΏΡΠΎΡΠ°
textDocument/completionΠΈcompletionItem/resolveβ Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°: Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² (Ρ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ ΡΠΈΠΏΠ°), ΡΠΈΠΏΡ ΠΏΠΎΡΠ»Π΅ΠΠΎΠ²ΡΠΉ, ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π° ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅; Π½Π΅ΡΡΡΠΊΠΈΠΉ ΠΏΠΎΠΈΡΠΊ (ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ° ΠΈ ΠΏΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ), ΡΠ°Π½ΠΆΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π·sortText, ΡΠΈΠ³Π½Π°ΡΡΡΠ° ΠΈ ΡΠΈΠΏ Π²labelDetails(LSP 3.17),commitCharacters, ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π½Π°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΡΠ΅ΡΠ΅Π· resolve, ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΡΡΡΠΎΡΠ° ΠΏΠΎΡΠ»Π΅ ΡΠΊΠΎΠ±ΠΎΠΊ. - ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π·Π°ΠΏΡΠΎΡΠ°
textDocument/signatureHelpβ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ° ΠΏΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠΎΠΉ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΈ ΡΡΡΡΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ (labelOffset,documentationFormat, ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ retrigger). - ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π·Π°ΠΏΡΠΎΡΠ°
inlayHint/resolveβ ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ Π½Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ-Π²ΡΡΠ°Π²ΠΊΠΈ (Π² v0.29.0 Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π»ΡΡ). - ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π·Π°ΠΏΡΠΎΡΠ°
textDocument/implementationβ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΊ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΠΌ (ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°LocationLink); ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ β Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Β«ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡextendsΒ». - ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π·Π°ΠΏΡΠΎΡΠΎΠ²
textDocument/prepareTypeHierarchy,typeHierarchy/supertypesΠΈtypeHierarchy/subtypesβ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ ΡΠΈΠΏΠΎΠ²; ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ β Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Β«ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡextendsΒ». - ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π·Π°ΠΏΡΠΎΡΠ°
textDocument/linkedEditingRangeβ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΈ Π²ΡΠ΅Ρ Π΅Π³ΠΎ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ Π±Π΅Π· Π²ΡΠ·ΠΎΠ²Π° ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ. - ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π·Π°ΠΏΡΠΎΡΠ°
textDocument/onTypeFormattingβ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π½Π°Π±ΠΎΡΠ° (ΡΠ»Π°Π³useOnTypeFormatting). - ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π·Π°ΠΏΡΠΎΡΠ°
textDocument/rangesFormattingβ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² (LSP 3.18). - ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π·Π°ΠΏΡΠΎΡΠ°
textDocument/prepareRenameβ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΡPrepareRenameResultΠΈ placeholder. - ΠΠ±ΡΡΠ²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΡΠ°Π±ΠΎΡΠΈΡ
ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² β
workspace/didChangeWorkspaceFolders(workspaceFolders.supportedΠΈchangeNotifications): Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ workspace folders (ΡΠΌ. ΡΠ°Π·Π΄Π΅Π» Β«ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ°Π±ΠΎΡΠΈΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Β»). - ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π½Π°Π΄ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ
workspace/didCreateFiles,workspace/didRenameFiles,workspace/didDeleteFiles(ΡΠΈΠ»ΡΡΡΡ**/*.bsl,**/*.os, ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ) ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π½Π°Π±Π»ΡΠ΄Π°ΡΠ΅Π»Π΅ΠΉ Π·Π° ΡΠ°ΠΉΠ»Π°ΠΌΠΈ (didChangeWatchedFiles) ΡΠ΅ΡΠ΅Π·RelativePattern. - Π―Π²Π½ΠΎ Π΄Π΅ΠΊΠ»Π°ΡΠΈΡΡΠ΅ΡΡΡ
positionEncoding=utf-16.
Π£Π»ΡΡΡΠ΅Π½ΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ²
textDocument/inlayHintβ Π½ΠΎΠ²ΡΠ΅ Π²ΠΈΠ΄Ρ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΎΠΊ-Π²ΡΡΠ°Π²ΠΎΠΊ: ΠΈΠΌΠ΅Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠ² (ΠΠΎΠ²ΡΠΉ ΠΠ»Π°ΡΡ()), Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠΈΠΏΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠΎΠΏΡΡΠ΅Π½Π½ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²; ΠΊΠ»ΠΈΠΊΠ°Π±Π΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΡΡΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ (LabelPart); ΡΡΠΊΠΎΡΠ΅Π½ ΡΠ°ΡΡΡΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΎΠΊ ΠΈΠΌΡΠ½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² (ΡΡΡΡΠ°Π½ΡΠ½ ΠΊΠ²Π°Π΄ΡΠ°ΡΠΈΡΠ½ΡΠΉ ΠΎΠ±Ρ ΠΎΠ΄ AST).textDocument/foldingRangeβ ΡΠ²ΠΎΡΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ Π²Π΅ΡΠ²Π΅ΠΉΠΠ½Π°ΡΠ΅ΠΡΠ»ΠΈ/ΠΠ½Π°ΡΠ΅ΠΈ Π±Π»ΠΎΠΊΠ°ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, Π±Π»ΠΎΠΊΠΎΠ²#ΠΡΡΠ°Π²ΠΊΠ°/#Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ, ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΡΠΉcollapsedText, ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ³ΠΎrangeLimit.textDocument/documentLinkβ ΠΊΠ»ΠΈΠΊΠ°Π±Π΅Π»ΡΠ½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ -Π‘ΠΌ./SeeΠΊ ΡΠΏΠΎΠΌΡΠ½ΡΡΠΎΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Ρ/ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΌΡ ΡΠΈΠΏΡ, ΠΎΡΠΊΡΡΡΠΈΠ΅ http(s)-ΡΡΡΠ»ΠΎΠΊ.textDocument/documentHighlightβ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ° Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² Ρ Π²ΠΈΠ΄ΠΎΠΌ Read/Write,kind=TextΠ΄Π»Ρ ΠΏΠ°ΡΠ½ΡΡ Π»Π΅ΠΊΡΠ΅ΠΌ.textDocument/documentSymbolβdetailΡ ΡΠΈΠ³Π½Π°ΡΡΡΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π°.workspace/symbolβ ΠΏΠΎΠΈΡΠΊ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΏΠΎ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π½:- ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Ρ ΡΠ°Π½ΠΆΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡΠ΅Π»Π΅Π²Π°Π½ΡΠ½ΠΎΡΡΠΈ; Π²ΡΠ΄Π°ΡΠ° Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΡΡΠ΅ΠΊΠ°Π΅ΡΡΡ Β«Π²ΡΠ»Π΅ΠΏΡΡΒ»;
- ΠΏΡΠ΅ΡΠΈΠΊΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ ΠΊΠ°ΠΊ ΠΏΠΎ Π½Π°ΡΠ°Π»Ρ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ, ΡΠ°ΠΊ ΠΈ ΠΏΠΎ Π½Π°ΡΠ°Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°: Π·Π°ΠΏΡΠΎΡ
ΠΠΎΠΊΠ½Π°Ρ ΠΎΠ΄ΠΈΡΠΡΠΎΠ²Π΅ΡΡΠΈΠΠΎΠΊΡΠΌΠ΅Π½Ρ(ΠΈΠΌΠ΅Π½Π° 1Π‘ ΠΏΠΈΡΡΡΡΡ Π² CamelCase, ΠΊΠΈΡΠΈΠ»Π»ΠΈΡΠ° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°Π½Π°); - ΠΌΠ½ΠΎΠ³ΠΎΡΠ»ΠΎΠ²Π½ΡΠΉ camel-hump-ΠΏΠΎΠΈΡΠΊ (Β«ΡΠ°ΠΉΡΠ»-ΠΊΠ΅ΠΉΡ-Ρ
ΠΎΠΏΒ») β Π·Π°ΠΏΡΠΎΡ
ΠΡΠΠΎΠΊΠ½Π°Ρ ΠΎΠ΄ΠΈΡΠΡΠΎΠ²Π΅ΡΡΠΈΠΠΎΠΊΡΠΌΠ΅Π½Ρ(ΠΡΠΎΠ²Π΅ΡΡΠΈ+ΠΠΎΠΊΡΠΌΠ΅Π½Ρ); ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ Β«ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ ΡΠ»ΠΎΠ²Β» ΡΠ°Π½ΠΆΠΈΡΡΡΡΡΡ Π²ΡΡΠ΅ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ Β«Π²ΡΠ°Π·Π±ΡΠΎΡΒ»; - ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠ΅Π»Π΅Π²Π°Π½ΡΠ½ΠΎΡΡΠΈ: ΡΠΎΡΠ½ΠΎΠ΅ ΠΈΠΌΡ β ΠΏΡΠ΅ΡΠΈΠΊΡ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ β ΠΌΠ½ΠΎΠ³ΠΎΡΠ»ΠΎΠ²Π½ΠΎΠ΅ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ β ΠΏΡΠ΅ΡΠΈΠΊΡ ΡΠ»ΠΎΠ²Π° ΠΈΠ· ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Ρ ΠΈΠΌΠ΅Π½ΠΈ β ΠΌΠ½ΠΎΠ³ΠΎΡΠ»ΠΎΠ²Π½ΠΎΠ΅ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ;
- ΠΏΠΎΡΠΎΠΊΠΎΠ²Π°Ρ Π²ΡΠ΄Π°ΡΠ° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² (partial results,
$/progress): ΡΠ½Π°ΡΠ°Π»Π° Π±ΡΡΡΡΡΠΉ Π½Π°Π±ΠΎΡ ΠΈΠ· ΠΈΠ½Π΄Π΅ΠΊΡΠ°, Π·Π°ΡΠ΅ΠΌ Π½ΠΈΠΆΠ½Π΅ΡΠ°Π½ΠΆΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ fuzzy-Ρ Π²ΠΎΡΡ (ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ° Π²Π½ΡΡΡΠΈ ΡΠ»ΠΎΠ²Π° ΠΈ ΡΠ°Π·Π±ΡΠΎΡΠ°Π½Π½Π°Ρ ΠΏΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ) Π΄ΠΎΡΡΠ»Π°Π΅ΡΡΡ ΡΠ°Π½ΠΊΠ°ΠΌΠΈ; Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² Π±Π΅Π· ΠΏΠΎΡΠΎΠΊΠΎΠ²ΠΎΠΉ Π²ΡΠ΄Π°ΡΠΈ β ΡΠ»Π°Π³workspaceSymbol.syncFuzzySearch(ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΡΠΊΠ»ΡΡΠ΅Π½); - ΠΏΠΎΠΈΡΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΡΠ°Π·Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ workspace folders (ΡΠΌ. ΡΠ°Π·Π΄Π΅Π» Β«ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ°Π±ΠΎΡΠΈΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Β»);
- Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅
containerName, ΠΎΡΠΌΠ΅Π½Π° Π·Π°ΠΏΡΠΎΡΠ° ΡΠ΅ΡΠ΅Π·CancelChecker, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉ ΠΎΡΠΊΠ°Ρ Π½Π° Π±ΡΠΊΠ²Π°Π»ΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ ΠΏΡΠΈ Π½Π΅Π²Π°Π»ΠΈΠ΄Π½ΠΎΠΌ regex.
textDocument/codeActionβ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°source.fixAll(Π°Π²ΡΠΎΠΏΠΎΡΠΈΠ½ΠΊΠ° ΠΏΡΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠΈ) ΠΈ ΡΡΡΡcontext.triggerKind.textDocument/renameβWorkspaceEditΠ½Π°documentChangesΠΈChangeAnnotation, Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ, Π·Π°ΡΠΈΡΠ° ΠΎΡ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²-ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ.textDocument/formattingβ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°insertFinalNewlineΠΈtrimFinalNewlines.textDocument/referencesβ ΡΡΡΡcontext.includeDeclaration.textDocument/definitionβ ΡΡΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈlinkSupport(LocationLink).textDocument/prepareCallHierarchyβ ΡΠ°ΡΠΊΡΡΡΠΈΠ΅ ΡΠ·Π»Π° ΠΊΠΎΠ΄Π° ΠΌΠΎΠ΄ΡΠ»Ρ Π² ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ Π²ΡΠ·ΠΎΠ²ΠΎΠ².textDocument/hoverβ ΠΏΠΎΠΊΠ°Π· Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ/Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΏΡΠΈΠ·Π½Π°ΠΊΠ° Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° (Β«?Β»), ΡΠΎΡΡΠ°Π²Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ ΡΡΡΡΠΊΡΡΡ ΠΈ ΠΏΡΠΈΠ·Π½Π°ΠΊΠ° ΡΡΡΠ°ΡΠ΅Π²Π°Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ².
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ°Π±ΠΎΡΠΈΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² (multi-workspace)
Π‘Π΅ΡΠ²Π΅Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΡΠ°Π·Ρ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°ΠΌΠΈ-ΡΠ°Π±ΠΎΡΠΈΠΌΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°ΠΌΠΈ (workspace folders) β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° ΠΎΡΠΊΡΡΡΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ, ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² OneScript.
- ΠΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠ°Π±ΠΎΡΠ΅Π΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ. ΠΠ°ΠΆΠ΄Π°Ρ ΠΏΠ°ΠΏΠΊΠ° Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ Π² ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅: ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅, ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ Π½Π΅ Β«ΠΏΡΠΎΡΠ΅ΠΊΠ°ΡΡΒ» Π² Π΄ΡΡΠ³ΡΡ. Π ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠ²ΠΎΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ β Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈ ΡΠΎΡΡΠ°Π² Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊ Π·Π°Π΄Π°ΡΡΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ.
- Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΡΠ°Π²ΠΎΠΌ ΡΠ°Π±ΠΎΡΠΈΡ
ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ². ΠΠ°ΠΏΠΊΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΡ ΠΏΡΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, Π° ΠΈΡ
Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ΅Π°Π½ΡΠ° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠΌ
workspace/didChangeWorkspaceFolders- ΠΏΠ΅ΡΠ΅ΠΎΡΠΊΡΡΠ²Π°ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ. - ΠΠΎΠΈΡΠΊ ΠΏΠΎ Π²ΡΠ΅ΠΌ ΠΏΠ°ΠΏΠΊΠ°ΠΌ. ΠΠ°ΠΏΡΠΎΡ
workspace/symbolΠ²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΠΎΠΈΡΠΊ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΡΡΠ°Π·Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ workspace folders, Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π² Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ.
Π Π΅ΠΆΠΈΠΌ MCP (ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎ)
Π‘Π΅ΡΠ²Π΅Ρ ΡΠΌΠ΅Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠ°ΠΊ ΡΠ΅ΡΠ²Π΅Ρ Model Context Protocol (MCP), ΠΎΡΠΊΡΡΠ²Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π° 1Π‘ (BSL) ΠΈ OneScript AI-Π°Π³Π΅Π½ΡΠ°ΠΌ. ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ MCP ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎΠ²Π΅ΡΡ ΡΠΎΠ³ΠΎ ΠΆΠ΅ Π΄Π²ΠΈΠΆΠΊΠ°, ΡΡΠΎ ΠΈ LSP-ΡΠ΅ΠΆΠΈΠΌ. Π Π°Π±ΠΎΡΠΈΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° Π·Π°Π΄Π°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· MCP roots β ΠΏΡΡΠΌΠΎΠΉ Π°Π½Π°Π»ΠΎΠ³ workspace folders.
- Π Π΅ΠΆΠΈΠΌΡ Π·Π°ΠΏΡΡΠΊΠ°: ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ MCP-ΡΠ΅ΡΠ²Π΅Ρ (ΠΊΠΎΠΌΠ°Π½Π΄Π°
mcpΡ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠΎΠΌstdio/sse/streamable) Π»ΠΈΠ±ΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ Ρ LSP ΠΏΠΎ ΡΠ»Π°Π³Ρ--mcp(ΡΡΠ΄ΠΎΠΌ Ρstdio- ΠΈΠ»ΠΈwebsocket-LSP, ΠΏΠΎ Streamable HTTP). - ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ:
analyze_file,document_symbols,find_references,call_hierarchy,hover,definition,type_info(ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠΈΠΏΠ° ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ),type_at_position(Π²ΡΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ ΡΠΈΠΏ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ ΠΊΡΡΡΠΎΡΠΎΠΌ),global_member_info. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠ°Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡfileType(BSL/OS). - ΠΡΠ½ΠΎΠ²Π°Π½ Π½Π° Spring AI 2.0; API ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ³ΡΡ ΠΌΠ΅Π½ΡΡΡΡΡ.
ΠΠΎΠ²ΡΠ΅ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ
ΠΠ° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΈΠΏΠΎΠ²:
UnknownMemberβ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈΠ»ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Ρ.UnavailableMemberCallβ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π°/ΡΠ²ΠΎΠΉΡΡΠ²Π°, Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ³ΠΎ Π² ΡΠ΅Π»Π΅Π²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ.AssignToReadOnlyPropertyβ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Ρ, Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ.
ΠΡΠΎΡΠΈΠ΅:
CommonModuleVariablesβ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ (ΠΠ΅ΡΠ΅ΠΌ) Π² ΠΎΠ±ΡΠ΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅.CompareWithBooleanβ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ Π±ΡΠ»Π΅Π²ΠΎΠΉ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΎΠΉ.BadExceptionCategoryβ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠ°Ρ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π²ΠΡΠ·Π²Π°ΡΡΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.EventHandlerInvalidSignature- Π½Π΅ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΠΈΠ³Π½Π°ΡΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΎΠ±ΡΡΠΈΡ (Ρ Π±ΡΡΡΡΡΠΌΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌΠΈ).EventHandlerOutsideEventRegionβ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΡ Π²Π½Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ (Ρ Π±ΡΡΡΡΡΠΌΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌΠΈ).
ΠΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ ΡΡΡΠ°ΡΠ΅Π²Π°Π½ΠΈΡ ΠΈ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΡ
ΡΠ»Π΅Π½ΠΎΠ² ΠΏΠ΅ΡΠ΅Π²Π΅Π΄ΡΠ½ Π½Π° data-driven ΠΌΠΎΠ΄Π΅Π»Ρ: Π²ΠΌΠ΅ΡΡΠΎ ΠΆΡΡΡΠΊΠΎ Π·Π°ΡΠΈΡΡΡ
Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊ DeprecatedMethods8310/DeprecatedMethods8317 ΡΡΡΠ°ΡΠ΅Π²Π°Π½ΠΈΠ΅ ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ ΡΠ»Π΅Π½ΠΎΠ² ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΏΠΎ Π²Π΅ΡΡΠΈΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΈΠ· Π΄Π°Π½Π½ΡΡ
ΡΠΈΠΏΠΎΠ².
ΠΡΠΎΡΠΈΠ΅ Π½ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ
- ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΡΠ΅ΠΉ ΠΈΠ· Π°Π½Π°Π»ΠΈΠ·Π° β ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
excludePathsΠ² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅: ΡΠΏΠΈΡΠΎΠΊ glob-ΠΏΠ°ΡΡΠ΅ΡΠ½ΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,**/.git/**,build/,*.tmp), ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ Π½Π΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΡΡΡΡ. ΠΠ΅ΠΉΡΡΠ²ΡΠ΅Ρ ΠΈ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ LSP, ΠΈ ΠΏΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠΌ Π°Π½Π°Π»ΠΈΠ·Π΅/ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ. - Π€ΠΈΠ»ΡΡΡΠ°ΡΠΈΡ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊ ΠΏΠΎ Π°Π²ΡΠΎΡΡΡΠ²Ρ Git β ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
ignoredAuthorsΠ² ΡΠ΅ΠΊΡΠΈΠΈdiagnosticsΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°: ΡΠΏΠΈΡΠΎΠΊ email-Π°Π΄ΡΠ΅ΡΠΎΠ² Π°Π²ΡΠΎΡΠΎΠ², ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΊΠΎΡΠΎΡΡΡ (ΠΏΠΎ Π΄Π°Π½Π½ΡΠΌgit blame) ΠΈΡΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΈΠ· Π°Π½Π°Π»ΠΈΠ·Π°. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ ΠΏΡΡΡ β ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΠΏΠΎ Π°Π²ΡΠΎΡΡΡΠ²Ρ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ. Π£Π΄ΠΎΠ±Π½ΠΎ, ΡΡΠΎΠ±Ρ Π½Π΅ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΡΠΉ ΠΈΠ»ΠΈ ΡΡΠΆΠΎΠΉ ΠΊΠΎΠ΄ ΠΈ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡΡΡΡ Π½Π° Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΡΡ ΠΏΠΎ ΡΠ²ΠΎΠΈΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌ. - Π‘Π΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ° Π»ΡΠΌΠ±Π΄ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
lambdasΠ²Π½ΡΡΡΠΈ ΡΡΡΠΎΠΊΠΎΠ²ΡΡ Π»ΠΈΡΠ΅ΡΠ°Π»ΠΎΠ². - ΠΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π΅ΠΉ LSP-Π·Π°ΠΏΡΠΎΡΠΎΠ².
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ
Β«Π¦Π²Π΅Ρ ΠΏΠ°Π»ΠΈΡΡΡΒ» (
Π¦Π²Π΅ΡΠΠ°Π»ΠΈΡΡΡ). - ΠΡΠΎΠ΅ΠΊΡ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄ΡΠ½ Π½Π° JDK 21 ΠΊΠ°ΠΊ Π±Π°Π·ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ Java;
ΠΡΠΏΡΠ°Π²Π»Π΅Π½Ρ ΠΎΠ±ΡΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
- Π£ΡΡΡΠ°Π½Π΅Π½ΠΎ Π»ΠΎΠΆΠ½ΠΎΠ΅ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΠ΅
ServerCallsInFormEventsΠ½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ&ΠΠ°Π‘Π΅ΡΠ²Π΅ΡΠ΅ΠΠ΅Π·ΠΠΎΠ½ΡΠ΅ΠΊΡΡΠ°. - Π£ΡΡΡΠ°Π½Π΅Π½ΠΎ Π»ΠΎΠΆΠ½ΠΎΠ΅ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΠ΅
MissingCommonModuleMethodΠ½Π° ΡΠ΅ΠΏΠΎΡΠΊΠ°Ρ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΠ΅ΡΠ΅Π· ΠΎΠ±ΡΠΈΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ. - Π£ΡΡΡΠ°Π½Π΅Π½ΠΎ Π»ΠΎΠΆΠ½ΠΎΠ΅ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΠ΅
MissingTemporaryFileDeletionΠΏΡΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠΌ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ². - ΠΡΠΏΡΠ°Π²Π»Π΅Π½Π° ΡΠ°Π±ΠΎΡΠ°
VirtualTableCallWithoutParametersΠ½Π°ΠΡΠΈΡΠ΅ΡΠΈΠΉΠΡΠ±ΠΎΡΠ°. - Π£ΡΡΡΠ°Π½Π΅Π½Ρ Π»ΠΎΠΆΠ½ΡΠ΅ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ , Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ.
- ΠΡΠΏΡΠ°Π²Π»Π΅Π½Ρ ΠΏΠ°Π΄Π΅Π½ΠΈΡ ΠΏΡΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠΈ Π³ΡΠ°ΡΠ° ΠΏΠΎΡΠΎΠΊΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ (CFG):
IllegalArgumentExceptionΠ½Π° "Π²ΠΈΡΡΡΠ΅ΠΉ" Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π΅ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° ΠΏΠ΅ΡΠ΅Π΄ ΡΠΈΠΊΠ»ΠΎΠΌ ΠΈ ΡΠ±ΠΎΠΉ ΠΏΡΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°Ρ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°, ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°ΡΡΠΈΡ Π³ΡΠ°Π½ΠΈΡΡΠΠ½Π°ΡΠ΅ΠΡΠ»ΠΈ. - Π£ΡΡΡΠ°Π½Π΅Π½ΠΎ Π»ΠΎΠΆΠ½ΠΎΠ΅ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΠ΅
QueryParseErrorΠ½Π° Π·Π°ΠΏΡΠΎΡΠ΅ Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉΠ‘Π’Π ΠΠΠ. - ΠΡΠΏΡΠ°Π²Π»Π΅Π½
StringIndexOutOfBoundsExceptionΠ²QueryComputerΠ΄Π»Ρ ΡΠΎΡΠ΅Π΄Π½ΠΈΡ ΡΡΡΠΎΠΊΠΎΠ²ΡΡ ΡΠΎΠΊΠ΅Π½ΠΎΠ² ΠΏΠΎΡΠ»Π΅ ΡΠ°Π·ΡΡΠ²Π° ΡΡΡΠΎΠΊΠΈ. - ΠΡΠΏΡΠ°Π²Π»Π΅Π½
NullPointerExceptionΠ²WebColorInformationSupplierΠΏΡΠΈ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΌ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ²Π΅ΡΠ°. ColorProviderΠ±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π»ΠΎΠΆΠ½ΡΠΉ ΡΡΡΠ½ΡΠΉ ΠΎΠ±ΡΠ°Π·Π΅Ρ ΡΠ²Π΅ΡΠ° Π΄Π»Ρ Π½Π΅Π»ΠΈΡΠ΅ΡΠ°Π»ΡΠ½ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°Π¦Π²Π΅Ρ.- ΠΡΠΎΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π±Π΅Π· ΠΈΠΌΠ΅Π½ΠΈ ΠΏΡΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠΈ ΡΡΡΡΠΊΡΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°.
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π·Π½Π°ΡΠΈΠΌΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ 1c-syntax:
io.github.1c-syntax:bsl-parser: 0.32.0 β 0.37.1;io.github.1c-syntax:mdclasses: 0.18.0 β 0.19.1;io.github.1c-syntax:bsl-context: Π½ΠΎΠ²Π°Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ, 0.7.0;io.github.1c-syntax:bsl-common-library: 0.10.0 β 0.11.0;io.github.1c-syntax:utils: 0.7.0 β 0.7.2.
ΠΠ½Π΅ΡΠ½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ:
org.eclipse.lsp4j(lsp4j core + websocket.jakarta): 0.24.0 β 1.0.0;org.springframework.boot: 4.0.1 β 4.1.0;org.springframework.ai:spring-ai-bom: Π½ΠΎΠ²Π°Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ, 2.0.0 (ΡΠ΅ΠΆΠΈΠΌ MCP);- LanguageTool: 6.7 β 6.8.
Π‘Π±ΠΎΡΠΊΠ° ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ:
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ!
- @theshadowco
- @sfaqer
- @erprivalov
- @johnnyshut
- @nixel2007
- ΠΈ Π²ΡΠ΅ΠΌ-Π²ΡΠ΅ΠΌ-Π²ΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠΈΠ±ΡΡΡΠΎΡΠ°ΠΌ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ BSL Language Server Π·Π° ΡΡΠΈ 8 Π»Π΅Ρ!
Full Changelog: v0.29.0...v1.0.0