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

  • Р. Т. Ковальчук Національний університет "Львівська політехніка", м. Львів
  • Т. О. Коротєєва Національний університет "Львівська політехніка", м. Львів
Ключові слова: середовище розробки програмного забезпечення; автодоповнення програмного коду; Visual Studio Code; програмний проект

Анотація

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

Біографії авторів

Р. Т. Ковальчук, Національний університет "Львівська політехніка", м. Львів

магістрант, кафедра програмного забезпечення

Т. О. Коротєєва, Національний університет "Львівська політехніка", м. Львів

канд. техн. наук, доцент, кафедра програмного забезпечення

Посилання

Documentation for Visual Studio Code. (2020). Visual Studio Code. Retrieved from: https://code.visualstudio.com/docs

IntelliSense in Visual Studio. (2020). Microsoft Docs. Retrieved from: https://docs.microsoft.com/en-us/visualstudio/ide/using-intellisense?view=vs-2019.

Mooty, M., Faulring, A., Stylos, J., & Myers, B. (2010). Calcite: Completing Code Completion for Constructors Using Crowds. IEEE Symposium on Visual Languages and Human-Centric Computing. https://doi.org/10.1109/VLHCC.2010.12

Murray, K., & Bigham, J. (2011). Beyond Autocomplete: Automatic Function Definition. Proceedings of the 2011 IEEE Symposium on Visual Languages and Human-Centric Computing. https://doi.org/10.1109/VLHCC.2011.6070421

Omori, T., Kuwabara, H., & Maruyama, K. (2015). Improving code completion based on repetitive code completion operations. Information and Media Technologies, 10, 210–225. https://doi.org/10.11185/imt.10.210

Raychev, V., Vechev, M., & Yahav, E. (2014). Code Completion with Statistical Language Models. ACM SIGPLAN Notices. https://doi.org/10.1145/2666356.2594321

Robbes, R., & Lanz, M. (2008). How Program History Can Improve Code Completion. DBLP. https://doi.org/10.1109/ASE.2008.42

Scheller, T., & Kuehn, E. (2013). Influence of Code Completion Methods on the Usability of APIs. Proceedings of the IASTED International Conference Software Engineering (SE'2013). https://doi.org/10.2316/P.2013.796–027

Visual Studio documentation. (2019). Microsoft Docs. Retrieved from: https://docs.microsoft.com/en-us/visualstudio/?view=vs-2019

Visual Studio IntelliCode. (2020). Visual Studio Marketplace. Retrieved from: https://marketplace.visualstudio.com/items?itemName=VisualStudioExptTeam.VSIntelliCode.

Опубліковано
2020-11-03
Як цитувати
Ковальчук, Р. Т., & Коротєєва, Т. О. (2020). Адаптація версії алгоритму Intellisense до профілю поточного проекту. Науковий вісник НЛТУ України, 30(5), 84-89. https://doi.org/10.36930/40300514
Розділ
Інформаційні технології