Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 数组初始化中的正确缩进,PDT/Zend Studio_Php_Zend Studio_Eclipse Pdt - Fatal编程技术网

Php 数组初始化中的正确缩进,PDT/Zend Studio

Php 数组初始化中的正确缩进,PDT/Zend Studio,php,zend-studio,eclipse-pdt,Php,Zend Studio,Eclipse Pdt,我在代码中使用了以下类型的数组初始化: $a = array( 'one' => 123, 'two' => 456 ); 但是PDT/Zend Studio在这种情况下不能正常工作;按下[Return]键后,它将光标放在$a下(在我的示例中),并忽略缩进。如果数组键是数字(至少不是以引号开头),则一切正常 这就是它当前的工作方式(|-是Editor在按下[Return]后放置插入符号的位置) 这是预期的结果: $a = array( 'one' =>

我在代码中使用了以下类型的数组初始化:

$a = array(
    'one' => 123,
    'two' => 456
);
但是PDT/Zend Studio在这种情况下不能正常工作;按下[Return]键后,它将光标放在$a下(在我的示例中),并忽略缩进。如果数组键是数字(至少不是以引号开头),则一切正常

这就是它当前的工作方式(|-是Editor在按下[Return]后放置插入符号的位置)

这是预期的结果:

$a = array(
    'one' => 123,[RETURN]
    |
);

那么可以强制编辑器遵循我的缩进规则吗?

在ZendStudio中,可以使用Ctrl+Shift+F应用PhpCodeFormatter

格式化程序可以在window->preferences->PHP->Code Style->formatter(Zend Studio 7.0)中配置,以如上所述重新格式化数组


据我所知,PDT没有这个功能。

我不确定Eclipse,但我在TextMate中也遇到了同样的问题。我切换到软标签(即4个空格)而不是标签,现在它的作用是“预期的”。ZendStudio有这个选项吗?

@MGriesbach:实际上PDT(Eclipse)有这个功能(在Source->Format下)

@Sergei:Eclipse没有这个问题,但听起来你的配置有问题。你确定你看过所有的选项了吗?您还可以向Zend团队发送一封电子邮件,这听起来像是一个非常小的错误,因为它鼓励开发人员编写没有正确缩进的代码

--编辑--


我的坏Eclipse PDT确实有这个问题,但我刚刚习惯了:)如果我按tab键,问题就会消失,因此它会缩进第一行。其他行将正确跟随。

不,这是Eclipse错误

我使用了所有Eclipse文本编辑器(SQL、XML、YML、ShellEd和o等)来面对它

然而,这只发生在我在x86_64上安装的Linux Eclipse(Kubuntu Karmic)上。
在我的工作中,我已经在i386 Karmic上对它进行了测试,效果很好。

我建议您在bugzilla跟踪列表中创建一个帐户,并投票支持以下功能:


如果有足够的人,他们可能会在PDT的进一步版本中集成这些功能。

我最近也遇到了同样的问题。我在Zend Studio(基于Eclipse的IDE)中通过访问

Preferences->PHP->code Style->Formatter

然后在屏幕上预设名称旁边选择编辑。在打开的窗口中,转到换行选项卡,然后在列表中选择

表达式->数组初始值设定项

根据您的喜好使用设置

问候

卢卡斯试试看

窗口->首选项
PHP->代码样式->格式化程序
缩进->数组初始值设定项的Dafault缩进=1


+1:我遇到了完全相同的问题--我的结论和你一样,但从来没有找到解决方案:-(只是一个想法:如果用括号括起来会发生什么?{$a=array(…);}同样,没有正确的缩进。你看过配置窗口中的代码格式设置了吗?我发现它们相对详细。如果没有设置,我会将其作为bug归档。是的,我看过了。没有这样的东西,它看起来真的像bug。奇怪的是,我刚刚打开了Flex Builder(也是eclipse)并测试了这个,它的工作如预期。一些特定于Zend Studio的东西?可能会问他们的支持。它看起来像一个PHP错误(即PDT,Zend Studio基于PDT)。不错的功能,离开了我的投票,但我不认为它会被包括在内,因为它是Zend Studio的主要功能之一。
$a = array(
    'one' => 123,[RETURN]
    |
);