一、新UI测试版
我们在之前的版本中引入了新UI,但它默认处于禁用状态。在这个版本中,我们根据反馈和研究改进了新UI。下文将介绍部分增强功能。
转到Preferences/Settings|Appearance&Behavior|New UI(偏好设置/设置|外观与行为|新UI)可以启用新UI。
1、紧凑模式
Compact Mode(紧凑模式)增强了新UI在较小显示器上的用户体验。它使工具栏和工具窗口标题更简洁,缩小了间距、填充、图标和按钮,帮助您专注于代码而不是控件。
要打开Compact Mode(紧凑模式),请转到View(视图)菜单并选择Appearance|Compact Mode(外观|紧凑模式)。
2、当标签页在新UI中隐藏时可见的文件名窗格
当编辑器标签页被隐藏时,当前打开的文件的名称将显示在窗格中。
3、工具窗口的垂直拆分
新UI中的这个设置可用于将工具窗口区域拆分为2个窗口并进行排列,以便您可以同时看到两个工具窗口。这是您可以在旧UI中执行的操作,但此前在新版本中缺失。
沿边栏将工具窗口图标拖动到分隔符下,即可将工具窗口添加到此区域下方。或者,您可以右键点击图标,使用Move to(移至)操作为工具窗口指定新位置。
4、macOS上新UI中的项目标签页
在同一个窗口中打开多个项目时,macOS用户现在可以使用主工具栏下显示的项目标签页轻松切换。
在macOS中,窗口标签页默认仅在全屏模式下启用。如需始终启用,可以调整系统偏好设置:
5、针对新UI重新设计了Run(运行)微件
基于有关IDE新UI的反馈,我们重新设计了主窗口标题中的Run(运行)微件,使其更加自然悦目。
二、PHP
1、在3v4l.org上运行PHP临时文件
PhpStorm 2023.1原生与3v4l.org集成,允许您在任何PHP版本上运行PHP临时文件,而不必在本地机器上安装任何内容。
按Ctrl+Alt+Shift+Insert创建新的PHP临时文件。
从下拉菜单选择所需PHP版本,然后按Run(运行)按钮。您将在编辑器旁边看到脚本的输出。
三、性能改进
在这个版本中,我们带来了多项重大性能改进。我们将在后续更新中继续推进。以下是这个版本中的变化。
1、流行PHP软件包的共享索引
某些PHP软件包非常流行,在每个PhpStorm实例上重新构建其索引毫无意义。因此,我们为许多流行PHP软件包计算了索引,例如PHPUnit、aws/aws-sdk-php、doctrine/orm、laravel/framework、symfony/*等。
现在,打开索引的PHP项目时,PhpStorm会检查composer.json以了解哪些指定的依赖项具有预构建的共享索引。
PhpStorm可能会下载索引,也可能在本地重建,具体取决于您的CPU和RAM是否比网速更快。
您还可以为不公开项目生成您自己的共享索引。在此处详细了解如何操作。
之前:
之后:
2、索引编制期间可用的Go to Class(转到类)操作
为了提高性能,我们正努力确保在索引编制期间提供尽可能多的操作。
Go to Class(转到类,Ctrl+O或Navigate|Class...(导航|类…))是最热门的代码导航操作之一。在这个版本中,它随时可用,包括索引重建期间。先前,它会显示一个空列表,直到索引完成。
3、注解器在索引编制期间运行
现在,另一个在索引编制期间也可用的操作是注解代码。
这意味着许多错误和软关键字将被PhpStorm提前高亮显示,让您的工作流更顺畅、更省时。
4、Scanning files to index(正在扫描要建立索引的文件)更加智能
IDE现在打开得更快,因为PhpStorm将使用项目在上一个会话中的现有缓存,并查找要建立索引的新文件。如果扫描后没有发现更改,IDE将立即准备就绪。
5、更快的检查
我们提高了所有检查的性能,特别是开销最大的检查。其中一部分已经提速30–40%,虽然另一部分性能提升没有如此巨大,但综合效果仍然很明显。以下视频展示了与先前版本的对比。
6、Blade模板
我们大幅提升了php...endphp标记内高亮显示的性能。现在,无论代码复杂度如何,所有关键字和结构体都可以更快高亮显示。
7、重新配置Windows Defender设置以获得更好性能的新IDE建议
Windows Defender的实时保护检查会显著降低IDE的速度。为了避免这种情况,PhpStorm现在会建议将某些文件夹添加到Defender的排除项列表中。
通知提供了自动重新配置这些设置或首先检查Defender配置说明并手动执行的选项。
四、数据流分析调试器
喜欢使用Xdebug调试PHP应用程序的用户现在可以使用一项更高级的功能,数据流分析(DFA)调试器。它可以让您提前查看永远不会执行的代码分支,无需使用调试器逐步遍历代码。
PhpStorm会在执行代码之前在右侧内嵌中显示条件的预计算结果。这让您无需深入挖掘即可了解代码中的情况。调试会话期间,不会执行的分支将显示为灰色。
1、调试期间关闭DFA
如果您在调试期间对这些额外信息不感兴趣,可以右键点击预计算的值内嵌并为当前调试会话关闭DFA功能。
在Preferences/Settings|PHP|Debug|Xdebug(偏好设置/设置|PHP|调试|Xdebug)下可以永久关闭这一功能。
2、限制
目前,由于技术限制,PhpStorm不会预计算属性值。这是未来开发的领域。
对所有PHPStan和Psalm标记的支持
所有现有PHPStan和Psalm标记现在都可以在PhpStorm中正确解析。这使带有大量注解的代码的可读性得到提升。
五、对多composer和多vendor项目的支持
在此之前,PhpStorm将每一个打开的项目视为单个空间。不过,越来越多的情况是同一个项目中有多个应用程序,它们都有自己的composer.json依赖项。
我们实现了一个基础来支持这类具有多个composer.json文件和vendor目录的项目。这带来了以下增强:
正确设置排除的目录–这提高了整体性能,因为运行的分析和检查更少。它还使多重解析更加稳定。
正确检测到PSR根–在项目中的应用程序之间拖放类时,Move Class(移动类)等重构可以正常工作。
每个应用程序都正确报告composer.json中缺少的扩展。
六、新检查
1、自定义基于正则表达式的搜索和替换检查
现在,您可以使用正则表达式创建自己的搜索和替换检查。这些检查对于高亮显示样式或格式问题或简单的代码相关问题特别实用。
转到Settings/Preferences|Editor|Inspections(设置/偏好设置|编辑器|检查),按+图标。从列表中选择Add RegExp Search Inspection(添加正则表达式搜索检查,或Replace(替换)),在新出现的对话框中即可设置新检查。
对于可能涉及类型层次结构检查的更高级检查,可以使用Structural Search and Replace(SSR)(结构化搜索和替换(SSR))检查。在文档中了解详情,或查看视频中的示例。
2、内置PHP检查
每个PhpStorm版本都带有一系列新的现成检查。PhpStorm 2023.1也不例外,值得注意的检查包括:
3、被标记为final的重写方法/扩展类
您可以使用关键字final标记类,在违规时生成致命错误。更温和的方式是添加PHPDoc标记final。
对此,PhpStorm将高亮显示不正确的继承,但代码在执行期间不会生成错误。
4、不兼容的返回值类型
借助PhpStorm 2023.1中的新快速修复,您可以为子类中的方法添加兼容的返回值类型,或者在不兼容时做出更改。
断言可被替换为assertTrue/assertFalse。
嵌套数组访问或对象的多个isset()实例可被替换为单个实例。
为从其他文件访问的变量添加global。
七、针对PHP的体验改进
1、终端中var_dump()/dd()输出的可点击路径和类引用
我们想为喜欢“dump and die”方式的用户改善调试体验。作为第一步,我们激活了文件路径和类引用。点击它们会在编辑器中打开相应的文件。
2、补全弹出窗口中文件打开模式的描述
在之前的PhpStorm版本中,我们在日期时间函数中添加了对不同格式的描述。
现在,接受文件模式的任何函数在补全下拉菜单中都具有详细描述。您再也不必记住r+、a和w的含义了。
3、更多实时模板
我们引入了更多实时模板,包括用于函数模板的fun和用于索引循环的fori。
八、用户体验
1、全IDE缩放
现在可以整体放大和缩小PhpStorm,同时更改所有UI元素的大小。从主菜单中,选择View|Appearance(视图|外观),调整IDE的缩放比例。
这可能有助于展示、直播、在线会议或演示。
专属快捷键将使这些操作更易调用。转到Search Actions(搜索操作,Ctrl+Shift+A)窗口,输入zoom ide,按Alt+Enter并指定快捷键。
2、保存多个工具窗口布局的选项
您现在可以保存和管理多个工具窗口布局,并根据需要在它们之间切换。Window|Layouts(窗口|布局)下的新操作可以保存、更新和激活布局。
3、新的Remember size for each tool window(记住每个工具窗口的大小)设置
新的Remember size for each tool window(记住每个工具窗口的大小)复选框位于Settings/Preferences|Appearance&Behavior|Tool Windows(设置/偏好设置|外观与行为|工具窗口)中。它允许您统一侧面工具窗口的宽度或保留在自定义布局时自由调整其大小的能力。
九、编辑器
1、Markdown文件的Fill Paragraph(填充段落)
Markdown文件现在支持Fill Paragraph(填充段落)编辑器操作,可将长文本分成等长的行。
为此,将文本光标置于要更改的段落中,然后从Edit(编辑)菜单选择操作。您还可以使用Find Action(查找操作,Ctrl+Shift+A)查找并运行Fill Paragraph(填充段落)命令。
2、Markdown的新Smart Keys(智能按键)设置页面
我们在Settings/Preferences|Editor|General|Smart Keys(设置/偏好设置|编辑器|常规|智能按键)中添加了一个页面,您可以在其中设置和更改Markdown偏好设置。
这个页面为不同的编辑器功能提供了单独的复选框,应该可以使偏好设置更易管理。先前,Settings/Preferences|Languages&Frameworks(设置/偏好设置|语言和框架)中只有一个复选框。
3、仅显示所选代码中空格的选项
Settings/Preferences|Editor|General|Appearance|Show Whitespaces(设置/偏好设置|编辑器|常规|外观|显示空格)中提供了一个新的Selection(选区)复选框,允许您配置这个设置,让IDE仅在选择代码时将空格显示为小点。
十、VCS/Git/GitHub
1、Structure(结构)工具窗口中的VCS状态颜色提示
在Structure(结构)工具窗口中,我们为更改添加了颜色提示。
您现在可以查看更改或添加了哪些属性、方法和函数。
2、改进了Branches(分支)弹出窗口
分支现在存储在可以展开的列表中,更易浏览。
3、Create New Branch(创建新分支)弹出窗口中的自动补全
在PhpStorm 2023.1 EAP#1中,我们在Create New Branch(创建新分支)弹出窗口中实现了自动补全。为新分支输入名称时,IDE将根据现有本地分支的名称建议相关前缀。
4、后台提交检查
Git和Mercurial的提交检查现在会在提交之后且推送之前在后台执行。这应该会加快整个提交过程。
5、针对GitHub改进了代码审查工作流
我们的研究发现,使用拉取请求的最常见场景是用户首先访问GitHub,然后在需要完整浏览代码时使用IDE。
为了促进这个工作流,我们重做了Pull Request(拉取请求)工具窗口。它现在会为您打开的每个拉取请求提供一个专用标签页。标签页会立即显示已更改文件的列表,但干扰更少。这让您可以更好地专注于当前任务。
现在,可以通过一个新增的专属按钮轻松执行拉取请求当前状态下最重要的操作。
十一、Docker改进
1、来自所有Docker Compose容器的合并日志
Docker Compose节点的Dashboard(仪表板)标签页现在将来自各个Docker Compose容器的日志拉取到一处显示。它们也会实时更新。
2、对Azure容器注册表的支持
您现在可以轻松连接到Azure容器注册表。转到Preferences/Settings|Build,Execution,Deployment|Docker|Docker Registry(偏好设置/设置|构建、执行、部署|Docker|Docker注册表),在Registry(注册表)输入字段中选择Docker V2进行设置。
3、应用:z装载选项以在SELinux上绑定卷的新设置
您现在可以将:z配置标志添加到Docker绑定装载,从而将卷连接到SELinux工作站上的Docker容器。
转到Preferences/Settings|Advanced Settings|Docker(偏好设置/设置|高级设置|Docker)可以启用此功能。
十二、Web
1、Astro支持
备受期待的Astro支持已登陆PhpStorm!从Preferences/Settings|Plugins(偏好设置/设置|插件)安装新的Astro插件即可获取。插件提供基本功能,包括语法高亮显示、带自动导入的代码补全、重构、导航、正确的格式设置等。
2、Vue模板中对TypeScript的支持
我们在Vue模板中添加了TypeScript支持。它将在script标记中的lang特性被设为ts时启用。此前,无论script标记中的lang特性如何,使用的都是JavaScript。PhpStorm现在将提供对内联转换的支持、改进的类型缩小,并在Vue单文件组件模板的快速文档中提供正确的推断类型信息。
3、Tailwind CSS配置
在这个版本中,我们添加了对配置选项的支持,例如classAttributes选项下的自定义类名补全或tailwindCSS.experimental.configFile等实验性选项。
您可以在Preferences/Settings|Languages&Frameworks|Style Sheets|Tailwind CSS(偏好设置/设置|语言和框架|样式表|Tailwind CSS)下设置这些配置选项。