Науковий вісник НЛТУ України (Nov 2020)

Адаптація версії алгоритму Intellisense до профілю поточного проекту

  • R. T. Kovalchuk,
  • T. O. Korotyeyeva

DOI
https://doi.org/10.36930/40300514
Journal volume & issue
Vol. 30, no. 5
pp. 84 – 89

Abstract

Read online

Проаналізовано декілька різних підходів до автодоповнення програмного коду та різні методи їхнього покращення. Досліджено системи автодоповнення програмного коду у різних середовищах розробки (Visual Studio, Visual Studio Code, Eclipse, IntelliJ, тощо) та для різних мов програмування (C#, Visual Basic, JavaScript, Java, Python, тощо). Детально проаналізовано алгоритм IntelliSense та його використання в середовищах розробки програмного забезпечення (ПЗ). Встановлено підходи, за допомогою яких розробники систем автодоповнення програмного коду досягали кращих результатів у знаходженні найкращої пропозиції стосовно завершення коду. Оглянуто системи, що використовують сторонні бази даних для кращого аналізу програмного коду користувача та знаходження найбільш відповідної пропозиції автодоповнення на підставі контексту. Розглянуто різні ідеї для кращого алгоритму та комбінацію декількох у певних системах. Встановлено, що жодна з наявних систем повністю не зменшує фізичну роботу розробника. Запропоновано нову ідею для покращення досвіду користувача під час написання програмного коду. Проведено модифікацію алгоритму IntelliSense, внаслідок чого він підтримує використання фільтрів проекту та впорядковує пропозиції відповідно до популярності їх використання у заданих фільтрах. Спроектовано базу даних, у якій зберігаються створені користувачем ПЗ профілі, їхній статус (увімкнутий чи вимкнений) та кількість використань різних доповнень у цих профілях. Розроблено програмний засіб, що використовує згадану вище модифікацію алгоритму IntelliSense із використанням мови програмування TypeScript та технології розроблення розширень до середовища розробки ПЗ Visual Studio Code. Інтегровано цей програмний засіб у середовище розробки Visual Studio Code за допомогою підтримуваних нею функцій. Проаналізовано приріст у зменшенні часу обирання варіанта доповнення програмного коду від параметрів використання цього програмного засобу.

Keywords