MMS

Резюме: Плагин Move VSCode теперь поставляется со многими другими интересными функциями!

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

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

Протокол языкового сервера (LSP) был первоначально представлен Microsoft, но он также поддерживается рядом других редакторов кода и интегрированных сред разработки (IDE), таких как Sublime Text или Eclipse . Это стандартный протокол, в котором редактор IDE может «запросить» у языкового сервера определенные типы информации, касающиеся редактируемого кода. Кроме того, он позволяет визуализировать полученные данные таким образом, что улучшает и упрощает процесс разработки кода. Мы надеемся интегрировать эти новые функции с другими редакторами IDE, в идеале с помощью языкового сообщества Move.

Новые функции, предоставляемые текущей версией языкового сервера move-analyzer, делятся на две основные категории: понимание кода и отчеты об ошибках. Они были реализованы путем интеграции языкового сервера со «стандартным» компилятором Move ( компилятор, разработанный совместно с языком и являющийся частью основного репозитория исходного кода Move).). Эта интеграция не только гарантирует точность информации, предоставляемой языковым сервером (например, сообщения об ошибках, визуализированные редактором или IDE, будут напрямую соответствовать сообщениям об ошибках, сгенерированным компилятором), но также упростит обслуживание языкового сервера перед лицом потенциальных будущих изменений языка Move. Ниже вы найдете описание новых функций, а также можете просмотреть демонстрацию новых функций в этом видео :

Понимание кода

Одна из проблем с более традиционными языками смарт-контрактов, которую пытается решить дизайн языка Move, — это композиция кода и повторное использование. Чтобы разрешить повторное использование кода, код может быть сгруппирован в пакеты (например, пакет стандартной библиотеки), и эти пакеты могут быть общими для различных реализаций смарт-контрактов. Это означает, что разработчикам, пишущим новые смарт-контракты, возможно, придется иметь дело с кодовой базой, которая в значительной степени им неизвестна.

Новый плагин VSCode предоставляет набор функций, которые могут помочь разработчикам лучше понять всю их кодовую базу.

Введите при наведении

Встречая идентификатор в неизвестной кодовой базе, вы можете не знать тип идентификатора. Если вы наведете курсор на имя идентификатора (например, имя локальной переменной или имя функции), вы увидите имя этого идентификатора, отображаемое во всплывающей подсказке. См. этот пример.

Перейти к определению

Другая часть информации об идентификаторе, которая может быть не сразу очевидна, — это то, где этот идентификатор определен — это может быть как локальная переменная, определенная в той же функции, так и, например, функция, определенная в другом модуле. Если щелкнуть правой кнопкой мыши имя идентификатора и выбрать в меню пункт « Перейти к определению », курсор переместится в место определения идентификатора. См. этот пример.

Перейти к определению типа

Даже если вы знаете, где находится определение данного идентификатора, и знаете имя его типа, это не обязательно означает, что найти определение его типа несложно . Например, вы можете уже знать, что тип идентификатора — struct SomeStruct, но вы все еще не знаете, какие поля есть в этой структуре. Если вы щелкните правой кнопкой мыши имя идентификатора и выберите в меню пункт « Перейти к определению типа », ваш курсор переместится туда, где определен тип этого идентификатора. См. этот пример.

Найти ссылки

Последней функцией, улучшающей понимание кода, является возможность находить все вхождения заданного идентификатора во всей кодовой базе. Это может быть полезно, например, если вы хотите знать, где вызывается данная функция. Если щелкнуть правой кнопкой мыши имя идентификатора и выбрать в меню пункт « Найти все ссылки », все вхождения этого идентификатора будут отображаться в левой панели окна редактора VSCode. См. этот пример.

Отчет об ошибках

Стандартный метод получения диагностики компилятора (ошибки, но также и предупреждения) для фрагмента кода Move — запустить компилятор в командной строке и посмотреть, что он выдает. Хотя этого метода, безусловно, достаточно, он может быть не самым удобным. Вместо этого в новой версии плагина VSCode мы представляем отображение диагностики компилятора в окне редактора. Всякий раз, когда вы сохраняете файл, языковой сервер запускает компилятор в фоновом режиме и отправляет полученный результат обратно в VSCode для отображения (информация, касающаяся понимания кода, также пересчитывается одновременно). См. этот пример.

Узнать больше о Суи

Стройте вместе с нами!!

Мы в восторге от того, что ждет нас в будущем, и приглашаем создателей и строителей присоединиться к нам .

Tags:

Leave a Reply

Your email address will not be published. Required fields are marked *