如何让Netbeans在自动完成时使用import语句而不是完全限定的类名?

sal*_*igy 23 php netbeans


我最近从PDT搬到了Netbeans,有些东西我无法弄清楚.如何让IDE在自动完成类名称的文件开头使用"use"语句?喜欢:

use \Foo\Bar\Baz;

class Something extends Baz { /* ... */ }
Run Code Online (Sandbox Code Playgroud)

相反,如果我使用自动完成,我会得到

class Something extends \Foo\Bar\Baz { /* ... */ }
Run Code Online (Sandbox Code Playgroud)

我已经检查了代码完成设置,但最有前途的选项(智能)希望我首先编写导入,以便为短类名使用自动完成.PDT能够将该行写入文件的开头.

小智 38

在较新版本的Netbeans(即7.3+)中,您可以按Ctrl+Shift+I(但Alt+Shift+I不会按预期工作).

首先,它会在您的文件中搜索任何智能或完全限定的实例,然后询问您找到的类型应该是什么类型.然后,它将完全限定的use语句添加到文件的顶部,并将源中的现有实例更改为不合格.

  • 提出了一个向上投票,因为这是足够好,但还有另一个键盘快捷方式来学习.我们应该能够按照问题的建议将其配置为自动执行. (2认同)

Pet*_*son 8

我使用'Unqualified',然后转到文档的顶部并输入'use'并使用autocomplete下拉列表选择类,插入完全限定的类.

另一种选择是使用"完全限定",然后将其复制 - >粘贴到新的使用声明中.

我不久前联系了netbeans,他们同意这将是一个很好的功能,但我从来没有跟进过,我应该跟它们一起追逐吗?

  • 是的,跟他们一起追赶 (2认同)

小智 6

转到Netbeans首选项,然后转到"编辑器"选项卡.在"语言"下拉列表中,选择PHP,然后滚动到底部.最后一个条目称为代码完成类型(仅限PHP 5.3)您可以选择智能或不合格,并且最有可能解决您的问题.(我不确定以前的版本,但我使用最新稳定的NetBeans 7.0)

  • 问题是,既不会自动添加"使用"语句.这是这个问题的最重要的一点 (2认同)