Анонс розширеного плагіна Move VSCode

*Резюме: Плагін Move VSCode тепер постачається з багатьма новими можливостями! *

post image

Протягом останніх кількох місяців Mysten Labs наполегливо працювала над новими функціями для плагіна VSCode мови Move (плагін для редактора коду Visual Studio). І тепер ми нарешті готові поділитися тим, чого ми досягли, з широкою спільнотою розробників. Плагін призначений для роботи як з основною мовою Move, так і з усіма існуючими варіантами мови Move, такими як Sui Move.

Плагін VSCode для Move називається move-analyzer і доступний у Visual Studio Marketplace. Нові можливості підтримуються за допомогою протоколу Language Server Protocol; щоб розкрити весь потенціал плагіна, окрім встановлення самого плагіна, вам також потрібно встановити мовний сервер move-analyzer, як описано в інструкціях з встановлення, що надаються у дистрибутиві плагіна.

Протокол мовного сервера (Language Server Protocol, LSP) був вперше представлений компанією Microsoft, але він також підтримується низкою інших редакторів коду та інтегрованих середовищ розробки (IDE), таких як Sublime Text або Eclipse. Це стандартний протокол, за допомогою якого редактор IDE може "запитувати" у мовного сервера певні типи інформації щодо коду, який редагується. Він дозволяє візуалізувати отримані дані таким чином, щоб покращити та спростити процес розробки коду. Ми сподіваємося інтегрувати ці нові можливості з іншими редакторами IDE, в ідеалі - за допомогою мовної спільноти Move.

Нові можливості, які надає поточна версія мовного сервера move-analyzer, поділяються на дві основні категорії: розуміння коду та повідомлення про помилки. Їх було реалізовано шляхом інтеграції мовного сервера зі "стандартним" компілятором Move (компілятором, який розроблявся спільно з мовою і є частиною основного репозиторію вихідного коду Move). Ця інтеграція не тільки гарантує точність інформації, що надається мовним сервером (наприклад, повідомлення про помилки, що візуалізуються редактором або IDE, будуть безпосередньо відповідати повідомленням про помилки, що генеруються компілятором), але й спростить підтримку мовного сервера в умовах можливих майбутніх змін у мові Move. Нижче ви знайдете опис нових можливостей, а також можете переглянути демонстрацію нових можливостей у цьому відео:

Play Video

Розуміння коду Однією з проблем більш традиційних мов смарт-контрактів, яку намагається вирішити дизайн мови Move, є композиція та повторне використання коду. Щоб уможливити повторне використання коду, його можна згрупувати в пакети (наприклад, стандартний пакет бібліотеки), і ці пакети можуть бути спільними для різних реалізацій смарт-контрактів. Це означає, що розробникам, які пишуть нові смарт-контракти, можливо, доведеться мати справу з кодовою базою, яка їм майже невідома.

Новий плагін VSCode надає набір функцій, які можуть допомогти розробникам краще зрозуміти всю кодову базу.

Введення при наведенні Зустрічаючи ідентифікатор у невідомій кодовій базі, ви можете не знати тип ідентифікатора. Якщо ви наведете курсор на назву ідентифікатора (наприклад, назву локальної змінної або назву функції), ви побачите назву цього ідентифікатора у підказці. Дивіться цей приклад.

post image

Перейти до визначення Ще одна частина інформації про ідентифікатор, яка може бути неочевидною, - це місце визначення ідентифікатора: це може бути як локальна змінна, визначена в тій самій функції, так і, наприклад, функція, визначена в іншому модулі. Якщо ви клацнете правою кнопкою миші на назві ідентифікатора і виберете з меню пункт Перейти до визначення, ваш курсор буде переміщено до місця визначення ідентифікатора. Дивіться цей приклад.

post image

Пошук посилань Останньою функцією, що покращує розуміння коду, є можливість знайти всі входження заданого ідентифікатора у всій базі коду. Це може бути корисно, наприклад, якщо ви хочете дізнатися, де викликається певна функція. Якщо ви клацнете правою кнопкою миші на імені ідентифікатора і виберете з меню пункт Find All References, всі входження цього ідентифікатора будуть відображені на лівій панелі вікна редактора VSCode. Дивіться цей приклад.

post image

Повідомлення про помилки Стандартним методом отримання діагностики компілятора (помилок, а також попереджень) для фрагмента коду Move є запуск компілятора у командному рядку і спостереження за результатами, які він видає. Хоча цей спосіб, безумовно, є достатнім, він може виявитися не найзручнішим. Натомість у новій версії плагіна VSCode ми додали відображення діагностики компілятора у вікні редактора. Щоразу, коли ви зберігаєте файл, мовний сервер запускає компілятор у фоновому режимі і надсилає результат назад до VSCode для відображення (одночасно з цим перераховується інформація про розуміння коду). Дивіться цей приклад.

post image