Привет, сначала большое спасибо вам, ребята, за такую замечательную библиотеку!
У меня проблема, когда я использую аргументы многострочной функции, содержащие объекты:
// This is working OK for me and it is very readable
myFunc('myString',
myFunc2(),
andSoOn());
Но когда я пытаюсь:
// This is working OK for me and it is very readable
myFunc('myString',
{ myProp: true }, // I have just insterted this object
andSoOn());
Все переформатировано в одну строчку ...
myFunc('myString', { myProp: true }, andSoOn());
Я почти уверен, что это связано с правилом {"brace_style": "preserve-inline"}.
ОС: Linux Mint
Редактор кода: VSCode
Пример:
{
"editor": {
"formatOnSave": true
},
"brace_style": "collapse,preserve-inline"
}
Еще раз спасибо;)
Параметр collapse
возвращает фигурную скобку к предыдущей строке.
Но можно было бы возразить, что preserve-inline
должно переопределить это. Сложность в том, что beautifier не может сказать, будет ли блок встроенным, пока не достигнет его конца. В нынешнем дизайне это сложно.
Хорошо, я пробовал с конфигурацией:
{
"brace_style": "none,preserve-inline"
}
И результат тот же ... также я думаю, что это происходит только в контексте параметров функции, все остальные случаи в порядке, надеюсь, у меня есть время, чтобы проверить это.
Привет, для тех, кто ищет решение, вот обходной путь:
myFunc( //
{ myProp: true }, //
{ myProp: true }, //
{ myProp: true });
Когда я помещаю пустой комментарий, он не переформатируется в одну строку. По крайней мере, на VScode. Он не делает менее понятным и легко удаляется в рамках проекта с помощью поиска и замены ( //\n
)
Надеюсь, это поможет ...
@sebRomeo
Ой. Я рад, что вы нашли обходной путь, но это болезненная работа.
Чтобы было ясно, "none,preserve-inline"
должен работать, поэтому я заменяю это на ошибку.