簡體   English   中英

在Notepad ++中自動縮進PHP數組?

[英]Autoindent PHP Array in Notepad++?

我目前在跨行自動縮進PHP數組時遇到困難。 標准的TextFX> TextFX編輯> Reindent C ++代碼在這里失敗。

例如,使用以下代碼片段:

<?php
$something = array(
    "test" => $var,
    "nested" => array(
        "subnest" = array(
            "low" => "yes",
            "foo" => "bar",
            ),
        "bar" => "baz",
        ),
    "last" => "yes",
    );

運行“ Reindent C ++代碼”並獲得以下信息:

<?php
$something = array(
"test" => $var,
"nested" => array(
"subnest" = array(
"low" => "yes",
"foo" => "bar",
),
"bar" => "baz",
),
"last" => "yes",
);

並不是我真正追求的。

是否有我缺少的工具或可以在Notepad ++中正確縮進PHP數組的插件?

不幸的是, 在撰寫本文時, Notepad ++仍然不支持花括號{}塊以外的任何形式的PHP和其他大多數語言的代碼縮進格式。

switch是另一種:

switch ($value) {
    case 1:
        foo();
        break;
    case 2:
        bar();
        break;
    case 3:
        qux();
        break;
}

成為:

switch ($value) {
    case 1:
    foo();
    break;
    case 2:
    bar();
    break;
    case 3:
    qux();
    break;
}

我發現的解決方案( 至少在PHP中 )是使用大括號進行格式化,因為它們在語法上有效,但不會更改程序結構:

switch ($value) {
    case 1: {
        foo();
        break;
    }
    case 2: {
        bar();
        break;
    }
    case 3: {
        qux();
        break;
    }
}

這具有允許您對腳本的任意塊進行代碼折疊的額外好處。

不幸的是,正如您所發現的那樣,格式化程序無法識別方括號[]和圓括號() ,並且數組在花括號包裝中不是語法上有效的情況。

簡短的答案是; 抱歉,我也已經盡力嘗試了,您需要找到/編寫一個插件( 我還沒有;我只接受它

您的代碼中有一個錯誤-可能是導致它的原因。 Netbeans向我顯示了此錯誤,然后我將其修復。

嘗試更改此行:

"nested" = array(

"nested" => array(

並查看Notepad ++如何處理它。

我為此使用了netbeans,即使我在另一個應用程序中編寫代碼,我也將其復制並粘貼到netbeans中以進行整理。

網豆

Netbeans返回:

<?php

$something = array(
    "test" => $var,
    "nested" => array(
        "subnest" => array(
            "low" => "yes",
            "foo" => "bar",
        ), "bar" => "baz",),
    "last" => "yes",
);
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM