Многие параметры включают параметр значения Force
:
Добавить или удалить пробел между вложенными скобками
sp_paren_paren
{Ignore
,Add
,Remove
,Force
}
Что это значит? Чем он отличается от Add
?
Многие параметры включают параметр значения Force
:
Добавить или удалить пробел между вложенными скобками
sp_paren_paren
{Ignore
,Add
,Remove
,Force
}
Что это значит? Чем он отличается от Add
?
Добавить означает «добавить, если еще нет», что означает, что если что-то уже есть, оставьте это (и форматирование в покое). Force означает добавить, если нет, и переформатировать, если он присутствует:
// Original
if (cond) {
func();
}
// Add curly braces (already present, leaves formatting alone)
if (cond) {
func();
}
// Force curly braces
if (cond) {
func();
}
Или другой пример:
// Original
if (cond)
func();
// Add curly braces
if (cond) {
func();
}
// Force curly braces (behaves just like add in this case)
if (cond) {
func();
}
Add
добавляет, если его нет.
Remove
удаляет, если он есть.
Force
делает remove
, затем add
.
Как «Добавить или удалить X между A и B»
Add
: добавляет a X только тогда, когда X не появляется
AB -> AXB
AXB -> AXB
AXXB -> AXXB
Remove
: удаляет все появившиеся X
AB -> AB
AXB -> AB
AXXB -> AB
Force
: как сказал edwinc Remove
, затем Add
-> Сначала удаляет все (любые) X и, наконец, добавляет a X
AB -> AXB
AXB -> AB -> AXB
AXXB -> AB -> AXB
Но иногда «добавить X» может быть определено как добавление некоторого числа X в другом месте, поэтому Force
понравится «переформатировать», как сказал Крис.