![35f3582a4532c2051954425417df12ee.png](https://i-blog.csdnimg.cn/blog_migrate/357ed8ca4ebccd9431c6a811ffdd4d3f.jpeg)
图 1 WebI2DE 系统架构图
1. 项目意义
开发者在进行软件开发的过程中一般都需要使用集成开发环境(简称 IDE),如 Eclipse、IntelliJ IDEA、Visual Studio Code 等。通用 IDE 一般提供基本的代码编译、测试、调试等功能。绝大多数本地 IDE 在代码编写时,还支持自动补全、错误诊断、定义跳转、悬浮提示等智能功能,这类针对语言特性的智能功能帮助开发者快速进行开发并提升编程体验。随着 Web 应用快速发展,大规模使用在线集成开发环境(简称 WebIDE)进行编程开发成为趋势。
但对于开发者而言,现有的 WebIDE 和传统的本地编辑器相比仍存在很多不足,比如不支持所有编程语言,不支持完整语法特性,不支持丰富智能提示等,这都大大降低了开发者的编程体验。作为开发者(尤其是初学者),在进行日常的软件开发时,经常需要完成一些不熟悉的编程任务。这时,他们一般通过复用之前的代码或者搜索参考已存在代码片段,并从大量冗余、复杂的搜索结果中筛选出具有相似结构的代码来快速完成编程任务。这就增加了编程的整体时间开销,使得开发者编程体验降低。因此,为了向开发者推荐具有相似结构的代码片段,智能代码推荐系统(简称 WebI2DE 系统)使用嵌入技术,从源代码中提取代码结构信息进行分析。通过 WebI2DE 系统,开发者在进行编程练习时可以更加专