Фирма «1С» выложила на GitHub исходный код фреймворка для Eclipse, используемого в IDE «1С:Исполнителя»

25.01.2021      51288

Фреймворк LXTK предоставляет гибкие интерфейсы для интеграции в Eclipse IDE языковых серверов, соответствующих спецификации Language Server Protocol (LSP). Предназначен для реализации плагинов по поддержке различных языков в Eclipse.

Проект построен на основе Eclipse LSP4J без использования Eclipse LSP4E, обеспечивая большее количество возможностей по взаимодействию с LSP-серверами.

В состав репозитория входят примеры исходного кода плагинов Eclipse по поддержке основных функций стандартных языковых серверов TypeScript и JSON, а также простейшего языкового сервера для работы с файлами, имеющими расширение .proto.

Что это значит?

С помощью фреймворка LXTK можно подключить к Eclipse свой языковой сервер, соответствующий спецификации Language Server Protocol – например, Gherkin – и реализовать автодополнение, проверку правильности написания, быстрые исправления и т.д. Преимущество такого подхода в том, что функциональность, реализованная на стороне сервера, может быть переиспользована в различных средах разработки, поддерживающих технологию LSP.

 

Языковой сервер взаимодействует со средой разработки через JSON-RPC.
Источник: microsoft.github.io

 

Особенности

Текущая версия LXTK обеспечивает на стороне клиента поддержку следующих функций LSP:

  • Completion – автодополнение при написании текста по Ctrl+пробел;
  • Code Action – быстрые исправления и рефакторинг;
  • Code Lens – информационные гиперссылки между строками документа, запускающие определенные действия в заданном контексте;
  • Hover – подсказка при наведении курсора;
  • Signature Help – подсказка по параметрам методов;
  • Диагностики;
  • Форматирование документа и выделенного диапазона;
  • Document Symbol – структура типов, свойств и методов документа;
  • Find Reference – поиск мест использования;
  • Folding Range – настройка сворачивания языковых конструкций;
  • Go to Declaration – переход к объявлению;
  • Go to Definition – переход к определению;
  • Go to Implementation – переход к реализации;
  • Go to Type Definition – переход к определению типа;
  • Rename – переименование методов и свойств;
  • Document Highlight – подсветка мест использования в документе;
  • Workspace Edit – рефакторинг в пределах рабочей области;
  • Workspace Folders – получение данных о папках рабочей области;
  • Workspace Symbols – список типов, свойств и методов, соответствующих запросу, в целом по рабочей области.

На данный момент фреймворк поддерживает только те функции, которые представлены в спецификациях LSP версии ниже 3.15.

Архитектура LXTK

Архитектурно, фреймворк состоит из двух основных слоев: LXTK Core Framework и LXTK Integration for Eclipse (LX4E).

  • LXTK Core Framework (org.lxtk) реализован на основе LSP4J и предоставляет базовую инфраструктуру для создания LSP-клиентов на Java (например, LSP-клиентов для Eclipse, IntelliJ и т.д.).
  • LXTK Integration for Eclipse (LX4E) содержит базовую часть (org.lxtk.lx4e) и клиентскую часть с пользовательским интерфейсом (org.lxtk.lx4e.ui) для Eclipse, использующие сервисы Core Framework. Облегчает интеграцию языковых серверов в IDE Eclipse.

Примеры применения

В состав проекта LXTK входят три примера плагинов для Eclipse, демонстрирующих основные возможности использования фреймворка для поддержки языков:

 

Подсветка кода и структура документа на базе LSP для JSON-файлов

 

Провайдер диагностик и автодополнения для proto-файлов

 

В отдельном репозитории организации LXTK приведен пример исходного кода простейшего языкового сервера на Node.js, который реализует основные возможности по работе с протоколом LSP и может быть использован в качества шаблона при тестировании.

У проекта есть документация Javadocs с описанием API, предоставляемого LXTK Core Framework и LX4E.

Подробнее о проекте LXTK в репозитории на GitHub


Автор:
Аналитик


См. также

Новость ИТ-Новость Кадры

Согласно прогнозу Министерства труда, к 2029 году потребность бизнеса в руководителях значительно снизится, а в высококвалифицированных специалистах возрастет. Также ведомство отметило, в каких сферах труда в целом уменьшится и повысится спрос на кадры.

15.07.2024    604    AnastasiaKl    0       

2

Новость ИТ-Новость Отчетность

С 15 июля 2024 года отчет о движении финансов по зарубежным счетам ИП-резидентов и ЮЛ-резидентов нужно будет сдавать в новом формате. Предыдущие форматы из писем ФНС утратят актуальность.

21.06.2024    795    user1915669    0       

2

Новость Налог на прибыль УСН ИТ-Новость Налоги

С 1 января 2025 года ожидаются важные изменения по налогам для бизнеса: прибыли и НДПИ. А также изменятся правила применения УСН. Законопроект Минфина уже одобрен Правительством РФ и передан в Госдуму.

03.06.2024    1143    user1915669    0       

1

Новость ИТ-Новость

Глава правительства Михаил Мишустин и гендиректор «РЖД» Олег Белозеров обсудили, как идет переход на 1С одного из крупнейших российских пользователей 1С:ERP. Критически важные возможности системы уже реализованы. Полный переход намечен на 2028 год.

22.05.2024    4371    ЕленаЧерепнева    9       

5

Новость УСН ИТ-льготы ИТ-Новость

Минфин ответил на вопрос, какие льготы по взносам может получить ИТ-предприятие на УСН с собственным программный продуктом, если оно зарегистрировано в начале 2024 года.

21.05.2024    1142    user1915669    0       

1

Новость ИТ-Новость Образование

Фирма «1С» приглашает преподавателей среднего профессионального и высшего образования, а также учителей основного общего образования на бесплатное обучение по программе «Легкий старт». Обучение проводится в дистанционном формате.

17.05.2024    1267    ЕленаЧерепнева    0       

2

Новость Платформа 1С v8.3 Зазеркалье ИТ-Новость

Фирма «1С» предупредила, что при автообновлении тонкого клиента 1С с веб-сервера на некоторых старых версиях операционных систем Microsoft Windows может быть выведена надпись: «Не обнаружена цифровая подпись программы доступа».

15.05.2024    1534    ЕленаЧерепнева    0       

2

Новость ИТ-Новость Маркировка

С 1 июля 2024 года России может начаться маркировка некоторых товаров бакалеи. Пока экспериментально – участие производителей и продавцов бакалейной продукции по желанию.

07.05.2024    1505    user1915669    0       

1
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
Оставьте свое сообщение