按名称对对象中的函数/变量进行排序

时间:2011-11-11 23:43:47

标签: javascript organization phpstorm

是否有任何工具可以整理代码并按名称对我的JavaScript对象中的方法进行排序?我使用PHPStorm IDE,所以如果有办法使用该工具,最好。

   Ext.regController
("dashboard", {
        goToShoppingCart:function() {
            Ext.dispatch({
               controller:"shoppingCart",
               action:"loadCart" 
            });
        },
        goToDashboard:function() {},
        goToContact:function() {}}
);

Ext.regController("dashboard", {
        goToContact:function() {},
        goToDashboard:function() {},
        goToShoppingCart:function() {
            Ext.dispatch({
               controller:"shoppingCart",
               action:"loadCart" 
            });
        }
    }
);

这仅适用于组织。

谢谢

3 个答案:

答案 0 :(得分:2)

我在jetbrains论坛上询问是否存在,并且mod说不,并建议我提出功能请求。

我在这做了 http://youtrack.jetbrains.net/issue/WI-8438

如果其他人找到了可以做到这一点的工具,我会接受他们的回答。

答案 1 :(得分:1)

假设您使用PHP生成javascript,您可以执行以下操作:

   $javascript_code = "var obj = {
   getB:function B(){},
   getA:function A(){},
   getC:function C(){},
}"; 
$obj_name = preg_match("/((?:var\s*)[^=]+)/",$javascript_code, $var_name);

preg_match_all("/(?<name>\w+):(?<value>.*(?:,|\s*))/", $javascript_code, $variables);
sort($variables["name"]);
sort($variables["value"]);

for($x = 0; $x < count($variables["name"]) / 2; $x++) {
    $variables["name"][$variables["name"][$x].':'] = $variables["value"][$x];
}
$outputcode = "{$var_name[1]} = { \r\n";

foreach($variables["name"] as $name => $value) {
    if(!is_numeric($name)) {
        $outputcode .= "{$name} {$value}\r\n";
    }
}

$outputcode .= "\r\n}";

echo $outputcode; 

输出:

var obj  = { 
getA: function A(){},

getB: function B(){},

getC: function C(){},


}

答案 2 :(得分:0)

您可以使用JStoolbox执行此操作。

使用排序输入,

https://plugins.jetbrains.com/plugin/7353?pr=