Сортировка функции / переменных в объекте по имени - PullRequest
1 голос
/ 12 ноября 2011

Существуют ли какие-либо инструменты, которые могут привести в порядок код, а также отсортировать методы в моих 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 ]

2 голосов
/ 16 ноября 2011

Я спросил на форуме jetbrains, существует ли он, и мод ответил «нет» и предложил мне добавить запрос на добавление функций.

Я сделал это здесь http://youtrack.jetbrains.net/issue/WI-8438

Если кто-нибудь еще найдет инструмент, способный это сделать, я приму его ответ.

1 голос
/ 12 ноября 2011

при условии, что вы генерируете JavaScript с помощью PHP, вы можете сделать что-то вроде:

   $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(){},


}
0 голосов
/ 18 апреля 2016

Вы можете сделать это с помощью JStoolbox.

Используя Sort введите ,

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

...