Включение кода в документацию

Существует несколько способов, отличных от снимка экрана, чтобы включить код в статью, опубликованную в Microsoft Learn:

  • Отдельные элементы (слова) в строке.

    Ниже приведен пример стиля code.

    Используйте формат кода при ссылке на именованные параметры и переменные в ближайшем блоке кода в тексте. Формат кода также можно использовать для свойств, методов, классов и ключевых слов языка. Дополнительные сведения см. в разделе Элементы кода далее в этой статье.

  • Блоки кода в файле Markdown, содержащем статью.

        ```csharp
        public static void Log(string message)
        {
            _logger.LogInformation(message);
        }
        ```
    

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

  • Блоки кода с использованием ссылки на файл кода в локальном репозитории.

    :::code language="csharp" source="intro/samples/cu/Controllers/StudentsController.cs" range="2-24,26":::
    

    Дополнительные сведения см. в разделе Ссылки на фрагменты кода в репозитории далее в этой статье.

  • Блоки кода с использованием ссылки на файл кода в другом репозитории.

    :::code language="csharp" source="~/samples-durable-functions/samples/csx/shared/Location.csx" highlight="2,5":::
    

    Дополнительные сведения см. в разделе Ссылки на фрагменты кода вне репозитория далее в этой статье.

  • Блоки кода, которые позволяют пользователю выполнять код в браузере.

    :::code source="PowerShell.ps1" interactive="cloudshell-powershell":::
    

    Дополнительные сведения см. в разделе Интерактивные фрагменты кода далее в этой статье.

Помимо описания синтаксиса Markdown для каждого метода включения кода, в статье приведено общее руководство для всех блоков кода.

Элементы кода

"Элемент кода" является ключевым словом языка программирования, именем класса, именем свойства и т. д. Не всегда очевидно, что рассматривается в качестве кода. Например, имена пакетов NuGet должны считаться кодом. Если возникают сомнения, ознакомьтесь с рекомендациями по форматированию текста.

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

Чтобы включить элемент кода в текст статьи, поместите его между одинарными кавычками в виде обратного апострофа (`), чтобы указать стиль кода. Встроенный стиль кода не должен использовать формат тройных кавычек.

Разметка Отображение
По умолчанию Entity Framework интерпретирует свойство с именем Id или ClassnameID как первичный ключ. По умолчанию платформа Entity Framework интерпретирует в качестве первичного ключа свойство Id или ClassnameID.

При локализации статьи (переводе на другие языки) текст, имеющий стиль кода, не переводится. Если вы хотите предотвратить локализацию без использования стиля кода, см. раздел Нелокализованные строки.

Полужирный стиль

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

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

Если вы используете ссылку и ссылаетесь на тот же элемент позже в том же контексте, сделайте последующие экземпляры форматом кода, а не ссылками. Например:

The first reference to <xref:System.CommandLine> in this text is a link.
Subsequent references to `System.CommandLine` can be in code style.

Отображение:

Первая ссылка на System.CommandLine в этом тексте — это гиперссылка. Последующие ссылки на System.CommandLine написаны в виде кода.

Заполнители

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

az group delete -n <ResourceGroupName>

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

<ResourceGroupName> — это группа ресурсов, где:

Фигурные скобки {} не рекомендуются для использования в качестве синтаксических заполнителей. Их можно спутать с той же нотацией, которая используется в заменяемом тексте, строках форматирования, интерполяции строк, текстовых шаблонах и подобных конструкциях программирования.

Имена заполнителей можно разделять дефисами (kebab-case), подчеркиванием или не разделяться вообще (Pascal case). Kebab-case может вызывать синтаксические ошибки, а знаки подчеркивания могут конфликтовать с подчеркиванием. Использование всех заглавных букв может вызвать конфликты с именованными константами во многих языках, хотя такой текст также может привлекать внимание к имени заполнителя.

<Resource-Group-Name> или <ResourceGroupName>

Блоки кода

Синтаксис для включения кода в документ зависит от того, где находится код:

Ниже приведены рекомендации, которые применяются для всех трех типов блоков кода:

Снимки экрана

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

  • Вы можете копировать их.
  • Они индексируются поисковыми механизмами.
  • Они доступны для средств чтения с экрана.

Это лишь несколько из причин, по которым снимки экрана IDE не рекомендуются в качестве метода включения кода в статью. Используйте снимки экрана IDE для кода только в том случае, если вы показываете что-то о самой среде IDE, например IntelliSense. Не используйте снимки экрана, только чтобы показать цвета и выделение.

Проверка кода

В некоторых репозиториях реализованы процессы, которые автоматически компилируют все примеры кода для проверки на наличие ошибок. Это делается в репозитории .NET. Дополнительные сведения см. в разделе об участии в репозитории .NET.

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

Выделение

Фрагменты кода обычно содержат больше кода, чем необходимо для предоставления контекста. Чтобы улучшить читаемость, рекомендуется выделить ключевые строки, на которых нужно сконцентрировать внимание во фрагменте кода, как показано в следующем примере:

Example showing highlighted code

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

Горизонтальные полосы прокрутки

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

Чтобы свести к минимуму горизонтальные полосы прокрутки в блоках кода, рекомендуется разбивать строки кода, длиннее 85 символов. Но помните, что присутствие или отсутствие полосы прокрутки не является единственным критерием удобочитаемости. Если разбивка длинной строки затрудняет чтение или удобство копирования и вставки, строка может быть длиннее 85 символов.

явно определяйте неправильный код.

В некоторых сценариях рекомендуется указывать шаблоны кода, которые следует избегать, например:

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

Для таких сценариев:

  • Укажите на ошибку как в комментариях к коду, так и в тексте статьи.

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

  • Рассмотрите возможность комментирования кода, если предполагается ошибка компилятора.

    Закомментированный код не нарушит работу системы непрерывной интеграции (CI), если в репозитории со статьей он есть сейчас или будет реализован в будущем.

Пример того, как представлять нерекомендуемый код, см. в разделе Пример использования Rune: изменение регистра букв. В этом примере совет, как избежать ошибки, встроен в сам код, так как имя метода C# — ConvertToUpperBadExample.

Встроенные блоки кода

Используйте встроенные блоки кода, только когда непрактично отображать код по ссылке на файл кода. Как правило, встроенный код сложнее тестировать и обновлять по сравнению с файлом кода, который является частью полного проекта. И встроенный код может опускать контекст, который может помочь разработчику понять и использовать код. Эти рекомендации относятся главным образом к языкам программирования. Встроенные блоки кода также могут использоваться для выходных и входных данных (например, JSON), языков запросов (таких как SQL) и языков сценариев (например, PowerShell).

Есть два способа указать, что раздел текста в файле статьи является блоком кода: заключив его в тройные обратные кавычки (```) или сделав отступ. Отделение является предпочтительным, так как в этом случае можно указать язык. Старайтесь не использовать отступы, потому что с ними просто ошибиться и другому автору будет сложно понять ваше намерение при редактировании статьи.

Языковые индикаторы размещаются сразу же после открытия тройных обратных кавычек, как в следующем примере:

Markdown:

    ```json
    {
        "aggregator": {
            "batchSize": 1000,
            "flushTimeout": "00:00:30"
        }
    }
    ```

Отображение:

{
    "aggregator": {
        "batchSize": 1000,
        "flushTimeout": "00:00:30"
    }
}

Совет

GitHub Flavored Markdown поддерживает разделение блоков кода тильдами (~), а также обратными кавычками (`). Символ, используемый для открытия и закрытия блока кода, должен быть одинаковым в пределах одного блока кода.

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

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

Примечание.

При копировании и вставке кода из документа Word убедитесь, что в нем нет изогнутых кавычек, которые являются для кода недопустимыми. Если есть, замените их на обычные кавычки (' и "). Кроме того, следует использовать пакет разработки Learn, функцию замены смарт-кавычек.

Ссылки на фрагмент кода в репозитории

Предпочтительный способ включения фрагментов кода для языков программирования в документы — использование ссылки на файл кода. Этот метод позволяет выделить строки кода и предоставить больше контекста для фрагмента кода, доступного в GitHub для разработчиков. Вы можете включить код с помощью тройного двоеточия (:::) вручную или в Visual Studio Code с помощью пакета разработки Learn.

  1. Находясь в Visual Studio Code, нажмите клавиши ALT+M или OPTION+M и выберите "Фрагмент кода".
  2. Вам будет предложено выполнить поиск по всему содержимому, в какой-то области или по различным репозиториям. Для локального поиска выберите полный поиск.
  3. Введите условие поиска и найдите нужный файл. Найдя файл, выберите его.
  4. Затем выберите, какие строки кода нужно включить в фрагмент, используя Параметры: идентификатор, диапазон и нет.
  5. В зависимости от выбора на шаге 4 предоставьте необходимые значения.

Отображение всего файла кода:

:::code language="csharp" source="intro/samples/cu/Controllers/StudentsController.cs":::

Отображение части файла кода путем указания номера строк:

:::code language="csharp" source="intro/samples/cu/Controllers/StudentsController.cs" range="2-24,26":::

Отображение части файла кода путем указания имени фрагмента кода:

:::code language="csharp" source="intro/samples/cu/Controllers/StudentsController.cs" id="snippet_Create":::

В следующих разделах описаны эти примеры:

Дополнительные сведения см. в разделе Ссылки на синтаксис фрагментов кода далее в этой статье.

Путь к файлу кода

Пример:

:::code language="csharp" source="intro/samples/cu/Controllers/StudentsController.cs" range="2-24,26":::

Пример взят из репозитория документов ASP.NET, файла статьи aspnetcore/data/ef-mvc/crud.md. Для ссылки на файл кода используется относительный путь к aspnetcore/data/ef-mvc/intro/samples/cu/Controllers/StudentsController.cs в том же репозитории.

Выбранные номера строк

Пример:

:::code language="csharp" source="intro/samples/cu/Controllers/StudentsController.cs" range="2-24,26":::

В этом примере отображаются только строки 2–24 и 26 из файла кода StudentController.cs.

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

Именованный фрагмент кода

Пример:

:::code language="csharp" source="intro/samples/cu/Controllers/StudentsController.cs" id="snippet_Create":::

Используйте для имени только буквы и символы подчеркивания.

В примере отображается раздел snippet_Create файла кода. Файл кода для этого примера содержит теги фрагментов в комментариях в коде C#:

// code excluded from the snippet
// <snippet_Create>
// code included in the snippet
// </snippet_Create>
// code excluded from the snippet

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

// <Method>
public static void SomeMethod()
{
    // <Line>
    // Single line of code.
    // </Line>
}
// </Method>

При отображении фрагмента Method кода теги Line не включаются в отображаемые выходные данные.

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

Выделение выбранных строк

Пример:

:::code language="csharp" source="intro/samples/cu/Controllers/StudentsController.cs" range="2-24,26" highlight="2,5":::

В примере выделены строки 2 и 5, если считать от начала отображаемого фрагмента кода. Подсчет выделяемых номеров строк не начинается от начала файла кода. Другими словами, выделяются строки 3 и 6 файла кода.

Ссылки на фрагменты кода в другом репозитории

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

Например, репозиторий документов — Azure/azure-docs, а репозиторий кода — Azure/azure-functions-durable-extension.

В корневой папке azure-docs добавьте следующий раздел в .openpublishing.publish.config.json:

    {
      "path_to_root": "samples-durable-functions",
      "url": "https://github.com/Azure/azure-functions-durable-extension",
      "branch": "main",
      "branch_mapping": {}
    },

Теперь при добавлении ссылки на sample-durable-functions, как если бы это была папка в azure-docs, вы на самом деле ссылаетесь на корневую папку в репозитории azure-functions-durable-extension.

Вы можете включить код с помощью тройного двоеточия (:::) вручную или в Visual Studio Code с помощью пакета разработки Learn.

  1. Находясь в Visual Studio Code, нажмите клавиши ALT+M или OPTION+M и выберите "Фрагмент кода".
  2. Вам будет предложено выполнить поиск по всему содержимому, в какой-то области или по различным репозиториям. Выберите поиск по репозиториям.
  3. Вам будет представлен набор репозиториев из .openpublishing.publish.config.json. Выберите репозиторий.
  4. Введите условие поиска и найдите нужный файл. Найдя файл, выберите его.
  5. Затем выберите, какие строки кода нужно включить в фрагмент, используя Параметры: идентификатор, диапазон и нет.
  6. В зависимости от выбора на шаге 5 предоставьте значение.

Ссылка на фрагмент кода будет выглядеть следующим образом:

:::code language="csharp" source="~/samples-durable-functions/samples/csx/shared/Location.csx" highlight="2,5":::

В репозитории azure-functions-durable-extension этот файл кода находится в папке samples/csx/shared. Как отмечалось ранее, номера строк для выделения начинаются от начала фрагмента, а не от начала файла.

Примечание.

Имя, присвоенное зависимому репозиторию, относительно корня основного репозитория, но тильда (~) ссылается на корень набора документов. Корневой каталог документа определяется build_source_folder в .openpublishing.publish.config.json. Путь к фрагменту кода в предыдущем примере работает в репозитории azure-docs, так как build_source_folder относится к корню репозитория (.). Если бы в качестве build_source_folder использовалось articles, путь начинался бы с ~/../samples-durable-functions, а не с ~/samples-durable-functions.

Фрагменты кода в записной книжке Jupyter

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

  1. Добавьте метаданные ячеек, на которые вы хотите сослаться, в записную книжку.
  2. Настройте доступ к репозиторию.
  3. Используйте синтаксис фрагмента кода записной книжки Jupyter в файле Markdown.

Добавление метаданных в записную книжку

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

    • В Jupyter вы можете редактировать метаданные ячейки, сначала включив панель инструментов ячейки. Для этого выберите Просмотр > Панель инструментов ячейки > Редактировать метаданные.
    • После включения панели инструментов ячейки выберите Изменить метаданные в ячейке, которой нужно присвоить имя.
    • Кроме того, можно изменить метаданные непосредственно в структуре JSON записной книжки.
  2. В метаданных ячейки добавьте атрибут "name":

    "metadata": {"name": "<name>"},
    

    Например:

    "metadata": {"name": "workspace"},
    

    Совет

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

        "metadata": {
          "name": "workspace",
          "msdoc": "how-to-track-experiments.md"
        },
    

Настройка доступа к репозиторию

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

Справочник по синтаксису фрагмента кода записной книжки Jupyter

После добавления в записную книжку необходимых метаданных создайте ссылку на нее в файле Markdown. Используйте имя <cell-name-value>, добавленное в записную книжку, и путь <path>, настроенный в качестве зависимого репозитория.

[!notebook-<language>[] (<path>/<notebook-name.ipynb>?name=<cell-name-value>)]

Например:

[!notebook-python[] (~/MachineLearningNotebooks/train-on-local.ipynb?name=workspace)]

Важно!

Этот синтаксис является блоком расширения Markdown. Он должен использоваться в отдельной строке.

Используйте любой из поддерживаемых языков для идентификатора <language>.

Интерактивные фрагменты кода

Встроенные блоки интерактивного кода

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

  • Azure Cloud Shell
  • Azure PowerShell Cloud Shell
  • C# REPL

Если включен интерактивный режим, в отображаемых полях с кодом будут кнопки Попробовать или Запустить. Например:

    ```azurepowershell-interactive
    New-AzResourceGroup -Name myResourceGroup -Location westeurope
    ```

отображается следующим образом:

New-AzResourceGroup -Name myResourceGroup -Location westeurope

And

    ```csharp-interactive
    var aFriend = "Maria";
    Console.WriteLine($"Hello {aFriend}");
    ```

отрисовывается следующим образом:

    var aFriend = "Maria";
    Console.WriteLine($"Hello {aFriend}");

Чтобы включить эту функцию для конкретного блока кода, используйте специальный идентификатор языка. Доступные параметры:

  • azurepowershell-interactive — активирует Cloud Shell в Azure PowerShell, как в предыдущем примере.
  • azurecli-interactive — включает Azure Cloud Shell
  • csharp-interactive — включает C# REPL

В Azure Cloud Shell и PowerShell Cloud Shell пользователи могут выполнять команды только с собственной учетной записью Azure.

Фрагменты кода, включаемые по ссылке

Для фрагментов кода, включаемых по ссылке, можно включить интерактивный режим. Чтобы включить эту функцию для конкретного блока кода, используйте атрибут interactive. Допустимые значения атрибута:

  • cloudshell-powershell — активирует Cloud Shell в Azure PowerShell, как в предыдущем примере.
  • cloudshell-bash — включает Azure Cloud Shell
  • try-dotnet — активирует Try .NET.
  • try-dotnet-class — активирует Try .NET с формированием шаблонов классов.
  • try-dotnet-method — активирует Try .NET с формированием шаблонов методов.

Далее приводятся некоторые примеры.

:::code source="PowerShell.ps1" interactive="cloudshell-powershell":::
:::code source="Bash.sh" interactive="cloudshell-bash":::

В Azure Cloud Shell и PowerShell Cloud Shell пользователи могут выполнять команды только с собственной учетной записью Azure.

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

  • Без формирования шаблонов (try-dotnet). Блок кода должен представлять полный текст программы. Например, допустимым будет файл Program.cs, созданный dotnet new console. Это удобно для демонстрации программы небольшого размера целиком, включая все необходимые директивы using. Операторы верхнего уровня сейчас не поддерживаются.
  • Формирование шаблонов метода (try-dotnet-method). Блок кода должен представлять содержимое метода Main в консольном приложении. Вы можете учитывать директивы using, добавленные шаблоном dotnet new console. Этот вариант удобен для коротких фрагментов кода, которые демонстрируют использование одной функции.
  • Формирование шаблонов класса (try-dotnet-class). Блок кода должен представлять класс с методом Main, который выполняет для программы роль точки входа. Этот вариант можно использовать для демонстрации взаимодействия между элементами класса.

Синтаксис ссылок на фрагменты

Синтаксис

:::code language="<language>" source="<path>" <attribute>="<attribute-value>":::

Важно!

Этот синтаксис является блоком расширения Markdown. Он должен использоваться в отдельной строке.

  • <language> (необязательно)

  • <path> (обязательно)

    • Относительный путь в файловой системе, указывающий на файл фрагмента кода для ссылки.
  • <attribute> и <attribute-value> (необязательно)

    • Используется вместе для указания способа извлечения кода из файла и способа его отображения:
      • range: 1,3-5 диапазон строк. Этот пример включает строки 1, 3, 4 и 5.
      • id: Create идентификатор фрагмента кода, который необходимо вставить из файла кода. Это значение не может существовать одновременно с диапазоном.
      • highlight: 2-4,6 диапазон и/или число строк, которые должны быть выделены в созданном фрагменте кода. Нумерация задается относительно отображаемых строк (в соответствии с диапазоном или идентификатором), а не файла.
      • interactive: cloudshell-powershell, cloudshell-bash, try-dotnet, try-dotnet-class, try-dotnet-method Строковое значение, определяющее тип используемой интерактивности.
      • Дополнительные сведения о представлении имени тега в исходных файлах фрагментов кода по языку см. в руководстве по DocFX.

Поддерживаемые языки

Пакет разработки Learn включает функцию для предоставления завершения инструкций и проверки доступных идентификаторов языка для блоков забора кода.

Огороженные блоки кода

Имя. Допустимые псевдонимы
Интерфейс командной строки .NET Core dotnetcli
1C 1c
ABNF abnf
Журналы доступа accesslog
Ada ada
Ассемблер ARM armasm, arm
Ассемблер AVR avrasm
ActionScript actionscript, as
Alan alan, i
AngelScript angelscript, asc
ANTLR antlr
Apache apache, apacheconf
AppleScript applescript, osascript
Аркады arcade
AsciiDoc asciidoc, adoc
AspectJ aspectj
ASPX aspx
ASP.NET (C#) aspx-csharp
ASP.NET (VB) aspx-vb
AutoHotkey autohotkey
AutoIt autoit
Awk awk, , mawknawkgawk
Axapta axapta
AzCopy azcopy
Azure CLI azurecli
Azure CLI (интерактивный) azurecli-interactive
Azure PowerShell. azurepowershell
Azure Powershell (интерактивный) azurepowershell-interactive
Bash bash, , shzsh
Базовая basic
BNF bnf
О c
C# csharp, cs
C# (интерактивный) csharp-interactive
C++ cpp, c, cchc++h++hpp
C++/CX cppcx
C++/WinRT cppwinrt
C/AL cal
Cache Object Script cos, cls
CMake. cmake, cmake.in
Coq coq
CSP csp
CSS css
Cap'n Proto capnproto, capnp
Clojure clojure, clj
CoffeeScript coffeescript, , coffeecsoniced
Crmsh crmsh, , crmpcmk
Crystal crystal, cr
Cypher (Neo4j) cypher
D d
DAX Power BI dax
Файл зоны DNS dns, , zonebind
DOS dos, , batcmd
Dart dart
Delphi delphi, dprdfmpaspascalfreepascallazaruslprlfm
Diff diff, patch
Django django, jinja
Dockerfile dockerfile, docker
dsconfig dsconfig
DTS (дерево устройств) dts
Dust dust, dst
Николай dylan
EBNF ebnf
Elixir elixir
Elm elm
Erlang erlang, erl
Excel excel, , xlsxlsx
Extempore extempore, , xtlangxtm
F# fsharp, fs
ИСПРАВЛЕНИЕ fix
Fortran fortran, , f90f95
G-Code gcode, nc
Gams gams, gms
GAUSS gauss, gss
GDScript godot, gdscript
Gherkin gherkin
GN for Ninja gn, gni
Go go, golang
Golo golo, gololang
Gradle gradle
GraphQL graphql
Groovy groovy
HTML html, xhtml
HTTP http, https
Haml haml
Рули handlebars, , hbshtml.hbshtml.handlebars
Haskell haskell, hs
Haxe haxe, hx
Hy hy, hylang
Ini ini
Inform7 inform7, i7
IRPF90 irpf90
JSON json
Java java, jsp
JavaScript javascript, , jsjsx
Kotlin kotlin, kt
Kusto kusto
Конечный элемент leaf
Lasso lasso, , lslassoscript
Less less
LDIF ldif
Lisp lisp
LiveCode Server livecodeserver
LiveScript livescript, ls
Lua lua
Makefile makefile, , mkmak
Разметка markdown, , mdmkdownmkd
Mathematica mathematica, , mmawl
Matlab matlab
Maxima maxima
Maya Embedded Language mel
Меркурий mercury
Язык сценариев mIRC mirc, mrc
Mizar mizar
MOF mof
Mojolicious mojolicious
Monkey monkey
Moonscript moonscript, moon
MS Graph (интерактивный) msgraph-interactive
N1QL n1ql
NSIS nsis
Nginx nginx, nginxconf
Nimrod nimrod, nim
Nix nix
OCaml ocaml, ml
Objective C objectivec, , mmobjcobj-c
OpenGL Shading Language glsl
OpenSCAD openscad, scad
Язык правил Oracle ruleslanguage
Oxygene oxygene
ТФ pf, pf.conf
PHP php, , php3php4, php5php6
Parser3 parser3
Perl perl, , plpm
Обычный текст без выделения plaintext
Pony pony
PostgreSQL и PL/pgSQL pgsql, , postgrespostgresql
PowerShell powershell, ps
PowerShell (интерактивный) powershell-interactive
Обработка processing
Prolog prolog
Свойства properties
Protocol Buffers protobuf
Puppet puppet, pp
Python python, , pygyp
Результаты профилировщика Python profile
Q# qsharp
К k, kdb
QML qml
R r
Razor CSHTML cshtml, , razorrazor-cshtml
ReasonML reasonml, re
RenderMan RIB rib
RenderMan RSL rsl
Roboconf graph, instances
Robot Framework robot, rf
Файлы спецификаций RPM rpm-specfile, , rpmspec, rpm-specspecfile
Ruby ruby, , rbpodspecgemspecthor,irb
Rust rust, rs
SAS SAS, sas
SCSS scss
SQL sql
STEP Part 21 p21, , stepstp
Scala scala
Схема scheme
Scilab scilab, sci
Выражения фигуры shexc
Shell shell, console
Smali smali
Smalltalk smalltalk, st
Solidity solidity, sol
Stan stan
Stata stata
Структурированный текст iecst, , sclstlstructured-text
Stylus stylus, styl
SubUnit subunit
Supercollider supercollider, sc
Swift swift
Tcl tcl, tk
Terraform (HCL) terraform, , tfhcl
Test Anything Protocol tap
TeX tex
Thrift thrift
TOML toml
ИП tp
Twig twig, craftcms
TypeScript typescript, ts
VB.NET vbnet, vb
VBScript vbscript, vbs
VHDL vhdl
Vala vala
Verilog verilog, v
Скрипт Vim vim
Visual Basic vb
Visual Basic для приложений vba
X++ xpp
Сборка x86 x86asm
XL xl, tao
XQuery xquery, , xpathxq
XAML xaml
XML xml, xhtml, rssatomxjbxsdxslplist
YAML yml, yaml
Zephir zephir, zep

Совет

В пакете разработки Learn функция завершения Dev Lang использует первый допустимый псевдоним, если доступно несколько псевдонимов.

Следующие шаги

Сведения о форматировании текста для типов содержимого, отличных от кода, см. в разделе Рекомендации по форматированию текста.