"Параметры", "Текстовый редактор", C#, "Дополнительно"

Страница Дополнительно позволяет изменять параметры для форматирования в редакторе, рефакторинга кода и комментариев XML-документации в C#. Для доступа к этой странице параметров выберите Сервис>Параметры и затем Текстовый редактор>C#>Дополнительно.

Примечание.

Здесь могут быть указаны не все параметры.

Анализ

  • Запуск фонового анализа кода для ...

    Выберите одно из следующих значений.

    Параметр Наименование
    Нет Все анализаторы и соответствующие исправления кода отключены.

    Компилятор диагностика и соответствующие исправления кода включены во всех открытых документах.
    Текущий документ (по умолчанию) Все анализаторы выполняются только в активном документе.

    Диагностика компилятора включены во всех открытых документах.
    Открытие документов Все анализаторы и диагностика компилятора включены во всех открытых документах.
    Все решение Все анализаторы и диагностика компилятора включены во всех документах решения, открытых или закрытых.

Директивы using

  • Располагать директивы "System" первыми при сортировке using

    При выборе команды Удалить и сортировать директивы using в контекстном меню выполняется сортировка директив using и помещение пространств имен System в верхнюю часть списка.

    До сортировки:

    using AutoMapper;
    using FluentValidation;
    using System.Collections.Generic;
    using System.Linq;
    using Newtonsoft.Json;
    using System;
    

    После сортировки:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using AutoMapper;
    using FluentValidation;
    using Newtonsoft.Json;
    
  • Разделять группы директив using

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

    До сортировки:

    using AutoMapper;
    using FluentValidation;
    using System.Collections.Generic;
    using System.Linq;
    using Newtonsoft.Json;
    using System;
    

    После сортировки:

    using AutoMapper;
    
    using FluentValidation;
    
    using Newtonsoft.Json;
    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    
  • Предлагать using для типов в сборках .NET Framework

  • Предлагать using для типов в пакетах NuGet

    При выборе этих параметров доступна команда Быстрое действие для установки пакета NuGet и добавления директивы using для типов, на которые нет ссылок.

    Quick Action to install NuGet package in Visual Studio

  • Добавлять отсутствующие директивы using при вставке

    Если выбран этот параметр, директивы using автоматически добавляются в код при вставке типа в файл.

Выделение

  • Выделить ссылки на символ под курсором

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

структуризация

  • Переходить в режим структурирования после открытия файлов

    При выборе автоматически структурирует файл кода, создавая свертываемые блоки кода. При первом открытии файла блоки #regions и неактивные блоки кода свертываются.

  • Показывать разделительные линии процедур

    Текстовый редактор показывает визуальную область действия процедур. Линия проводится в исходных файлах .cs проекта в расположениях, указанных в следующей таблице:

    Расположение в исходном файле .cs Пример расположения линий
    После закрытия конструкции объявления блока — В конце класса, структуры, модуля, интерфейса или перечисления
    — После свойства, функции или дочернего элемента
    — Не между предложениями get и set в свойстве
    После набора однострочных конструкций — После операторов импорта, до определения типа в файле класса
    — После объявления переменных в классе, до любых процедур
    После однострочных объявлений (объявления не на уровне блоков) — После операторов импорта, операторов наследования, объявлений переменных, объявлений событий, объявлений делегатов и операторов объявления библиотек DLL

Направляющие для структуры блоков

Установите этот флажок для отображения пунктирных вертикальных линий между фигурными скобками ({}) в коде. Это позволит легко определять отдельные блоки кода для уровня объявления и конструкций уровня кода.

Комментарии

Извлечение метода

  • Не помещать ссылку или вывод в настраиваемую структуру

    Не проверка этот проверка box, чтобы избежать мощного клонирования структур путем повторного устранения существующих объектов структуры при извлечении выражения в вызов метода.

    Пример

    Предполагается следующее class и struct существует в коде:

    public struct CustomStruct
    {
        private int Count;
    
        public int Bump => ++Count;
    }
    
    public class CustomClass
    {
        public void DoIt()
        {
           CustomStruct cs = new CustomStruct();
           int i = 0;
    
           i += cs.Bump;   // select this line
        }
    }
    

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

    public class CustomClass
    {
        public void DoIt()
        {
           CustomStruct cs = new CustomStruct();
           int i = 0;
    
           NewMethod(ref cs, ref i);
        }
    
        private static void NewMethod(ref CustomStruct cs, ref int i)
           => i += cs.Bump;
    }
    

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

    public class CustomClass
    {
        public void DoIt()
        {
           CustomStruct cs = new CustomStruct();
           int i = 0;
    
           i = NewMethod(cs, i);
        }
    
        private static int NewMethod(CustomStruct cs, int i)
        {
           i += cs.Bump;
           return i;
        }
    }
    

Встроенные подсказки

  • Подсказки для имен встроенных параметров

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

    Inline Parameter Name Hints for CSharp

  • Подсказки по встроенным типам

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

    Inline Type Hints for CSharp

Граница наследования

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

    Inheritance Margin

См. также