{"title":"改进了JavaScript的无类型智能感知,带有类型携带符和绑定符","authors":"Anthony Savidis, Marios Ntoulas","doi":"10.1109/IISA56318.2022.9904413","DOIUrl":null,"url":null,"abstract":"In general, IntelliSense refers to source-code editing facilities that assist software developers in navigating, understanding, avoiding errors, and speeding-up the overall programming process. It is essentially the crossroad of context-sensitive help, intelligent recommendations, auto corrections and adaptive prompting for the programming task. We focus on untyped languages, in particular JavaScript, where the quantity of untyped code constantly grows, even though typing frameworks like Type Script are popular, and the recent ECMA 6 standard favors for typed classes. We present an improved technique for editing-time type inference, built on top of Visual Studio Code IDE and its Language Server Protocol. We introduce type carriers and binders that can capture all possible types of variables, returning results correctly matching the particular source location from which a query is made. We show how this approach offers more informative and descriptive feedback, effectively improving the overall intelligence of JavaScript editors.","PeriodicalId":217519,"journal":{"name":"2022 13th International Conference on Information, Intelligence, Systems & Applications (IISA)","volume":"65 6 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-07-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Improved Untyped IntelliSense for JavaScript with Type Carriers and Binders\",\"authors\":\"Anthony Savidis, Marios Ntoulas\",\"doi\":\"10.1109/IISA56318.2022.9904413\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"In general, IntelliSense refers to source-code editing facilities that assist software developers in navigating, understanding, avoiding errors, and speeding-up the overall programming process. It is essentially the crossroad of context-sensitive help, intelligent recommendations, auto corrections and adaptive prompting for the programming task. We focus on untyped languages, in particular JavaScript, where the quantity of untyped code constantly grows, even though typing frameworks like Type Script are popular, and the recent ECMA 6 standard favors for typed classes. We present an improved technique for editing-time type inference, built on top of Visual Studio Code IDE and its Language Server Protocol. We introduce type carriers and binders that can capture all possible types of variables, returning results correctly matching the particular source location from which a query is made. We show how this approach offers more informative and descriptive feedback, effectively improving the overall intelligence of JavaScript editors.\",\"PeriodicalId\":217519,\"journal\":{\"name\":\"2022 13th International Conference on Information, Intelligence, Systems & Applications (IISA)\",\"volume\":\"65 6 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2022-07-18\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2022 13th International Conference on Information, Intelligence, Systems & Applications (IISA)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/IISA56318.2022.9904413\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2022 13th International Conference on Information, Intelligence, Systems & Applications (IISA)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/IISA56318.2022.9904413","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
摘要
一般来说,IntelliSense指的是源代码编辑工具,它帮助软件开发人员导航、理解、避免错误,并加快整个编程过程。它本质上是上下文敏感的帮助、智能推荐、自动更正和编程任务的自适应提示的交叉点。我们专注于无类型语言,特别是JavaScript,尽管Type Script这样的类型框架很流行,而且最近的ECMA 6标准更倾向于类型化类,但这里的无类型代码数量仍在不断增长。我们提出了一种改进的编辑时间类型推断技术,它建立在Visual Studio Code IDE及其语言服务器协议之上。我们引入了类型载体和绑定器,它们可以捕获所有可能的变量类型,返回与进行查询的特定源位置正确匹配的结果。我们展示了这种方法如何提供更多信息和描述性的反馈,有效地提高了JavaScript编辑器的整体智能。
Improved Untyped IntelliSense for JavaScript with Type Carriers and Binders
In general, IntelliSense refers to source-code editing facilities that assist software developers in navigating, understanding, avoiding errors, and speeding-up the overall programming process. It is essentially the crossroad of context-sensitive help, intelligent recommendations, auto corrections and adaptive prompting for the programming task. We focus on untyped languages, in particular JavaScript, where the quantity of untyped code constantly grows, even though typing frameworks like Type Script are popular, and the recent ECMA 6 standard favors for typed classes. We present an improved technique for editing-time type inference, built on top of Visual Studio Code IDE and its Language Server Protocol. We introduce type carriers and binders that can capture all possible types of variables, returning results correctly matching the particular source location from which a query is made. We show how this approach offers more informative and descriptive feedback, effectively improving the overall intelligence of JavaScript editors.