Released: Aug 3, 2023
2023.2 での更新項目
機能
AI Assistant [Limited access]
- AI chat - Use the AI Assistant tool window to communicate with the LLM (Large Language Model), ask questions, or get help with a piece of code. PhpStorm will provide project-specific context, such as the PHP language level and the framework used in your project. Once you're happy with the resulting AI-generated code, click 'Insert Snippet at Caret' to paste the code into the editor, or copy it over.
- AI Actions - The Alt+Enter context menu now features AI Actions, which include a number of tasks AI Assistant can help you with.
- Code documentation - AI Assistant can also generate documentation for you. Press Alt+Enter, select the AI Actions menu, and choose Write Documentation. Alternatively, AI Assistant will gladly try to explain your code via the chat.
- Commit message generation - The commit message dialog now has a Generate Commit Message with AI Assistant button. Click it to send the diffs of your changes to the LLM, which will generate a commit message describing your changes.
- How to access - AI Assistant is powered by the JetBrains AI service. To access the AI features, you will need to manually install the AI Assistant plugin and be logged in to the JetBrains AI service with your JetBrains Account. Please also note that AI Assistant access may currently be limited by a waitlist.
PHP
- Generics in PHP
- New Rename generic refactoring - Press Shift+F6 while on a generic type to start renaming it and PhpStorm will now automatically update the name throughout your whole codebase. Another way to do the same is by pressing Ctrl+T and then choosing Rename.
- Support for the static type in generics - Added support for static references in generic templates.
- Support for @mixin with templates - With generic @mixin annotations, you can fully benefit from decorator and other patterns for injecting behavior into objects. PhpStorm now provides code completion for these where applicable.
- No more redundant PHPDocs generation - PhpStorm now drops redundant declarations from auto-generated PHPDoc blocks in a larger number of its actions and reports on specific redundant PHPDoc tags in doc comments. For generated getters and setters, PhpStorm now adds PHPDoc comments only when there are no declared types.
- Built-in support for Laravel Pint - PhpStorm has added Laravel Pint to the list of supported quality tools. Code style issues reported by Laravel Pint can now be treated like PhpStorm's own code inspections.
- Inspections for PHP assertions - With this release, the code insight logic has been extended to cover PHP assertions. PhpStorm now detects and highlights assertions that are redundant because they are always true or always false. This is available for PHP's built-in assert() constructs, PHPUnit's assertion methods, and methods from the webmozart/assert and beberlei/assert libraries.
User experience
- Colored project headers in the new UI - You can now assign a unique color and icon to each of your projects, making it easier to distinguish them in your workspace. Headers come with predefined colors by default, but now you can customize them.
- Text search in Search Everywhere - Search Everywhere (Double Shift) is used for searching through files, classes, methods, actions, and settings. Now it includes text search capabilities similar to those in Find in Files. Text search results are displayed when there are few or no other search results available for a given query.
- Improved main toolbar customization - In the new UI, you can now use a dropdown menu to quickly choose actions that you want to add to the toolbar. Right-click on any widget, select Add to Main Toolbar, and explore the available options.
- Reworked hamburger menu in the main toolbar on Microsoft Windows and Linux - The behavior of the hamburger menu in the new UI, located in the main toolbar for Windows and Linux, has been refined. Once you click on the menu icon, the elements now appear horizontally over the toolbar. Also, there's now an option to turn this menu into a separate toolbar.
- Light theme with Light Header in the new UI - Introduced an alternate Light with Light Header theme, which features matching light colors for window headers, tooltips, and notification balloons.
- Pin run configurations - You can now add a run configuration to the Pinned section, open the kebab menu (three dots) next to its name and select Pin. You can easily rearrange multiple pinned configurations by dragging and dropping them as needed.
- Sort files by modification time in the Project view - You can now arrange your files in the Project view based on their modification time.
HTTP Client improvements
- Redoc UI previews for OpenAPI and Swagger files - You can now switch between Redoc and Swagger UI to preview your OpenAPI documentation. With the Redoc integration, you can access the Try it console right from within PhpStorm and use it to set parameters and send requests to your API.
- Support for GraphQL and WebSocket in the HTTP Client CLI - You can run .http files as requests with a special HTTP Client CLI. Starting with this release, the tool is now capable of interacting with GraphQL APIs and establishing WebSocket connections with services.
- Support for JavaScript imports in the HTTP Client - It is now possible to share common JavaScript code for HTTP Client request handlers via imported modules.
VCS / Git / GitLab
- GitLab Merge Requests support - This release introduces initial integration with GitLab, allowing you to work with Merge Requests right from the IDE.
- Commit changes line by line - Added a new level of commit granularity by letting you selectively commit only specific lines of changes in code chunks.
- LSP support for plugin developers - Some languages and technologies may not (yet) be natively supported in PhpStorm, but there may be a language server that could provide support for them. This is why it is now possible for plugin developers to use the LSP API and integrate a certain LSP server. If you've made your own programming language or framework, you can get it supported in the IDE by writing an LSP server and a plugin. Currently the LSP support includes error and warning highlighting, quick-fixes, code completion, and navigation to declarations.
- Bundled JetBrains Qodana - PhpStorm now integrates the code quality platform Qodana, a smart static analysis engine designed to fit any CI/CD pipeline. You can trigger the analysis with just a few clicks, view the list of problems across your entire project, and then configure Qodana in your preferred CI/CD system to establish the quality gates and run server-side checks. Also, once Qodana is configured on your CI/CD, you will be able to see the results of the server-side analysis without leaving your IDE - right out of the box.
Web development
- Improved error formatting in JavaScript and TypeScript - JavaScript and TypeScript errors and warnings will now be formatted in a more readable way, making it easier to spot problems in your code.
- CSS nesting support - Added syntax support and an inspection that alerts you if a CSS nested selector starts with an identifier or functional notation.
- Vue Language Server support - Support for Vue Language Server (VLS), a.k.a. Volar, provides more accurate error detection and better type information in the quick navigation and documentation popups. By default, VLS will be used for TypeScript v5.0 and higher.