While this update does not introduce new functionality, it affects crucial aspects of the IDE such as highlighting, inspections, completions, and navigation. The new engine should primarily address issues in specific setups and projects, particularly those with complex TypeScript typings. This new approach ensures that, while we align with TypeScript for improved accuracy, our powerful features continue to be functional. Therefore, plugin developers and our team can still utilize our model to provide complex refactorings and inspections. It’s important to emphasize that this shift doesn’t mean a complete transition to the language service. ![]() Additionally, we’re now retrieving type information, caching it, and converting it into our internal representation. The new engine utilizes the same TypeScript language service instance that is already in use. ![]() The primary change concerns type evaluation. All mechanisms that rely on IntelliJ PSI continue to operate as before. In this update, a critical aspect to note is that our own robust TypeScript language support remains intact. Recognizing this, we have come up with the idea of utilizing the TypeScript language server’s capabilities for type evaluation to enhance both accuracy and performance. However, as we use both the language server and our type evaluation, in some cases the overall performance is limited by the slower component. In the end, it has become clear that, while our efforts to match the TypeScript compiler’s accuracy have been significant, we can never surpass the precision of the TypeScript compiler itself.Īdditionally, there is already integration with the TypeScript language server in WebStorm, which is utilized, for instance, in error highlighting. However, this approach has led to the emergence of subtle bugs due to divergences from the TypeScript compiler. This engine has been effective in evaluating types, closely replicating the type evaluation mechanisms of the TypeScript compiler. Since introducing TypeScript support, WebStorm has operated with its own TypeScript engine. The TypeScript type system is renowned for its power, a quality that is essential for covering the dynamic nature of JavaScript. We are also committed to improving performance, especially in certain setups where users have historically faced problems. Boosting performance in specific scenarios.By aligning more closely with the TypeScript compiler, we ensure that miscalculated types are minimized and overall type accuracy is increased. A major focus is to address and fix issues related to discrepancies with the native TypeScript type evaluation. ![]() The rework of the TypeScript engine is driven by two primary goals: We are eager to get your feedback, which we hope will enable us to polish the new engine and turn it on by default in the next major release. ![]() The program is scheduled to conclude before the launch of the 2024.1 EAP. Through the program we are offering experimental builds for enthusiasts who are keen to provide their feedback, as well as for those of you who struggle with longstanding compatibility and performance issues with TypeScript. The new TypeScript engine will power future versions of WebStorm and other JetBrains IDEs with TypeScript support. The WebStorm team is currently undertaking a significant rework of the TypeScript language support. There is an experimental build, which introduces improved type inference for enhanced performance and accuracy.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |