Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>PHP Companion: PhpStorm WorkflowsNew to Visual Studio Code? Get it now.
PHP Companion: PhpStorm Workflows

PHP Companion: PhpStorm Workflows

Peng Zhai

|
143 installs
| (0) | Free
Stable, on-demand PhpStorm-inspired PHP project workflows for Visual Studio Code.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

PHP Companion

PHP Companion 在 Intelephense 等 PHP 语言核心之上提供轻量、按需的 PhpStorm 式项目工作流。它不提供第二套补全、格式化、调试、测试或 Twig Language Server。

稳定功能

  • 按 Composer autoload.psr-4 / autoload-dev.psr-4 和 PHP 7.2–8.5 约束理解项目。
  • 从资源管理器创建 Class、Abstract Class、Interface、Trait、Enum 和 PHPUnit Test。
  • 复制当前文件的 FQN、namespace、::class 引用和工作区相对路径。
  • 检查打开文件的 namespace、PSR-4 路径以及主类型名/文件名,并提供 namespace Quick Fix。
  • 检测到 Intelephense 时提供统一的 Definition、Implementation 和 References 入口。
  • 在 class、interface、trait、enum 声明名称上使用 F2,安全更新项目语义引用、PHPDoc 和匹配的 PSR-4 文件名。
  • 从未解析类型的 Quick Fix 或命令导入 Composer PSR-4 类;多候选始终由用户选择。
  • 粘贴代码时按需补充确定性 import,并可预览清理、去重和排序当前文件的 imports。

Import 工作流

Import Class 只处理光标下的未解析类型。Optimize Imports 对 class/function/const 和 group use 做保守分析;语法错误、动态或无法证明未使用的 import 会被保留。

{
  "phpCompanion.imports.onPaste": "prompt",
  "phpCompanion.imports.optimize.preview": true,
  "phpCompanion.imports.sort": "grouped"
}

候选发现和优化只在命令调用时索引当前 Composer 项目。将 indexing.mode 设为 off 会同时禁用这些项目级能力,普通粘贴不受影响。

F2 Rename

PHP Companion 默认接管类型声明上的标准 Rename Symbol。文件名严格匹配类型名时会随类型同步重命名,并支持 VS Code 标准重构预览;普通字符串、配置文件、方法、属性、变量和相关测试文件不会被修改。

在 VS Code 的 Rename 输入框中按 Enter 会直接应用;按 Shift+Enter 或点击 Preview 会打开重构列表,再通过 Apply 提交。文件重命名是声明文本编辑的必需依赖,预览中不要单独取消它。

{
  "phpCompanion.rename.enabled": true,
  "phpCompanion.rename.file": "preview",
  "phpCompanion.rename.phpDoc": true
}

使用 Intelephense Premium Rename 时,可将 phpCompanion.rename.enabled 设为 false,避免两个 Provider 竞争。

性能模型

扩展激活只注册命令和 Provider,不扫描工作区、不启动 PHP 进程,也不初始化 Tree-sitter。Composer/PHP 检测仅在打开 PHP 文档或执行相关命令后发生。完整符号索引仅供实验功能按需加载,并受文件数、单文件大小和总读取量限制。

如果项目不应建立任何索引:

{
  "phpCompanion.indexing.mode": "off"
}

实验性跨项目重构默认关闭:

{
  "phpCompanion.experimental.refactoring": true,
  "phpCompanion.indexing.mode": "onDemand"
}

资源管理器中的 Safe Move 默认开启,在移动 PSR-4 PHP 文件时同步 namespace 与语义引用。Safe Move 采用全有或全无策略:目标 FQCN 冲突、语法错误、未保存的相关文档、索引缺失或非规范 PSR-4 路径都会取消该次资源管理器移动并显示原因。若需关闭,可设置 phpCompanion.move.enabled: false。

也可以在资源管理器右键 PHP 文件,使用 PHP Companion: Safe Move PHP File 选择目标目录;该命令会以一个原子编辑完成文件移动与代码更新。

使用 PHP Companion: Show Diagnostics Report 和 Show Performance Log 查看加载与索引情况。日志不会记录源码。

推荐职责边界

  • Intelephense:补全、诊断、符号导航。
  • PHP Debug:Xdebug 调试。
  • PHP CS Fixer:格式化。
  • PHPUnit/Pest Test Explorer:测试。
  • TwigPlus:Twig 编辑体验。
  • PHP Companion:Composer/PSR-4、文件生成、项目工作流和安全重构。

PHP Companion 不强制依赖 Intelephense,稳定项目工作流可以独立使用。

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft