Есть ли бесплатный инструмент / плагин, который может "на лету" форматировать код для VS C #?

Я только что перешел с VB.Net на C #. Я не понимаю, почему люди его используют / предпочитают, потому что на это уходит гораздо больше времени!

В VB.NET вы просто вводите свой код, а форматы VB.NET остаются неизменными, например:

удаляет ненужные пробелы, автоматически помещает в квадратные скобки, вкладывает блоки кода, автоматически создает операторы NEXT, END IF для блоков.

и противоположные / нюансы в C #, если вы меняете имя обработчика событий, он создает новый, не переименовывает существующий, вы должны иметь () в конце метода

и я уверен, что есть еще

Почему C # наоборот? Несомненно, должен быть способ как-то повысить производительность. Есть какие-нибудь идеи или бесплатные инструменты?


person Simon    schedule 08.07.2010    source источник
comment
Если вы используете Refactor ›Rename, все экземпляры этого имени будут изменены.   -  person ChrisF    schedule 08.07.2010
comment
Хорошие комментарии, спасибо. Должно помочь некоторые из проблем, с которыми я сталкиваюсь.   -  person Simon    schedule 08.07.2010


Ответы (4)


Не автоматический НО .....

Используйте Ctrl + K + Ctrl + D для форматирования нажатия клавиши в документе

Используйте Ctrl + K + Ctrl + F для форматирования нажатия клавиши выбора

Из Форматировать весь файл Visual Studio?

person TJB    schedule 08.07.2010
comment
спасибо за комбинацию клавиш. Делает то, что мне нужно ... теперь, если бы был только способ настроить таймер ... - person Simon; 08.07.2010

Это не имеет ничего общего с языком, а все связано с редактором.

Тем не менее, редактор для C # в Visual Studio поддерживает автоматическое форматирование несколькими способами.

Если вы удалите и снова вставите закрывающую скобку }, она автоматически переформатируется / переформатируется.

Есть несколько пунктов меню и соответствующие сочетания клавиш, которые переформатируют код за вас:

Ctrl + k + d - это переформатирует весь документ.

Ctrl + k + f - это переформатирует выделение.

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

person Oded    schedule 08.07.2010

Я использую C # в Visual Studio 2008, и он ведет себя именно так, как вы описываете. Практически каждый раз, когда я набираю точку с запятой или фигурную скобку, она исправляет все форматирование в контексте.

Например...

if     (myValue!= null) {
someValue = myValue;

Если я наберу закрывающую фигурную скобку, она превратится в это:

if (myValue != null) 
{
    someValue = myValue;
}

Все зависит от настроек стиля в Инструменты> Параметры

person Fenton    schedule 08.07.2010

Также существуют некоторые так называемые фрагменты кода. Если вы просто наберете if и нажмете tab tab, это автоматически приведет к

if (true)
{
}

установка курсора непосредственно на true.

Еще лучше фрагмент switch. Если вы введете переключатель и дважды нажмете tab, вы получите

switch (switch_on)
{
    default:
}

где ваш курсор стоит на switch_on.
Если вы теперь вводите что-то значимое, например имя переменной, которая содержит значение перечисления (например, var color = Color.Red;), и нажимаете Enter, оно автоматически заполняет все возможные случаи.

Доступны другие фрагменты кода, а некоторые очень удобны, например foreach, try, prop, propg.

person Oliver    schedule 08.07.2010