Формат многострочного кода в одну строку в Visual Studio

#visual-studio #visual-studio-2013 #resharper #keyboard-shortcuts #code-formatting

#visual-studio #visual-studio-2013 #resharper #сочетания клавиш #код-форматирование

Вопрос:

Есть ли сочетание клавиш или быстрый способ изменить приведенный ниже код на одну строку в Visual Studio 2013? У меня также установлен ReSharper.

Мульти

 new XElement("Option",
            new XAttribute("Name", "FileDelete"),
            "1"
        ),
  

Одиночный

 new XElement("Option", new XAttribute("Name", "FileDelete"),"1" ),
  

Ответ №1:

Просто выделите весь текст

и нажмите (control j)

и это станет 1 строкой кода

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

1. Название команды, стоящей за Ctrl J моей привязкой ключа, отличается от значения по умолчанию.

2. работает ли это в 2022 году

3. (control j) откройте внутренний терминал в моем коде Visual Studio.

Ответ №2:

Я настраиваю поиск / замену для быстрого использования с помощью выражения регулярного выражения следующим образом:

(примечание: я использую VS 2015, поэтому ваши горячие клавиши могут отличаться)

  1. Используйте Ctrl H, чтобы открыть quick find replace.
  2. Убедитесь, что кнопка «Использовать регулярные выражения» активна / включена, и что вы настроены на поиск в «Выборе» (а не в «Документе» или «Всем решении» или что-то еще)
  3. Тип
    s
    и a space()
    в полях "найти" и "заменить на" соответственно.
  4. Нажмите Escклавишу для выхода из быстрого поиска / замены.
  5. Теперь, пока вы ничего не меняете, вы можете выбрать любой текст, который хотите сделать однострочным, и использовать следующую последовательность горячих клавиш для его быстрого форматирования:
    1. Ctrl H (Открыть quick find / replace)
    2. Alt A (Замените любое вхождение 1 или более белых символов Spc одним пробелом.)
    3. Enter (Закройте всплывающее окно с надписью "Найдено X вхождений")
    4. Esc (Завершите быстрый поиск / замену и вернитесь к своему коду)

Я использую это все время после того, как Visual Studio делает такие вещи, как реализация интерфейсов, чтобы превратить такие вещи, как

 public SomeType SomeProperty {
    get {
        throw new NotImplementedException();
    }
    set {
        throw new NotImplementedException();
    }
}
  

в такие вещи, как

 public SomeType SomeProperty { get { return someField; } set { /*Some Simple Set Code*/; } }
  

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

1. Подтверждено, что это работает в VS2012. Сэкономил мне кучу времени!

2. Отличный ответ! Как сказал уотерснейк ... сэкономил мне кучу времени. Спасибо!

Ответ №3:

Для VS2019 привязка по умолчанию установлена на Shift Alt L J

Или вы можете повторно связать это с чем-то другим, перейдя к Tools -> Options -> Keyboard -> search for 'join'

Повторно Edit.JoinLines свяжите действие с чем-то вроде (Text Editor) Ctrl J затем нажмите Assign

введите описание изображения здесь

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

1. Это единственный ответ, который, по-видимому, напрямую касается вопроса OP.

2. Shift Alt L J работает в VS2022

Ответ №4:

Чтобы сделать это с помощью ReSharper, вы должны снять флажок "Сохранить существующие разрывы строк" в ReSharper / Options / Редактирование кода / C # / Стиль форматирования / Разрывы строк и перенос.

Или просто добавьте эту строку в свой .DotSettings

 <s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/KEEP_USER_LINEBREAKS/@EntryValue">False</s:Boolean>
  

Затем вы можете отформатировать свой код с помощью инструмента очистки кода (сочетание клавиш по умолчанию - Ctrl Alt F) или просто введя точки с запятой или фигурные скобки.

Ответ №5:

Для меня выполнение Ctrl J открывает терминал Linux и не форматирует несколько строк в одну строку.

Это самый быстрый способ в Linux

  1. Нажмите Ctrl Shift P
  2. Объединение строк

Ответ №6:

Вы можете изменить настройки VS, чтобы автоматически форматировать код любым удобным для вас способом, затем выберите и повторно введите любой символ, заканчивающий строку / блок (';' или '}') после текста, который вы хотите отформатировать, и VS отформатирует его для вас.

Ответ №7:

Вы можете выполнить это с помощью CodeMaid. Привязка клавиш по умолчанию - F3, но команда вызывается CodeMaid.JoinLines , если вы хотите ее изменить