WebStorm 2023.2 EAP #7 Is Here With LSP Support for Plugin Developers
The seventh EAP build for WebStorm 2023.2 is now available, and it’s another big one!
This build comes with LSP support for plugin developers, formatted errors for JavaScript inspections, and support for Dev Containers. To catch up on all of the new features in WebStorm 2023.2, check out our previous EAP blog posts.
The Toolbox App is the easiest way to get the EAP builds and keep your stable and EAP versions up to date. You can also manually download EAP builds from our website.
Important! WebStorm EAP builds are not fully tested and might be unstable.
Below are the key improvements available in WebStorm 2023.2 EAP #7. Please try them out and share your feedback in the comments below or via our issue tracker.
LSP support for plugin developers
We have a huge feature in version 2023.2 for WebStorm and some of our other JetBrains IDEs, such as PyCharm Professional, IntelliJ IDEA Ultimate, PhpStorm, GoLand, and Rider. It’s the introduction of the LSP API for plugin developers.
Our IDEs are well-known for their deep understanding of the source code and first-class support for many programming languages and frameworks. At the same time, some languages and technologies are not yet natively supported. However, there may be a Language Server capable of providing support for the required technology. The LSP API is mainly aimed at plugin developers who want to use a specific LSP server for coding assistance in the IDE. If you have a self-made programming language or framework, you can get it supported in the IDE by writing an LSP server and creating the accompanying plugin.
The current feature list includes errors/warnings highlighting, quick-fixes, code completion, and navigation to the declaration. More features are coming soon.
A minimal fully-functional plugin requires writing a few lines of code. The plugin implements the com.intellij.platform.lsp.api.LspServerSupportProvider interface and answers which files it will support and how to start the server. Prisma ORM is an open-source plugin by JetBrains and can be used as a reference implementation. The codebase is quite large, but there are only a few classes that are related to the LSP-based support: see the org.intellij.prisma.ide.lsp.* package.
As always, your feedback on this feature is very much appreciated. There’s still some time left to tune the LSP API according to your needs. Please send us your ideas and suggestions and report any bugs you find to our issue tracker.
Formatted errors for JavaScript inspections
Our work on improving the formatting of errors and warnings continues. Following on from our improvements in the previous EAP build, in which we added improved formatting for errors in TypeScript, Vue, and Svelte Language Servers, we’ve now added improved error formatting for popular JavaScript inspections, too. Keywords and references are highlighted in the same way as in the code, and types are highlighted in the same way as in TypeScript, with a background.
Vue improvements
WebStorm 2023.2 includes several improvements for Vue support. Firstly, we’ve added support for the new defineModel
macro, which simplifies work with two-way binding. The macro automatically registers a prop
, and returns a ref
that can be directly mutated. WebStorm now shows better type information from the Volar and Svelte Language server in the quick navigation and quick documentation popups. We also made sure to show narrowed types properly.
Support for Dev Containers
WebStorm now supports Dev Containers, allowing you to use containers as a full-featured development environment to edit, build, and run your projects. Dev Containers can be run remotely via an SSH connection or locally using Docker.
To use this feature, ensure that Docker is installed on your machine. From the Welcome screen, select the Dev Containers option in the Remote Development section and provide the Git repository link to set up the connection.
You can also configure your local or remote environment directly within the editor by opening the devcontainer.json file. By clicking on the Docker icon in the gutter, you can choose to either clone or mount the project sources.
The initial support includes a limited number of devcontainer.json options. We value your feedback on this update and encourage you to share any use cases that you believe should be covered in future updates.
Updates for Astro
In this release, we’ve also made several improvements to our Astro support. Now PostCSS works in the <style>
tag of Astro components by default. Moreover, you can now use CSS preprocessors like Sass, Less, and Stylus in the <style>
tag.
Note that the completion for CSS classes in the Astro components issue (WEB-59856) is still being worked on.
New UI
Colored project headers in the new UI
WebStorm 2023.2 introduces colored project headers to simplify navigation between several open projects. You can now assign a unique color and icon to each of your projects, making distinguishing between them in your workspace easier.
Headers come with predefined colors by default, but you can customize them. To set a new color for your project, right-click on a header and access the context menu. Select the Change Toolbar Color option and choose your desired color. To disable this feature, deselect the Use Project Colors in Toolbar option in the context menu.
Removed title bar on Linux
For the convenience of Linux users, the native header of the OS has been removed in the new UI, resulting in a cleaner interface. By default, you will now see the custom IDE’s header, which offers an extra range of customization options to tailor your workspace.
Other notable changes
- We’ve fixed the issue causing some of the HTML tags (
span
,img
,div
, etc.) in the quick documentation popup not to render correctly (WEB-46735). - We’ve fixed the issue causing the false “Method expression can be null or undefined” warnings with functions imported using destructuring (WEB-57367).
- We’ve fixed the issue where breakpoints remained active until the first occurrence of a “disable until hit” (WEB-45777).
- We’ve fixed the issue causing the debugger to stop on removed breakpoints within debug sessions (WEB-61166).
That’s all for today! For the full list of the latest enhancements available in WebStorm 2023.2 EAP #7, check out the release notes.
Your feedback about the new features is essential to us, so please try them out and let us know what you think in the comments section below or on Twitter. If you encounter a bug, please submit a report in our issue tracker.
The WebStorm team