Как я могу настроить VSCode для размещения фигурных скобок в одной строке?

#visual-studio-code #vscode-settings

#visual-studio-code

Вопрос:

По умолчанию это

 {path: '/post/:postId', component: Post},
  

преобразуются в это

 {
    path: '/post/:postId',
    component: Post
},
  

Как я могу отключить это поведение?

UPD. Я пишу на JavaScript, в последний раз в vuejs с плагином vetur

UPD2. Пример кода.

 // before
export default new Router({
  routes: [
    { path: '/', component: Home },
    { path: '/about', component: About },
    { path: '/todo', component: Todo },
  ]
})
// after formatting (curly braces are moved on new line)
export default new Router({
    routes: [{
            path: '/',
            component: Home
        },
        {
            path: '/about',
            component: About
        },
        {
            path: '/todo',
            component: Todo
        },
    ]
})
  

UPD 3. Может быть, Prettier будет полезен для решения этой задачи?

UPD 4. В моем случае проблема была в дополнительном плагине для форматирования. В качестве опции форматирования по умолчанию был установлен Beautify, и все настройки для vscode formatter не работали.

Решением является установка по умолчанию vscode formatter или prettier.

 "[javascript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode",
},
  

Спасибо всем. Особенно для maven87.

Комментарии:

1. Последнее является довольно стандартным соглашением для всех языков, которые я использовал. Если ваш код будут читать другие люди, возможно, вам захочется придерживаться соглашения.

2. @Adrian, я согласен, это важно. Но этот вопрос о другой проблеме.

3. на каком языке вы кодируете?

4. JavaScript, последний раз в vuejs с плагином vetur

5. можете ли вы добавить больше кода. чтобы мы могли правильно отлаживать? как будто вы используете массив, функцию или что-то в этом роде

Ответ №1:

Параметры, которые вы ищете, следующие:

 {
  // Defines whether an open brace is put onto a new line for control blocks or not.
  "javascript.format.placeOpenBraceOnNewLineForControlBlocks": false,

  // Defines whether an open brace is put onto a new line for functions or not.
  "javascript.format.placeOpenBraceOnNewLineForFunctions": false
}
  

Пожалуйста, обратитесь к статье «Настройки пользователя и рабочей области«. Он охватывает аналогичные настройки и для других языков.

Если это не обеспечивает достаточного контроля, вы также можете использовать Beautify и указать .jsbeautifyrc

с настройкой стиля фигурных скобок следующим образом:

 {
   "js": {
       "brace_style": "collapse,preserve-inline"
    }
}
  

Пожалуйста, обратитесь к этому, чтобы увидеть все возможные значения.

Обновить

Было указано, что существует другая степень контроля, когда, если вы хотите полностью изменить форматировщик, вы делаете это, устанавливая правильный плагин VS Code, а затем настраивая соответствующий форматировщик (см. статью «Настройки пользователя и рабочей области«). Например:

 "[javascript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode",
}
  

В этом случае используемый форматировщик красивее — Code formatter

Комментарии:

1. Как насчет литералов объектов json? Они не являются ни блоками управления, ни функциями.

2. В моем случае проблема была в дополнительном плагине для форматирования. В качестве опции форматирования по умолчанию был установлен Beautify, и все настройки для vscode formatter не работали. Решением является установка по умолчанию vscode formatter или prettier. Вы позволили мне уловить эту идею. Измените свой ответ, и я отмечу его как решение.

3. @karmakaze для плагина beautify вы можете использовать beautify. настройка языка и укажите, что js сопоставляется с javascript и json. Вы можете просмотреть их Readme для получения дополнительной информации

Ответ №2:

В VS Code перейдите в настройки: «Файл-> Настройки-> Настройки»

В настройках найдите «curly». Он выполнит поиск в настройках ниже, отменит их и проверит, работает ли это так, как ожидалось. введите описание изображения здесь

Ответ №3:

В моем случае проблема была в дополнительном плагине для форматирования. В качестве опции форматирования по умолчанию был установлен Beautify, и все настройки для vscode formatter не работали.

Решением является установка по умолчанию vscode formatter или prettier.

 "[javascript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode",
},