Visual Studio Code中针对PHP的重命名重构

27

在Visual Studio Code中是否有PHP重命名重构工具?这是我从NetBeans到VSC的唯一阻碍。对我来说,重命名非常重要(不是搜索/替换)。


1
从下面的“答案”中我所了解到的是,这已经过去5年了,但仍然无法正常工作。这在几乎所有IDE中都是一项基本功能,那么VS Code在做什么呢?查找/替换并不适合用于重构->重命名。 - Mageician
1
使用 VS Code 几年后,我转向 PhpStorm,它为 PHP 开发人员提供了出色的功能(包括大量的重构)。 - Dawid Ohia
6个回答

11

{
  "command": "editor.action.changeAll",
  "key": "ctrl+f2",
  "when": "editorTextFocus && !editorReadonly"
}

{
  "command": "editor.action.rename",
  "key": "f2",
  "when": "editorHasRenameProvider && editorTextFocus && !editorReadonly"
}

在键绑定中,F2 看起来可以在所有文件中使用,CTRL-F2 在当前文件中使用。


22
这段话的意思是:我的代码不按我期望的运行。当我重命名一个本地变量(比如称为$sum),它应该只在定义了这个本地变量的作用域内更改名称,而不是在同一文件或跨所有文件中更改所有命名为$sum的变量。您建议的F2和CTRL + F2更像是查找和替换。我正在寻找重命名重构。 - Dawid Ohia
1
f2对于PHP无效。我刚试过了。editorHasRenameProvider == false。 - Jason Cheng

4

有一个扩展名叫做 Intelephense 的扩展提供了预期的功能(据我记得是付费版本)。因此,我在 Visual Studio Code 中使用它已经有几年了,并且它运作得非常好。

但是我最终转移到了 PhpStorm IDE,因为它具有更强大的重构能力和全面的 PHP 支持。


1
没错,基本的Intelephence不支持重构。而且我无法购买付费版本,因为PayPal支付失败了。而且没有人回复联系邮箱。然后我尝试了PHP Intellisense,但它也显示“没有可用的重构”。所以最终我可能还是会回到PhpStorm。 - Giorgio Barchiesi
我从联系邮箱收到了回复,他说付款错误正在处理中。 - Giorgio Barchiesi

3

尝试使用重命名符号替代标准的查找/替换。重命名绑定到F2适用于所有文件,CTRL - F2只适用于当前文件,可能需要安装PHP语言扩展


3
默认情况下,重命名符号功能无法正常运行。这个功能在你链接的扩展的待办列表中,但目前尚未实现。 - Kiruahxh

1

在发布此文章时,我所知道的唯一方法是购买PHP Intelephese Premium。免费版本和其他PHP智能感知插件不支持重命名。


0

或许这会有所帮助

ext install marsl.vscode-php-refactoring

安装并使用命令行(Ctrl+P)并激活PHP:重命名本地变量


似乎不起作用,我得到了 PHP致命错误:花括号的数组和字符串偏移访问语法不再受支持 - adxl

-1

1
有任何关联吗?/help/promotion - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接