Как настроить табуляцию visual studio

Знаки табуляции или пробелы: решаем с помощью Visual Studio

Привет, Хабр! Культурные воины продолжаются, люди сражаются по разные стороны баррикад, пытаясь решить: tabs or spaces. На эту же тему мы нашли интересную статью Скотта Хансельмана, в которой он рассказывает про инструмент, решающий это спор, EditorConfig в Visual Studio. Всех интересующихся прошу под кат.

Помните, летом на StackOverflow была статья о том, что на пробелах люди зарабатывают больше.

Разберемся в этом вместе с Джиной Трапани (Gina Trapani). Найдем рабочий код.

Разработчики могут ломать копья и дальше, но проблема форматирования кода решается с помощью файла EditorConfig. Удивительно, но многие люди пользуются им, сами того не зная, так что эта публикация будет просто маленькой подсказкой. Расскажите об этом коллегам.

Откройте проект, создайте новый файл .editorconfig и вставьте в него следующий код. Я воспользуюсь программой «Hello, world!» в новой консоли .NET.

В моем примере указано только расширение *.cs, но вы также можете указать [*.] или, если хотите, только [*], либо сразу множество разделов.

Убедитесь, что файл введен в систему вместе с проектом, чтобы каждый член команды смог оценить все его преимущества.

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

Я открываю этот проект в Visual Studio 2017 со встроенной поддержкой EditorConfig. Обратите внимание на отображаемое внизу предупреждение Visual Studio о том, что в проекте имеются обозначения, не совпадающие с нашими.

Команды Visual Studio для форматирования документов в этом проекте будут использовать знаки табуляции, а не пробелы. Вот тот же документ, переформатированный в Visual Studio:

Теперь я могу спать спокойно: пробелы побеждены, трезвые умы восторжествовали (по крайней мере, в рамках этого проекта).

Расширения .NET для EditorConfig

Более того, если позволяет используемый редактор, можно добавить расширения EditorConfig для определенных файлов или языков. Это позволит обеспечить единообразие при работе ваших сотрудников над проектом. Если вы знакомы с FxCop и StyleCop, то это примерно то же самое.

Вы можете использовать массу удобных опций .NET EditorConfig. Благодаря им члены команды будут применять одинаковые языковые стандарты, соглашения об именовании и правила форматирования.

  • Языковые стандарты. Это правила, применяемые в языке C# или Visual Basic, например тип var/explicit, функции и свойства в теле выражений.
  • Правила форматирования. Это правила разметки и структурирования кода, используемые для удобочитаемости, например стиль Олмана, пробелы в контрольных блоках.
  • Соглашения об именовании. Это правила именования объектов, например методы async должны заканчиваться на «Async».

Вы также можете задать степень важности правил, используя опции типа suggestion, warning или даже error.

Для примера сделаем так, чтобы мои сотрудники использовали предопределенные типы для локальных объектов:

В Visual Studio в соответствующей строке появится значок лампочки с предлагаемым исправлением, ведь, скорее всего, мои сотрудники вместо полной формы «System.String» напечатают просто «string».

В EditorConfig для .NET Docs имеется МНОЖЕСТВО отличных настроек, которыми можно пользоваться или игнорировать их. Вот лишь несколько (неоднозначных) примеров:

  • csharp_new_line_before_open_brace — оставлять открытые скобки в конце строки или помещать их на отдельной строке?
  • csharp_new_line_before_members_in_object_initializer s — допускается ли размещение элементов A = 3, B = 4 на одной строке или каждый из них располагается на отдельной строке?
  • csharp_indent_case_contents — будут ли все команды switch/case отображаться одинаково в начале строки или все же перед командами case будет стоять отступ, как и было задумано создателем?
  • Мы можем даже всячески настраивать регистр Case: pascal_case, camel_case, first_word_upper, all_upper, all_lower
Читайте также:  Если не работает датчик скорости какие симптомы

Если вы работаете с Visual Studios 2010, 2012, 2013 или 2015, то можете быть спокойны. Как минимум, имеется базовое бесплатное расширение EditorConfig, с помощью которого можно применять основные правила. Есть также одно расширение для работы с файлами EditorConfig в Visual Studio Code, и установить его можно за считанные секунды. Но вот расширения для С# пока нет — есть только одно для преобразования пробелов.

Кстати, летом мы проводили голосование на эту тему в Microsoft Developer. Тогда победил Tabs. Предлагаем повторить здесь.

Источник

Как изменить отступ в коде Visual Studio?

Для каждого машинописного файла код Visual Studio использует автоматический отступ в 8 пробелов. Это слишком много, на мой вкус, но я не могу найти, где это изменить.

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

ОБНОВИТЬ

В настоящее время я использую средство форматирования кода Преттиера, и это решает все проблемы форматирования путем автоматического форматирования при сохранении (если нет синтаксической ошибки)

Вы можете изменить это на глобальном User уровне или Workspace уровне.

Откройте настройки: С помощью клавиш ctrl + , или щелчки File > Preferences > , Settings как показано ниже.

Затем выполните следующие 2 изменения: (введите tabSize в строке поиска)

  1. Снимите флажок Detect Indentation
  2. Измените размер вкладки на 2/4 (хотя я твердо считаю, что 2 подходит для JS :))

На панели инструментов в правом нижнем углу вы увидите элемент, который выглядит следующим образом: Нажав на него, вы получите возможность сделать отступ с помощью пробелов или табуляции. После выбора типа отступа у вас будет возможность изменить размер отступа. В приведенном выше примере отступ равен 4 пробелам на отступ. Если в качестве символа отступа выбрана вкладка, то вместо размера вкладки вы увидите пробелов

Если вы хотите, чтобы это применялось ко всем файлам, а не к отдельным файлам, переопределите настройки Editor: Tab Size и в Editor: Insert Spaces настройках пользователя или в настройках рабочей области. зависимости от ваших потребностей

Редактировать 1

Чтобы перейти к настройкам пользователя или рабочей области, перейдите в « Настройки» -> « Настройки» . Убедитесь, что вы находитесь на вкладке « Пользователь» или « Рабочая область », в зависимости от ваших потребностей, и используйте панель поиска, чтобы найти настройки. Вы также можете отключить, так Editor: Detect Indentation как этот параметр переопределит то, для чего вы установили, Editor: Insert Spaces и Editor: Tab Size когда он включен

Источник

Знаки табуляции или пробелы: решаем с помощью Visual Studio

Привет, Хабр! Культурные воины продолжаются, люди сражаются по разные стороны баррикад, пытаясь решить: tabs or spaces. На эту же тему мы нашли интересную статью Скотта Хансельмана, в которой он рассказывает про инструмент, решающий это спор, EditorConfig в Visual Studio. Всех интересующихся прошу под кат.

Помните, летом на StackOverflow была статья о том, что на пробелах люди зарабатывают больше.

Читайте также:  Что делать если не хочу работать по специальности

Разберемся в этом вместе с Джиной Трапани (Gina Trapani). Найдем рабочий код.

Разработчики могут ломать копья и дальше, но проблема форматирования кода решается с помощью файла EditorConfig. Удивительно, но многие люди пользуются им, сами того не зная, так что эта публикация будет просто маленькой подсказкой. Расскажите об этом коллегам.

Откройте проект, создайте новый файл .editorconfig и вставьте в него следующий код. Я воспользуюсь программой «Hello, world!» в новой консоли .NET.

В моем примере указано только расширение *.cs, но вы также можете указать [*.] или, если хотите, только [*], либо сразу множество разделов.

Убедитесь, что файл введен в систему вместе с проектом, чтобы каждый член команды смог оценить все его преимущества.

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

Я открываю этот проект в Visual Studio 2017 со встроенной поддержкой EditorConfig. Обратите внимание на отображаемое внизу предупреждение Visual Studio о том, что в проекте имеются обозначения, не совпадающие с нашими.

Команды Visual Studio для форматирования документов в этом проекте будут использовать знаки табуляции, а не пробелы. Вот тот же документ, переформатированный в Visual Studio:

Теперь я могу спать спокойно: пробелы побеждены, трезвые умы восторжествовали (по крайней мере, в рамках этого проекта).

Расширения .NET для EditorConfig

Более того, если позволяет используемый редактор, можно добавить расширения EditorConfig для определенных файлов или языков. Это позволит обеспечить единообразие при работе ваших сотрудников над проектом. Если вы знакомы с FxCop и StyleCop, то это примерно то же самое.

Вы можете использовать массу удобных опций .NET EditorConfig. Благодаря им члены команды будут применять одинаковые языковые стандарты, соглашения об именовании и правила форматирования.

  • Языковые стандарты. Это правила, применяемые в языке C# или Visual Basic, например тип var/explicit, функции и свойства в теле выражений.
  • Правила форматирования. Это правила разметки и структурирования кода, используемые для удобочитаемости, например стиль Олмана, пробелы в контрольных блоках.
  • Соглашения об именовании. Это правила именования объектов, например методы async должны заканчиваться на «Async».

Вы также можете задать степень важности правил, используя опции типа suggestion, warning или даже error.

Для примера сделаем так, чтобы мои сотрудники использовали предопределенные типы для локальных объектов:

В Visual Studio в соответствующей строке появится значок лампочки с предлагаемым исправлением, ведь, скорее всего, мои сотрудники вместо полной формы «System.String» напечатают просто «string».

В EditorConfig для .NET Docs имеется МНОЖЕСТВО отличных настроек, которыми можно пользоваться или игнорировать их. Вот лишь несколько (неоднозначных) примеров:

  • csharp_new_line_before_open_brace — оставлять открытые скобки в конце строки или помещать их на отдельной строке?
  • csharp_new_line_before_members_in_object_initializer s — допускается ли размещение элементов A = 3, B = 4 на одной строке или каждый из них располагается на отдельной строке?
  • csharp_indent_case_contents — будут ли все команды switch/case отображаться одинаково в начале строки или все же перед командами case будет стоять отступ, как и было задумано создателем?
  • Мы можем даже всячески настраивать регистр Case: pascal_case, camel_case, first_word_upper, all_upper, all_lower

Если вы работаете с Visual Studios 2010, 2012, 2013 или 2015, то можете быть спокойны. Как минимум, имеется базовое бесплатное расширение EditorConfig, с помощью которого можно применять основные правила. Есть также одно расширение для работы с файлами EditorConfig в Visual Studio Code, и установить его можно за считанные секунды. Но вот расширения для С# пока нет — есть только одно для преобразования пробелов.

Читайте также:  Как настроить google play без блокировки экрана

Кстати, летом мы проводили голосование на эту тему в Microsoft Developer. Тогда победил Tabs. Предлагаем повторить здесь.

Источник

как задать порядок табуляции на Windows Forms

Порядок табуляции — это порядок, в котором пользователь перемещает фокус с одного элемента управления на другой, нажимая клавишу TAB. Каждая форма имеет собственный порядок табуляции. По умолчанию порядок табуляции совпадает с порядком, в котором были созданы элементы управления. Нумерация в порядке табуляции начинается с нуля.

Установка последовательности табуляции элемента управления

в Visual Studio в меню вид выберите пункт последовательность табуляции.

Это активирует режим выбора порядка табуляции в форме. Число (представляющее TabIndex свойство) отображается в левом верхнем углу каждого элемента управления.

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

В качестве места элемента управления в последовательности табуляции можно задать любое значение, большее или равное 0. При возникновении дубликатов вычисляется z-порядок двух элементов управления, а сначала элемент управления на вкладке сверху. (Z-порядок — это визуальное расположение элементов управления в форме вдоль оси z формы [depth]. Z-порядок определяет, какие элементы управления находятся перед другими элементами управления.) дополнительные сведения о z-порядке см. в разделе слоевые объекты на Windows Forms.

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

Элементы управления, которые не могут получить фокус, а также отключенные и невидимые элементы управления, не имеют TabIndex Свойства и не включаются в последовательность табуляции. Когда пользователь нажимает клавишу TAB, эти элементы управления пропускаются.

Кроме того, можно задать порядок табуляции в окно свойств с помощью TabIndex Свойства. TabIndexСвойство элемента управления определяет, где оно находится в последовательности табуляции. По умолчанию Первый рисуемый элемент управления имеет TabIndex значение 0, второй — TabIndex 1 и т. д.

Кроме того, по умолчанию GroupBox элемент управления имеет собственное TabIndex значение, которое является целым числом. GroupBoxСам элемент управления не может иметь фокус во время выполнения. Таким словами, каждый элемент управления в GroupBox имеет собственное десятичное TabIndex значение, начиная с. 0. Естественно, по мере TabIndex GroupBox увеличения элемента управления элементы управления внутри него будут соответственно увеличены. Если изменить TabIndex значение с 5 на 6, TabIndex значение первого элемента управления в группе автоматически изменится на 6,0 и т. д.

Наконец, любой элемент управления множества в форме можно пропустить в последовательности табуляции. Как правило, при последовательном нажатии клавиши Tab во время выполнения выбирается каждый элемент управления в последовательности табуляции. Отключив TabStop свойство, можно сделать элемент управления передаваться в порядке табуляции в форме.

Удаление элемента управления из последовательности табуляции

Присвойте TabStop свойству элемента управления значение false в окне Свойства .

Элемент управления, TabStop свойство которого имеет значение false по-прежнему сохраняет свое расположение в последовательности табуляции, даже если элемент управления пропускается при переходе по элементам управления с помощью клавиши TAB.

Группа переключателей содержит одну позицию табуляции во время выполнения. Для выбранной кнопки (т. е. для кнопки со Checked свойством, для которой задано значение true ) TabStop свойство автоматически устанавливается в значение true , а для других кнопок TabStop свойство имеет значение false . дополнительные сведения о группировании RadioButton элементов управления см. в разделе группирование Windows Forms элементов управления RadioButton для функционирования в виде набора.

Источник

Оцените статью