Microsoft прСдставил Rust/WinRT. ДоступСн Rust-analyzer для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Rust c IDE

Компания Microsoft ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»Π° инструмСнтарий Rust/WinRT, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ язык Rust для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Π±Π°Π·Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ WinRT (Windows Runtime). Бвязанный с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ ΠΊΠΎΠ΄ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT.

Rust/WinRT Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с C++/WinRT ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ прилоТСния ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡˆΡ‚Π°Ρ‚Π½ΠΎΠ³ΠΎ инструмСнтария Rust, позволяя Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΈΠ»ΠΈ Π±ΡƒΠ΄ΡƒΡ‰ΠΈΠ΅ API WinRT, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠ΄, сгСнСрированный Π½Π° Π»Π΅Ρ‚Ρƒ ΠΈΠ· ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΡ… API. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹ WinRT API Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½ΠΎΠ³ΠΎ модуля Rust. Rust/WinRT Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π΅Π½ для упрощСния портирования ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ C++/WinRT ΠΏΡ€ΠΈ ΠΈΡ… ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅ с языка Π‘++ Π½Π° Rust.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π°Π»ΡŒΡ„Π°-выпуска ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° rust-analyzer, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставляСт собой Π½ΠΎΠ²Ρ‹ΠΉ фронтэнд компилятора, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ΠΉ для использования Π² ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… срСдах Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ являСтся Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΡŽ ΡˆΡ‚Π°Ρ‚Π½ΠΎΠ³ΠΎ компилятора rustc Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π°Π»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ создании Rust-analyzer ΡƒΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹. Rust-analyzer позволят Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ языка Rust Π² IDE Π·Π° счёт встроСнной Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ сСрвСра ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ языка программирования Π½Π° основС ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° LSP (Language Server Protocol), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ «Π»Π΅Π½ΠΈΠ²ΠΎΠΉ» ΠΈ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ компиляции.

Rust-analyzer Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Π΅ возмоТности LSP-сСрвСров, связанныС с Ρ€Π°Π·Π±ΠΎΡ€ΠΎΠΌ сСмантики языка, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ подсвСтка синтаксиса, Π°Π²Ρ‚ΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, Π°Π½Π°Π»ΠΈΠ· ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΎΠΊ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² ΠΈ поиск ссылок. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ LSP-сСрвСра RLS, Rust-analyzer построСн Π½Π° основС Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎ ΠΈΠ½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹: RLS запускаСт компилятор для всСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅Ρ‚ JSON-Ρ„Π°ΠΉΠ» с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ, Π° Rust-analyzer сам прСдоставляСт процСсс компиляции, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru