2016-04-28 6 views
-1

Ich habe den folgenden CodeZeilenumbrüche zwischen den Blöcken in Funktionsausdrücken in Javascript

$scope.someMethod = function() { 
    // code 
} 
$scope.someOtherMethod = function() { 
    // code 
} 
$scope.randomMethod = function() { 
    // code 
} 

Ich mag wäre es machen zu sein:

$scope.someMethod = function() { 
    // code 
} 

$scope.someOtherMethod = function() { 
    // code 
} 

$scope.randomMethod = function() { 
    // code 
} 

Gibt es eine IDE, Text-Editor oder Regex diese Zeilenumbrüche hinzufügen? Vorschläge?

Danke.

+2

A Suchen/Ersetzen auf '} \ n' $ auf '} \ n \ n' $ tun sollten es. Die meisten IDEs und gute Texteditoren können das tun. – nnnnnn

+1

Dort gibt es auch http://jsbeautifier.org/ –

Antwort

1

Beschreibung

Diese Regex wird wie folgt vor:

  • alle Zeilen finden, die mit $scope beginnen und enthalten function
  • eine leere Zeile vor diesen Zeilen einfügen

Beachten Sie, dass es eine Menge Kantenfälle gibt, die diese Art von Ausdruck auslösen.

Die Regex:

^(\$scope[.](?:(?!\n).)*?function) 

Ersetzen durch:

\n$1 

Regular expression visualization

Beispiele

anschauliches Beispiel

https://repl.it/CLkb/1

Javascript-Code

var Regex = new RegExp("^(\\\$scope[.](?:(?!\n).)*?function)" ,"mg") 
var SourceString = ` 
$scope.someMethod = function() { 
    // code 
} 
$scope.someOtherMethod = function() { 
    // code 
} 
$scope.randomMethod = function() { 
    // code 
} 
` 

var Result = SourceString.replace(Regex, "\n$1"); 

console.log(SourceString) 
console.log() 
console.log(Result) 

Beispielausgabe

$scope.someMethod = function() { 
    // code 
} 
$scope.someOtherMethod = function() { 
    // code 
} 
$scope.randomMethod = function() { 
    // code 
} 


$scope.someMethod = function() { 
    // code 
} 

$scope.someOtherMethod = function() { 
    // code 
} 

$scope.randomMethod = function() { 
    // code 
} 
Verwandte Themen