В коде с автозаполнением используются неправильные настройки стиля кода в Visual Studio 2022

Я использую TABS в качестве пробела, CRLF в качестве символа разрыва строки и располагаю фигурные скобки следующим образом:

private bool Example() {
    return true;
}

Итак, не так:

private bool Example()
{
    return false;
}

У меня такие же настройки текстового редактора VS 2022 C#. Тем не менее, почему-то всякий раз, когда я использую код с автозаполнением, например ctor + [tab], или когда Visual Studio настраивает пространства имен в файле, она всегда использует полную противоположность моим настройкам. Это действительно раздражает, и я не хочу каждый раз исправлять это вручную...

Я просмотрел настройки Visual Studio, но больше ничего, что могло бы повлиять на эти вещи, не нашел. Как изменить автоформатирование, чтобы использовать те же настройки, что и текстовый редактор C#? Спасибо.

Пробовали ли вы Ctrl+E, D или меню «Редактировать/Дополнительно/Формат документа» (где вы можете увидеть фактическое сочетание клавиш).

Olivier Jacot-Descombes 16.06.2024 18:33

МММ спасибо. Я попробую. Но нет ли какого-нибудь способа правильно отформатировать автозаполнение без необходимости впоследствии исправлять его вручную? @ОливьеЖако-Декомб

Markus 16.06.2024 18:48

Кстати, вы также можете использовать пространства имен с областью действия файла без фигурных скобок.

Olivier Jacot-Descombes 16.06.2024 19:01

Возможно ли, что локальный файл editorConfig проекта/решения переопределяет настройки IDE?

Alex D 16.06.2024 19:03

Похоже, это особенность Visual Studio, поскольку это происходит во всех проектах. @АлексД

Markus 16.06.2024 19:27

Почему вы отредактировали положение открывающей фигурной скобки в первом примере? Вы отредактировали это так, что это не имело никакого смысла. Пожалуйста, прочитайте вопрос, прежде чем редактировать что-то. @marc_s

Markus 16.06.2024 19:41

Следующие материалы могут представлять интерес: Параметры правил в стиле кода , Параметры форматирования C# и Параметры форматирования C#

user246821 17.06.2024 05:35

Убедитесь, что вы установили настройки в VS так, как хотите. Затем в VS нажмите «Инструменты» => «Параметры...» => разверните «Текстовый редактор» => разверните «C#» => разверните «Стиль кода» => нажмите «Основные» => нажмите «Создать файл .editorconfig из настроек» => нажмите «Сохранить» => нажмите «ОК». Каждый раз, когда вы вносите какие-либо изменения в настройки, повторяйте этот процесс и выберите перезапись существующего файла.

user246821 17.06.2024 05:45

Кажется, это сработало, @user246821! Итак, мне просто нужно сохранить файл .editorconfig в проект? Нет возможности его где-нибудь сохранить, чтобы он работал универсально во всех проектах?

Markus 18.06.2024 12:29
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
9
138
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Я сделал некоторые дополнения на основе информации, предоставленной пользователем246821. Вот проверенный подход, который может вступить в силу.

  1. Нажмите «Инструменты → Параметры → Текстовый редактор → C# → Стиль кода → Общие → Новые строки → Создать файл .editorconfig из настроек», чтобы экспортировать файл .editorconfig, убедитесь, что файл с именем «.editorconfig» и сохраните его в том же месте. каталог как файл .sln.
  2. Откройте только что созданный файл «.editorconfig», найдите оператор «csharp_new_line_before_open_brace = all» (значение приведено только для примера) и измените его на «csharp_new_line_before_open_brace = none».
  3. Вы можете выполнить операцию очистки и перестройки решения или перезагрузить Visual Studio, чтобы изменения вступили в силу.

Зачем вам публиковать ответ с информацией, которую я предоставил? Это плагиат. Если информация работает для ОП, я сам опубликую ее как ответ.

user246821 17.06.2024 16:21

Я добавил, что этот контент основан на информации, которую вы предоставили @user246821.

Fei Xu 18.06.2024 04:48
Ответ принят как подходящий

Вы можете попробовать создать файл .editorConfig, как описано в разделах Параметры правил стиля кода и Настройки стиля кода.

В Visual Studio измените настройки по желанию.

Например, если вы хотите иметь следующий стиль кода:

public class Class1 
{
    public Class1() {
        
    }
}

Установите нужные настройки:

В меню Visual Studio:

  • Нажмите Инструменты
  • Выберите Параметры...
  • Развернуть текстовый редактор
  • Развернуть С#
  • Развернуть стиль кода
  • Развернуть форматирование
  • Выберите новые строки
  • Снимите флажок Размещать открывающую скобку на новой строке для методов и локальных функций.
  • Нажмите «ОК» (меню «Инструменты» будет закрыто, но это необходимо для правильного сохранения настроек перед созданием файла .editorconfig).

Создайте .editorconfig:

В меню Visual Studio:

  • Нажмите Инструменты
  • Выберите Параметры...
  • Развернуть текстовый редактор
  • Развернуть С#
  • Развернуть стиль кода
  • Выберите Общие
  • Нажмите
  • Выберите желаемое место (например, папку) для сохранения.
  • Нажмите «Сохранить». Если файл .editorconfig уже существует, появится приглашение, в котором будет указано: .editorconfig уже существует. Вы хотите заменить это? Нажмите Да.
  • Нажмите ОК

Примечание. Если вы хотите, чтобы файл .editorconfig применялся ко всем вашим проектам, убедитесь, что вы сохранили его в родительском каталоге, содержащем все ваши проекты. Например, если все проекты/решения хранятся в %UserProfile%\Documents\Projects, сохраните .editorconfig в %UserProfile%\Documents\Projects.

Для получения дополнительной информации см. Иерархия и приоритет файлов EditorConfig.

Согласно Определите согласованные стили кодирования с помощью EditorConfig:

После редактирования файла EditorConfig необходимо перезагрузить файлы кода. чтобы новые настройки вступили в силу.

Альтернативно можно выполнить действия, описанные в разделе Определить согласованные стили кодирования с помощью EditorConfig, чтобы создать файл .editorconfig.


Протестируйте изменения:

  • Создайте новое приложение Windows Forms (.NET Framework) в Visual Studio (имя: WindowsFormsApp1).

  • Добавьте класс в проект (имя: Class1.cs)

  • В Class1.cs поместите курсор внутри фигурных скобок Class1, затем введите ctor. Затем нажмите клавишу Tab.


Ресурсы:

Другие вопросы по теме