Как изменить параметры форматирования в Visual Studio Code?

Я знаю, что вы можете форматировать код, используя Ctrl+F / Cmd+F в Visual Studio Code, но как вы изменить параметры форматирования для каждого языка?

Например, в Visual Studio 2013 я могу выбрать компактный режим для CSS.

Есть ли еще один скрытый файл JSON для этого?


person Matt McCabe    schedule 05.05.2015    source источник
comment
Возможно нет. Если вы читали онлайн-документ, вы могли заметить, что Microsoft упомянула только функцию форматирования для TypeScript .   -  person yushulx    schedule 06.05.2015
comment
Он работает для C# и JavaScript, я не могу найти официальный список, но это больше, чем просто TypeScript.   -  person Matt McCabe    schedule 06.05.2015
comment
это 2017 год, и он до сих пор не поддерживается?   -  person Asqan    schedule 22.02.2017


Ответы (8)


В коде VS:

Нажмите Ctrl+Shift+P

Затем введите Format Document With...

В конце списка нажмите на Configure Default Formatter...

Теперь вы можете выбрать свой любимый косметический элемент из списка.

Обновление 2021

если "Format Document With..." больше не существует, перейдите к file -> preferences -> settings -> Extensions -> Vetur немного прокрутите, затем вы увидите format -> defaultFormatter:css, теперь вы можете выбрать любой форматировщик документа которые вы установили ранее для разных расширений типов файлов.

person Sajad Saderi    schedule 05.10.2019
comment
Формат документа с... больше не существует - person Aero Wang; 23.12.2020
comment
Ветура тоже нет! - person Martijn Hiemstra; 30.12.2020
comment
@MartijnHiemstra К вашему сведению, Vetur — это расширение VS Code, доступное на торговой площадке VS Code :) .visualstudio.com/items?itemName=octref.vetur - person eriegz; 06.01.2021
comment
«Форматировать документ с помощью ...» появилось у меня после входа в настройки, поиска «форматера», выбора параметра «HTML» в дереве и проверки «Включить/отключить средство форматирования HTML по умолчанию». - person Felipe Correa; 14.05.2021
comment
Форматировать документ с... вернулся в 1.56.2 :) - person Gremi64; 01.06.2021

Я только что нашел это расширение под названием beautify в Market Place, и да, это другая конфигурация. \файл настроек. :)

Украсьте javascript, JSON, CSS, Sass и HTML в Visual Studio Code.

VS Code использует js-beautify внутри, но у него нет возможности изменить стиль, который вы хотите использовать. Это расширение позволяет запускать js-beautify в VS Code и учитывать любой файл .jsbeautifyrc в дереве путей открытого файла для загрузки стилей кода. Запустите с помощью F1 Beautify (чтобы украсить выделение) или файла F1 Beautify.

Справку по настройкам в .jsbeautifyrc см. в Settings.md.

Вот репозиторий GitHub: https://github.com/HookyQR/VSCodeBeautify

person Leniel Maccaferri    schedule 15.12.2016
comment
Спасибо, это выглядит довольно хорошо, мне не хватает этого в моем CSS, javascript/typescript и html, кажется, работает из коробки нормально. Похоже, вы можете поместить некоторые из них в свой .editorconfig. - person Matt McCabe; 16.12.2016
comment
Одно из лучших решений, поскольку оно использует файл конфигурации .jsbeautifyrc, который, в свою очередь, будет полезен для других членов команды, которые могут использовать другие IDE для написания кода. Для Sublime Text лучше всего подходит плагин HTML-CSS-JS-Prettify. там. К сожалению для Eclipse, реализации на рынке содержат ошибки. Мне все еще нужно использовать editorconfig, который делает достойную работу. - person Shiyaz; 20.06.2017
comment
Beautify хорош, но всегда доставляет мне проблемы. Я считаю, что красивее быть лучше и более настраиваемым. - person Trevor Jex; 23.08.2018

Если мы сейчас говорим об Visual Studio Code, вы устанавливаете средство форматирования по умолчанию в своем settings.json:

  // Defines a default formatter which takes precedence over all other formatter settings. 
  // Must be the identifier of an extension contributing a formatter.
  "editor.defaultFormatter": null,

Укажите на идентификатор любого установленного расширения, т.е.

"editor.defaultFormatter": "esbenp.prettier-vscode"

Вы также можете сделать это в зависимости от формата:

"[html]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[scss]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[sass]": {
    "editor.defaultFormatter": "michelemelluso.code-beautifier"
},

Также см. здесь.


Вы также можете назначить другие клавиши для разных средств форматирования в сочетаниях клавиш (keybindings.json). По умолчанию он гласит:

{
  "key": "shift+alt+f",
  "command": "editor.action.formatDocument",
  "when": "editorHasDocumentFormattingProvider && editorHasDocumentFormattingProvider && editorTextFocus && !editorReadonly"
}

Наконец, если вы решите использовать плагин Prettier и prettier.rc и хотите, например, разные отступы для html, scss, json...

{
    "semi": true,
    "singleQuote": false,
    "trailingComma": "none",
    "useTabs": false,

    "overrides": [
        {
            "files": "*.component.html",
            "options": {
                "parser": "angular",
                "tabWidth": 4
            }
        },
        {
            "files": "*.scss",
            "options": {
                "parser": "scss",
                "tabWidth": 2
            }
        },
        {
            "files": ["*.json", ".prettierrc"],
            "options": {
                "parser": "json",
                "tabWidth": 4
            }
        }
    ]
}
person Frank Nocke    schedule 12.12.2019
comment
format-specific должно перезаписывать default, но это не так. У меня prettier вместо default, а autopep8 вместо python, но только когда я комментирую значение по умолчанию, используется autopep8. Если нет: extension prettier cannot format <repo><file> - person Timo; 09.06.2021

Изменить:

Это в настоящее время поддерживается (по состоянию на 2019 г.). Инструкции см. в ответе Саджада Садери.

Нет, в настоящее время это не поддерживается (в 2015 году).

person Isidor Nikolic    schedule 06.05.2015
comment
Это позор, я проголосую за это и подожду и увижу. Я подозреваю, что это будет еще один файл настроек json, похоже, это направление, в котором они идут. - person Matt McCabe; 06.05.2015
comment
Уже не правильно? Тогда как? По крайней мере, укажите URL для этого. - person Damn Vegetables; 04.12.2017
comment
Извините за неточность. Ссылка на голос пользователя VisualStudio не работает. Вероятно, это проблема с github, и я смог найти github.com/Microsoft/vscode/issues. /1533. Вы также можете выполнить поиск в настройках формата, и вы найдете параметры javascript.format. - person SgtPooki; 24.02.2018

Вы можете внести некоторые изменения в «Настройки». Например, правила javascript начинаются с «javascript.format». Но для расширенного управления форматированием все же нужно использовать некоторые расширения.

Настройки правил для команды форматирования кода

person Hayk    schedule 25.03.2018

Решение, которое работает для меня (июль 2017 г.), заключается в использовании ESLint. Как всем известно, линтер можно использовать несколькими способами, глобально или локально. Я использую его локально и с помощью руководства по стилю Google. Я настроил это следующим образом...

  • cd to your working directory
  • npm init
  • npm install --save-dev eslint
  • node_modules/.bin/eslint --init
  • I use google style and json config file

Теперь у вас будет файл .eslintrc.json в корне вашего рабочего каталога. Вы можете открыть этот файл и изменить его по своему усмотрению, используя правила eslint. Нажмите cmd+,, чтобы открыть vscode системные настройки. В строке поиска введите eslint и найдите "eslint.autoFixOnSave": false. Скопируйте настройку и вставьте в файл настроек пользователя, заменив false на true. Надеюсь, это поможет кому-то использовать vscode.

person Gilbert    schedule 15.07.2017

То же самое случилось со мной только что. Я установил красивее в качестве форматирования по умолчанию в настройках, и он снова начал работать. Мой форматировщик по умолчанию был нулевым.

Чтобы установить форматирование по умолчанию VSCODE

Файл -> Настройки -> Настройки (для Windows) Код -> Настройки -> Настройки (для Mac)

Найдите средство форматирования по умолчанию. В раскрывающемся списке красивее будет отображаться как esbenp.prettier-vscode.

Параметры редактора VSCODE

person Hitesh Subnani    schedule 04.12.2020

Чтобы изменить настройки форматирования специально для C# (OmniSharp), вы можете использовать файл json:
Пользователь: ~/.omnisharp/omnisharp.json или %USERPROFILE%\.omnisharp\omnisharp.json
Рабочая область: omnisharp.json файл в рабочей каталог, на который указывает OmniSharp.

Пример:

{
  "FormattingOptions": {
    "NewLinesForBracesInMethods": false,
    "NewLinesForBracesInProperties": false,
    "NewLinesForBracesInAccessors": false,
    "NewLinesForBracesInAnonymousMethods": false,
    "NewLinesForBracesInControlBlocks": false,
    "NewLinesForBracesInObjectCollectionArrayInitializers": false,
    "NewLinesForBracesInLambdaExpressionBody": false
  }
}

Подробности в этом сообщении< /а> | схема omnisharp.json (она уже есть в vscode, вы можете просто нажать CTRL+ПРОБЕЛ)

Другие языковые расширения могут иметь аналогичные файлы для его настройки.

person geekley    schedule 17.07.2020