Фрагменты кода и их использование

Фрагменты кода — это небольшие блоки многократно используемых кода, которые можно добавить в файл кода. Фрагменты кода обычно содержат часто используемые блоки кода, такие как Try...Finally или If...Else блоки. Вы также можете использовать фрагменты кода для добавления целых классов или методов.

Фрагмент кода имеет заголовок, используемый для выбора фрагмента кода, и может иметь ярлык, который можно ввести для вставки фрагмента кода. Фрагменты также могут содержать параметры замены, которые выполняют роль заполнителей. Фрагменты кода доступны для многих языков, включая C#, C++и Visual Basic.

Фрагменты расширения и фрагменты окружения

В код можно добавить два типа фрагментов кода:

  • Фрагмент расширения добавляется в указанную точку вставки.
  • Фрагмент кода в окружении добавляется вокруг выбранного кода и доступен только для C# и C++.

Поиск доступных фрагментов

Чтобы просмотреть доступные фрагменты кода для языка, выберите диспетчер фрагментов кода инструментов>в строке меню или нажмите клавиши CTRL+K, B, а затем выберите нужный язык в раскрывающемся меню.

Снимок экрана: диалоговое окно диспетчера фрагментов кода.

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

Добавление фрагмента кода в файл кода

Чтобы добавить фрагмент кода в файл кода:

  1. В редакторе кода поместите курсор или выберите код C# или C++, где нужно добавить фрагмент кода.

  2. Выполните одно из следующих действий:

    • В строке меню Visual Studio нажмите кнопку "Изменить>IntelliSense Insert Snippet" или Edit>IntelliSense>>Surround With.
    • Щелкните правой кнопкой мыши и выберите >фрагмент вставить фрагмент или фрагмент>в контекстном меню.
    • На клавиатуре нажмите клавиши CTRL+K, X для фрагмента расширения или CTRL+K, S для фрагмента фрагмента.
  3. Дважды щелкните нужный фрагмент в раскрывающемся списке или введите ярлык фрагмента кода и нажмите клавишу TAB или ВВОД.

Добавление фрагмента расширения

Например, фрагмент tryf расширения C# добавляет следующий Try...Finally блок:

try
{

}
finally
{

}

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

  1. В редакторе кода наведите курсор на нужное место, чтобы добавить фрагмент кода.
  2. Щелкните правой кнопкой мыши и выберите "Вставить фрагмент " в контекстном меню правой кнопкой мыши или используйте строку меню или команды клавиатуры.
  3. Откройте папку Visual C#, а затем дважды щелкните tryf в раскрывающемся списке или выберите tryf и нажмите клавишу TAB или ВВОД.

Совет

Вы также можете поместить курсор в точку вставки, введите tryf и дважды нажмите клавишу TAB .

Добавление фрагмента кода в окружении

В следующем примере фрагмента кода C++ ярлык if можно использовать как фрагмент вставки, так и фрагмент фрагмента. Если выбрать строку return FALSE; кода, а затем выбрать "Окружить с> помощью", фрагмент будет развернут вокруг строки.

if (true)
{
    return FALSE;
}

Параметры замены фрагмента кода

Фрагменты могут содержать параметры замены, которые являются заполнителями, которые необходимо заменить для соответствия написанного кода. В предыдущем примере true — это параметр замены, который вы заменяете соответствующим условием. Замена повторяется для каждого экземпляра этого параметра замены в фрагменте кода.

Например, в Visual Basic есть фрагмент кода, определяющий свойство. Чтобы вставить фрагмент кода, выполните следующие действия.

  1. В контекстном меню правой кнопкой мыши в файле кода Visual Basic выберите фрагмент> фрагмента кода.
  2. Выберите свойства шаблонов>кода, процедуры, события>определяют свойство.

Снимок экрана: меню фрагмента кода для определения свойства.

Вставлен следующий код:

Private newPropertyValue As String
Public Property NewProperty() As String
    Get
        Return newPropertyValue
    End Get
    Set(ByVal value As String)
        newPropertyValue = value
    End Set
End Property

При изменении newPropertyValuem_propertyкаждого экземпляра newPropertyValue изменений. При изменении StringInt значения в объявлении свойства значение в Set методе также изменяется Int.

Рекомендации по использованию фрагментов кода

Код во фрагменте показывает лишь самый общий способ выполнения некоторой задачи. Для большинства приложений этот код следует изменить в соответствии с конкретными потребностями.

Обработка исключений

Как правило, фрагмент Try...Catch кода блокирует перехват и повторное выполнение всех исключений, но это может быть не правильным выбором для вашего проекта. Для каждого исключения имеется несколько способов реагирования. Примеры см. в разделе "Обработка исключения с помощью try/catch( C#) и try... Поймать... Оператор Finally (Visual Basic).

Местоположение файлов

При адаптации расположений файлов к приложению следует учитывать следующие факторы.

  • Найдите доступное расположение. Пользователи могут не иметь доступа к папке Program Files компьютера, поэтому хранение пользовательских файлов с файлами приложения может не работать.

  • Найдите безопасное расположение. Хранение файлов в корневой папке, например C:\ , не является безопасным. Для данных приложения рекомендуется использовать папку "Данные приложения". Для отдельных данных пользователя приложение может создать файл в папке "Документы пользователя".

  • Используйте допустимое имя файла. Элементы управления OpenFileDialog и SaveFileDialog можно использовать для снижения вероятности возникновения недопустимых имен файлов.

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

Безопасность

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

  • Доступ к файлам и базы данных
  • Управление доступом для кода
  • Защита ресурсов, таких как журналы событий и реестр
  • Хранение секретов
  • Проверка входных данных
  • Передача данных в технологии создания скриптов

Дополнительные сведения см. в разделе "Безопасные приложения".

Скачанные фрагменты кода

Фрагменты кода, установленные Visual Studio, сами по себе не являются рисками безопасности. Однако они могут создавать такую угрозу в приложении. Фрагменты фрагментов, скачанные из Интернета, должны относиться с крайней осторожностью, как и с любым другим скачанным содержимым. Скачивайте фрагменты только с сайтов, которым вы доверяете, и используйте новейшее антивирусное программное обеспечение.

Откройте все скачанные файлы фрагментов кода в Блокноте или редакторе XML Visual Studio и внимательно проверьте их перед установкой. Остерегайтесь следующих проблем:

  • Фрагмент кода, который может повредить системе при выполнении. Внимательно прочитайте исходный код перед его запуском.

  • HelpURL блоки в файлах фрагментов, содержащих URL-адреса, которые выполняют вредоносные файлы скриптов или отображают оскорбительные веб-сайты.

  • Фрагменты, содержащие ссылки, которые автоматически добавляются в проект и могут загружаться из любого места в вашей системе. Вы можете скачать эти ссылки из того же расположения, из которого вы скачали фрагмент кода. Затем фрагмент может вызвать метод в ссылке, которая выполняет вредоносный код. Чтобы обнаружить такие ссылки, просмотрите Imports и References блоки файла фрагмента кода.