EditorConfig 属性用于 JavaScript:换行
空行
代码中的最大空行数
属性名称:
[resharper_]js_keep_blank_lines_in_code, [resharper_]keep_blank_lines_in_code
可能的值:
一个整数
示例:
格式化前 | 格式化后,值:0 |
|---|---|
function foo() {
bar();
bas();
}
| function foo() {
bar();
bas();
}
|
格式化前 | 格式化后,值:1 |
|---|---|
function foo() {
bar();
bas();
}
| function foo() {
bar();
bas();
}
|
格式化前 | 格式化后,值:2 |
|---|---|
function foo() {
bar();
bas();
}
| function foo() {
bar();
bas();
}
|
声明之间的最大空行数
属性名称:
[resharper_]js_keep_blank_lines_between_declarations, [resharper_]keep_blank_lines_between_declarations
可能的值:
一个整数
示例:
格式化前 | 格式化后,值:0 |
|---|---|
class Foo {
constructor() {
// constructor code
}
Method() {
// method code
}
}
| class Foo {
constructor() {
// constructor code
}
Method() {
// method code
}
}
|
格式化前 | 格式化后,值:1 |
|---|---|
class Foo {
constructor() {
// constructor code
}
Method() {
// method code
}
}
| class Foo {
constructor() {
// constructor code
}
Method() {
// method code
}
}
|
格式化前 | 格式化后,值:2 |
|---|---|
class Foo {
constructor() {
// constructor code
}
Method() {
// method code
}
}
| class Foo {
constructor() {
// constructor code
}
Method() {
// method code
}
}
|
import 后的最少空行数
属性名称:
[resharper_]js_min_blank_lines_after_imports, [resharper_]min_blank_lines_after_imports
可能的值:
一个整数
示例:
格式化前 | 格式化后,值:0 |
|---|---|
import foo from 'foo';
foo();
| import foo from 'foo';
foo();
|
格式化前 | 格式化后,值:1 |
|---|---|
import foo from 'foo';
foo();
| import foo from 'foo';
foo();
|
格式化前 | 格式化后,值:2 |
|---|---|
import foo from 'foo';
foo();
| import foo from 'foo';
foo();
|
函数周围的最少空行数
属性名称:
[resharper_]js_min_blank_lines_around_functions, [resharper_]min_blank_lines_around_functions
可能的值:
一个整数
示例:
格式化前 | 格式化后,值:0 |
|---|---|
function foo() {
}
function bar() {
}
| function foo() {
}
function bar() {
}
|
格式化前 | 格式化后,值:1 |
|---|---|
function foo() {
}
function bar() {
}
| function foo() {
}
function bar() {
}
|
格式化前 | 格式化后,值:2 |
|---|---|
function foo() {
}
function bar() {
}
| function foo() {
}
function bar() {
}
|
换行
简单嵌入式语句
属性名称:
[resharper_]js_simple_embedded_statement_style, [resharper_]simple_embedded_statement_style
可能的值:
不更改: 不更改on_single_line: 强制放在单行line_break: 强制换行
示例:
格式化前 | 格式化后,do_not_change |
|---|---|
if (condition) DoSomething();
if (condition)
DoSomething();
| if (condition) DoSomething();
if (condition)
DoSomething();
|
格式化前 | 格式化后,on_single_line |
|---|---|
if (condition) DoSomething();
if (condition)
DoSomething();
| if (condition) DoSomething();
if (condition) DoSomething();
|
格式化前 | 格式化后,line_break |
|---|---|
if (condition) DoSomething();
if (condition)
DoSomething();
| if (condition)
DoSomething();
if (condition)
DoSomething();
|
单语句函数
属性名称:
[resharper_]js_single_statement_function_style, [resharper_]single_statement_function_style
可能的值:
不更改: 不更改on_single_line: 强制放在单行line_break: 强制换行
示例:
格式化前 | 格式化后,do_not_change |
|---|---|
foo(function(){document.writeln();});
foo(function(){
document.writeln();
});
foo(function(){document.writeln();
});
| foo(function() { document.writeln(); });
foo(function() {
document.writeln();
});
foo(function() {
document.writeln();
});
|
格式化前 | 格式化后,on_single_line |
|---|---|
foo(function(){document.writeln();});
foo(function(){
document.writeln();
});
foo(function(){document.writeln();
});
| foo(function() { document.writeln(); });
foo(function() { document.writeln(); });
foo(function() { document.writeln(); });
|
格式化前 | 格式化后,line_break |
|---|---|
foo(function(){document.writeln();});
foo(function(){
document.writeln();
});
foo(function(){document.writeln();
});
| foo(function() {
document.writeln();
});
foo(function() {
document.writeln();
});
foo(function() {
document.writeln();
});
|
特殊的 'else if' 处理
属性名称:
[resharper_]js_special_else_if_treatment, [resharper_]special_else_if_treatment
可能的值:
true | false
示例:
true |
|---|
if (condition) {
foo();
} else if (condition) {
}
|
false |
|---|
if (condition) {
foo();
} else
if (condition) {
}
|
换行与拆分
硬换行于
属性名称:
max_line_length, [resharper_]js_max_line_length
可能的值:
一个整数
首选在逗号前换行
属性名称:
[resharper_]js_wrap_before_comma, [resharper_]wrap_before_comma
可能的值:
true | false
示例:
格式化前 | 格式化后,true |
|---|---|
method(par1, par2, par3, par4, par5, par6, par7, par8, par9, par10);
| method(par1
, par2
, par3
, par4
, par5
, par6
, par7
, par8
, par9
, par10);
|
格式化前 | 格式化后,false |
|---|---|
method(par1, par2, par3, par4, par5, par6, par7, par8, par9, par10);
| method(par1,
par2,
par3,
par4,
par5,
par6,
par7,
par8,
par9,
par10);
|
将链式方法调用换行
属性名称:
[resharper_]js_wrap_chained_method_calls, [resharper_]wrap_chained_method_calls
可能的值:
wrap_if_long:简单换行chop_if_long:如果过长或多行则分割chop_always:始终分割
示例:
格式化前 | 格式化后,wrap_if_long |
|---|---|
obj.m().m().m();
obj.method().method().method().method().method().method().method();
| obj.m().m().m();
obj.method().method().method()
.method().method()
.method().method();
|
格式化前 | 格式化后,chop_if_long |
|---|---|
obj.m().m().m();
obj.method().method().method().method().method().method().method();
| obj.m().m().m();
obj.method()
.method()
.method()
.method()
.method()
.method()
.method();
|
格式化前 | 格式化后,chop_always |
|---|---|
obj.m().m().m();
obj.method().method().method().method().method().method().method();
| obj.m()
.m()
.m();
obj.method()
.method()
.method()
.method()
.method()
.method()
.method();
|
首选在 '.' 前换行
属性名称:
[resharper_]js_wrap_before_dot, [resharper_]wrap_before_dot
可能的值:
true | false
示例:
格式化前 | 格式化后,true |
|---|---|
obj.method().method().method().method().method().method().method();
| obj.method().method().method()
.method().method()
.method().method();
|
格式化前 | 格式化后,false |
|---|---|
obj.method().method().method().method().method().method().method();
| obj.method().method().
method().method().
method().method().
method();
|
将链式二元表达式换行
属性名称:
[resharper_]js_wrap_chained_binary_expressions, [resharper_]wrap_chained_binary_expressions
可能的值:
wrap_if_long:简单换行chop_if_long:如果过长或多行则分割
示例:
格式化前 | 格式化后,wrap_if_long |
|---|---|
var y = a1 + a2 + a3 + a4;
var x = arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8;
| var y = a1 + a2 + a3 + a4;
var x = arg1 + arg2 + arg3 +
arg4 + arg5 + arg6 +
arg7 + arg8;
|
格式化前 | 格式化后,chop_if_long |
|---|---|
var y = a1 + a2 + a3 + a4;
var x = arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8;
| var y = a1 + a2 + a3 + a4;
var x = arg1 +
arg2 +
arg3 +
arg4 +
arg5 +
arg6 +
arg7 +
arg8;
|
首选在二元表达式中的运算符前换行
属性名称:
[resharper_]js_wrap_before_binary_opsign, [resharper_]wrap_before_binary_opsign
可能的值:
true | false
示例:
格式化前 | 格式化后,true |
|---|---|
var x = arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8;
| var x = arg1
+ arg2
+ arg3
+ arg4
+ arg5
+ arg6
+ arg7
+ arg8;
|
格式化前 | 格式化后,false |
|---|---|
var x = arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8;
| var x = arg1 +
arg2 +
arg3 +
arg4 +
arg5 +
arg6 +
arg7 +
arg8;
|
将调用实参换行
属性名称:
[resharper_]js_wrap_arguments_style, [resharper_]wrap_arguments_style
可能的值:
wrap_if_long:简单换行chop_if_long:如果过长或多行则分割chop_always:始终分割
示例:
格式化前 | 格式化后,wrap_if_long |
|---|---|
m(a,b,c,d);
method(par1, par2, par3, par4, par5, par6, par7, par8, par9, par10);
| m(a, b, c, d);
method(par1, par2, par3, par4,
par5, par6, par7, par8,
par9, par10);
|
格式化前 | 格式化后,chop_if_long |
|---|---|
m(a,b,c,d);
method(par1, par2, par3, par4, par5, par6, par7, par8, par9, par10);
| m(a, b, c, d);
method(par1,
par2,
par3,
par4,
par5,
par6,
par7,
par8,
par9,
par10);
|
格式化前 | 格式化后,chop_always |
|---|---|
m(a,b,c,d);
method(par1, par2, par3, par4, par5, par6, par7, par8, par9, par10);
| m(a,
b,
c,
d);
method(par1,
par2,
par3,
par4,
par5,
par6,
par7,
par8,
par9,
par10);
|
首选在调用中的 '(' 前换行
属性名称:
[resharper_]js_wrap_before_invocation_lpar, [resharper_]wrap_before_invocation_lpar
可能的值:
true | false
示例:
格式化前 | 格式化后,true |
|---|---|
method(par1, par2, par3, par4, par5, par6, par7, par8, par9, par10);
| method
(par1,
par2,
par3,
par4,
par5,
par6,
par7,
par8,
par9,
par10);
|
格式化前 | 格式化后,false |
|---|---|
method(par1, par2, par3, par4, par5, par6, par7, par8, par9, par10);
| method(par1,
par2,
par3,
par4,
par5,
par6,
par7,
par8,
par9,
par10);
|
首选在调用中的 '(' 后换行
属性名称:
[resharper_]js_wrap_after_invocation_lpar, [resharper_]wrap_after_invocation_lpar
可能的值:
true | false
示例:
格式化前 | 格式化后,true |
|---|---|
method(par1, par2, par3, par4, par5, par6, par7, par8, par9, par10);
| method(
par1,
par2,
par3,
par4,
par5,
par6,
par7,
par8,
par9,
par10);
|
格式化前 | 格式化后,false |
|---|---|
method(par1, par2, par3, par4, par5, par6, par7, par8, par9, par10);
| method(par1,
par2,
par3,
par4,
par5,
par6,
par7,
par8,
par9,
par10);
|
将形参换行
属性名称:
[resharper_]js_wrap_parameters_style, [resharper_]wrap_parameters_style
可能的值:
wrap_if_long:简单换行chop_if_long:如果过长或多行则分割chop_always:始终分割
示例:
格式化前 | 格式化后,wrap_if_long |
|---|---|
function f(a,b,c) {}
function meth(par1, par2, par3, par4, par5, par6, par7, par8) {}
| function f(a, b, c) {}
function meth(par1, par2,
par3, par4, par5, par6,
par7, par8) {
}
|
格式化前 | 格式化后,chop_if_long |
|---|---|
function f(a,b,c) {}
function meth(par1, par2, par3, par4, par5, par6, par7, par8) {}
| function f(a, b, c) {}
function meth(par1,
par2,
par3,
par4,
par5,
par6,
par7,
par8) {
}
|
格式化前 | 格式化后,chop_always |
|---|---|
function f(a,b,c) {}
function meth(par1, par2, par3, par4, par5, par6, par7, par8) {}
| function f(a,
b,
c) {
}
function meth(par1,
par2,
par3,
par4,
par5,
par6,
par7,
par8) {
}
|
首选在声明中的 '(' 前换行
属性名称:
[resharper_]js_wrap_before_declaration_lpar, [resharper_]wrap_before_declaration_lpar
可能的值:
true | false
示例:
格式化前 | 格式化后,true |
|---|---|
function meth(par1, par2, par3, par4, par5, par6, par7, par8) {}
| function meth
(par1,
par2,
par3,
par4,
par5,
par6,
par7,
par8) {
}
|
格式化前 | 格式化后,false |
|---|---|
function meth(par1, par2, par3, par4, par5, par6, par7, par8) {}
| function meth(par1,
par2,
par3,
par4,
par5,
par6,
par7,
par8) {
}
|
首选在声明中的 '(' 后换行
属性名称:
[resharper_]js_wrap_after_declaration_lpar, [resharper_]wrap_after_declaration_lpar
可能的值:
true | false
示例:
格式化前 | 格式化后,true |
|---|---|
function meth(par1, par2, par3, par4, par5, par6, par7, par8) {}
| function meth(
par1,
par2,
par3,
par4,
par5,
par6,
par7,
par8) {
}
|
格式化前 | 格式化后,false |
|---|---|
function meth(par1, par2, par3, par4, par5, par6, par7, par8) {}
| function meth(par1,
par2,
par3,
par4,
par5,
par6,
par7,
par8) {
}
|
将对象字面量换行
属性名称:
[resharper_]js_wrap_object_literals, [resharper_]wrap_object_literals
可能的值:
wrap_if_long:简单换行chop_if_long:如果过长或多行则分割chop_always:始终分割
示例:
格式化前 | 格式化后,wrap_if_long |
|---|---|
var x = { a: 1, b: 1};
var y = { field1: null, field2: null, field3: null, field4: null };
| var x = { a: 1, b: 1 };
var y = { field1: null,
field2: null,
field3: null, field4: null
};
|
格式化前 | 格式化后,chop_if_long |
|---|---|
var x = { a: 1, b: 1};
var y = { field1: null, field2: null, field3: null, field4: null };
| var x = { a: 1, b: 1 };
var y = {
field1: null,
field2: null,
field3: null,
field4: null
};
|
格式化前 | 格式化后,chop_always |
|---|---|
var x = { a: 1, b: 1};
var y = { field1: null, field2: null, field3: null, field4: null };
| var x = {
a: 1,
b: 1
};
var y = {
field1: null,
field2: null,
field3: null,
field4: null
};
|
将数组字面量换行
属性名称:
[resharper_]js_wrap_array_literals, [resharper_]wrap_array_literals
可能的值:
wrap_if_long:简单换行chop_if_long:如果过长或多行则分割chop_always:始终分割
示例:
格式化前 | 格式化后,wrap_if_long |
|---|---|
var x = [1,2,3,4];
var y = [elem1, elem2, elem3, elem4, elem5, elem6, elem7, elem8, elem9];
| var x = [1, 2, 3, 4];
var y = [elem1, elem2, elem3,
elem4, elem5, elem6,
elem7, elem8, elem9];
|
格式化前 | 格式化后,chop_if_long |
|---|---|
var x = [1,2,3,4];
var y = [elem1, elem2, elem3, elem4, elem5, elem6, elem7, elem8, elem9];
| var x = [1, 2, 3, 4];
var y = [
elem1, elem2, elem3,
elem4, elem5, elem6,
elem7, elem8, elem9
];
|
格式化前 | 格式化后,chop_always |
|---|---|
var x = [1,2,3,4];
var y = [elem1, elem2, elem3, elem4, elem5, elem6, elem7, elem8, elem9];
| var x = [
1, 2, 3, 4
];
var y = [
elem1, elem2, elem3,
elem4, elem5, elem6,
elem7, elem8, elem9
];
|
将 import 声明换行
属性名称:
[resharper_]js_wrap_imports, [resharper_]wrap_imports
可能的值:
wrap_if_long:简单换行chop_if_long:如果过长或多行则分割chop_always:始终分割
示例:
格式化前 | 格式化后,wrap_if_long |
|---|---|
import { Component, EventEmitter, OnInit, Output, Input } from '@angular/core';
import { OnInit, Input } from '@angular/core';
| import { Component,
EventEmitter, OnInit,
Output, Input
} from '@angular/core';
import { OnInit, Input } from
'@angular/core';
|
格式化前 | 格式化后,chop_if_long |
|---|---|
import { Component, EventEmitter, OnInit, Output, Input } from '@angular/core';
import { OnInit, Input } from '@angular/core';
| import {
Component,
EventEmitter,
OnInit,
Output,
Input
} from '@angular/core';
import { OnInit, Input } from
'@angular/core';
|
格式化前 | 格式化后,chop_always |
|---|---|
import { Component, EventEmitter, OnInit, Output, Input } from '@angular/core';
import { OnInit, Input } from '@angular/core';
| import {
Component,
EventEmitter,
OnInit,
Output,
Input
} from '@angular/core';
import {
OnInit,
Input
} from '@angular/core';
|
换行 'for' 语句头
属性名称:
[resharper_]js_wrap_for_stmt_header_style, [resharper_]wrap_for_stmt_header_style
可能的值:
wrap_if_long:简单换行chop_if_long:如果过长或多行则分割chop_always:始终分割
示例:
格式化前 | 格式化后,wrap_if_long |
|---|---|
for (a = 1; a < 5; a ++);
for (myVar = 0; myVar < 5; myVar ++);
| for (a = 1; a < 5; a ++);
for (myVar = 0; myVar < 5;
myVar ++);
|
格式化前 | 格式化后,chop_if_long |
|---|---|
for (a = 1; a < 5; a ++);
for (myVar = 0; myVar < 5; myVar ++);
| for (a = 1; a < 5; a ++);
for (myVar = 0;
myVar < 5;
myVar ++);
|
格式化前 | 格式化后,chop_always |
|---|---|
for (a = 1; a < 5; a ++);
for (myVar = 0; myVar < 5; myVar ++);
| for (a = 1;
a < 5;
a ++);
for (myVar = 0;
myVar < 5;
myVar ++);
|
将三元表达式换行
属性名称:
[resharper_]js_wrap_ternary_expr_style, [resharper_]wrap_ternary_expr_style
可能的值:
wrap_if_long:简单换行chop_if_long:如果过长或多行则分割chop_always:始终分割
示例:
格式化前 | 格式化后,wrap_if_long |
|---|---|
var x = a ? b : c;
var y = myObj === null ? myObj.getValue() : null;
| var x = a ? b : c;
var y = myObj === null
? myObj.getValue() : null;
|
格式化前 | 格式化后,chop_if_long |
|---|---|
var x = a ? b : c;
var y = myObj === null ? myObj.getValue() : null;
| var x = a ? b : c;
var y = myObj === null
? myObj.getValue()
: null;
|
格式化前 | 格式化后,chop_always |
|---|---|
var x = a ? b : c;
var y = myObj === null ? myObj.getValue() : null;
| var x = a
? b
: c;
var y = myObj === null
? myObj.getValue()
: null;
|
首选在三元表达式中的 '?' 和 ':' 前换行
属性名称:
[resharper_]js_wrap_before_ternary_opsigns, [resharper_]wrap_before_ternary_opsigns
可能的值:
true | false
示例:
格式化前 | 格式化后,true |
|---|---|
var y = myObj === null ? myObj.getValue() : null;
| var y = myObj === null
? myObj.getValue()
: null;
|
格式化前 | 格式化后,false |
|---|---|
var y = myObj === null ? myObj.getValue() : null;
| var y = myObj === null ?
myObj.getValue() :
null;
|
将多个声明换行
属性名称:
[resharper_]js_wrap_multiple_declaration_style, [resharper_]wrap_multiple_declaration_style
可能的值:
wrap_if_long:简单换行chop_if_long:如果过长或多行则分割chop_always:始终分割
示例:
格式化前 | 格式化后,wrap_if_long |
|---|---|
var a, b, c;
var left = 100, top = 100, width = calcWidth(), height = calcHeight();
| var a, b, c;
var left = 100, top = 100,
width = calcWidth(),
height = calcHeight();
|
格式化前 | 格式化后,chop_if_long |
|---|---|
var a, b, c;
var left = 100, top = 100, width = calcWidth(), height = calcHeight();
| var a, b, c;
var left = 100,
top = 100,
width = calcWidth(),
height = calcHeight();
|
格式化前 | 格式化后,chop_always |
|---|---|
var a, b, c;
var left = 100, top = 100, width = calcWidth(), height = calcHeight();
| var a,
b,
c;
var left = 100,
top = 100,
width = calcWidth(),
height = calcHeight();
|
放置在新行上
将 'else' 置于新行中
属性名称:
[resharper_]js_new_line_before_else, [resharper_]new_line_before_else
可能的值:
true | false
示例:
true |
|---|
if (condition) {
foo();
}
else {
foo();
}
|
false |
|---|
if (condition) {
foo();
} else {
foo();
}
|
将 'while' 置于新行中
属性名称:
[resharper_]js_new_line_before_while, [resharper_]new_line_before_while
可能的值:
true | false
示例:
true |
|---|
do {
foo();
}
while (condition);
|
false |
|---|
do {
foo();
} while (condition);
|
将 'catch' 置于新行中
属性名称:
[resharper_]js_new_line_before_catch, [resharper_]new_line_before_catch
可能的值:
true | false
示例:
true |
|---|
try {
foo();
}
catch (e) {
foo();
} finally {
}
|
false |
|---|
try {
foo();
} catch (e) {
foo();
} finally {
}
|
将 'finally' 置于新行中
属性名称:
[resharper_]js_new_line_before_finally, [resharper_]new_line_before_finally
可能的值:
true | false
示例:
true |
|---|
try {
foo();
} catch (e) {
foo();
}
finally {
}
|
false |
|---|
try {
foo();
} catch (e) {
foo();
} finally {
}
|
将模板字面量实参置于新行中
属性名称:
[resharper_]js_place_template_args_on_new_line, [resharper_]place_template_args_on_new_line
可能的值:
true | false
示例:
true |
|---|
var q = `a: ${
a + b
}, b: ${
b + a
}`;
|
false |
|---|
var q = `a: ${a + b}, b: ${b + a}`;
|