Перейти к содержимому

Как вставить код в ворд

  • автор:

Подсветка кода в Ворде

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

Под­свет­ка ко­да

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

sum = 0 n = 5 for i in range(1, n + 1): sum += i print(sum)

Для ре­ше­ния этой про­бле­мы вам мо­жет при­го­дить­ся го­то­вый шаб­лон тек­сто­во­го оформ­ле­ния ко­да для ре­дак­то­ра Ворд. Ваш код с этим шаб­ло­ном мо­жет вы­гля­деть так­же как на кар­тин­ке ни­же:

Встав­ка ко­да в Ворд

Ска­чать шаб­лон (фор­мат *.docx) мож­но здесь.

я [ 07 декабря 2023, 12:45 ] # ↓ 0

using System;
using System.Linq;
using System.Collections.Generic;

namespace AprioriAlg
{
class Apriori
{
private static int support;
private static double confidence;
private static char[] item_Split = { ‘,’ };
private static string itemSplit = «,»;
private static String CON = «->»;
private static ListtransList = new List();
public Apriori(int min_sup, double min_conf) // Конструктор, в котором начальные пороги поддержки и доверия инициализируются
{
transList.Add(«apple,banana,orange,pear,»);
transList.Add(«apple,banana,orange,»);
transList.Add(«cake,orange,»);
transList.Add(«milk,pear,»);
transList.Add(«apple,cake,orange,»);
transList.Add(«apple,pear,»);
transList.Add(«pizza,orange,pear,»);
transList.Add(«apple,pear,»);
transList.Add(«apple,banana,orange,pear,»);
transList.Add(«apple,orange,pear,»);
support = min_sup;
confidence = min_conf;
}

public ListAprioriShow() {
return transList;
}
private Dictionary getItem()
{
Dictionary mItem = new Dictionary();
Dictionary Items = new Dictionary();
foreach (String trans in transList)
{
String[] items = trans.Split(item_Split, StringSplitOptions.RemoveEmptyEntries);
foreach (String item in items)
{
int count;
if (mItem.ContainsKey(item + itemSplit) == true)
{
count = mItem[item + itemSplit];
mItem.Remove(item + itemSplit);
mItem.Add(item + itemSplit, count + 1);
}
else
{
mItem.Add(item + itemSplit, 1);
}
}
}
ListkeySet = mItem.Keys.ToList();
foreach (String key in keySet)
{
int count = mItem[key];
if (count >= support)
{
Items.Add(key, count);
}
}
return Items;
}
private Dictionary getCollection(Dictionary item)
{
Dictionary dateCollection = new Dictionary();
ListitemSet1 = item.Keys.ToList();
ListitemSet2 = item.Keys.ToList();
foreach (String item1 in itemSet1)
{
foreach (String item2 in itemSet2)
{
String[] tmp1 = item1.Split(item_Split, StringSplitOptions.RemoveEmptyEntries);
String[] tmp2 = item2.Split(item_Split, StringSplitOptions.RemoveEmptyEntries);
String c = «»;
if (tmp1.Length == 1)
{
if (tmp1[0].CompareTo(tmp2[0]) < 0)
{
c = tmp1[0] + itemSplit + tmp2[0] + itemSplit;
}
}
else
{
bool flag = true;
for (int i = 0; i < tmp1.Length — 1; i++)
{
if (tmp1[i].Equals(tmp2[i]) == false)
{
flag = false;
break;
}
}
if (flag == true && (tmp1[tmp1.Length — 1].CompareTo(tmp2[tmp2.Length — 1]) < 0))
{
c = item1 + tmp2[tmp2.Length — 1] + itemSplit;
}
}
bool Set = false;
if (c != «»)
{
String[] tmpC = c.Split(item_Split, StringSplitOptions.RemoveEmptyEntries);
for (int i = 0; i < tmpC.Length; i++)
{
String subC = «»;
for (int j = 0; j < tmpC.Length; j++)
{
if (i != j)
{
subC = subC + tmpC[j] + itemSplit;
}
}
if (item.ContainsKey(subC) == false)
{
Set = false;
break;
}
}
}
else
{
Set = true;
}
if (Set == false)
{
dateCollection.Add(c, 0);
}
}
}
return dateCollection;
}
public Dictionary get()
{
Dictionary Collections = new Dictionary();
foreach (KeyValuePair item in getItem())
{
Collections.Add(item.Key, item.Value);
}
Dictionary itemkFc = new Dictionary();
foreach (KeyValuePair item in getItem())
{
itemkFc.Add(item.Key, item.Value);
}
while (itemkFc != null && itemkFc.Count != 0)
{
Dictionary candidateCollection = getCollection(itemkFc);
ListccKeySet = candidateCollection.Keys.ToList();

foreach (String trans in transList)
{
foreach (String candidate in ccKeySet)
{
bool flag = true;
String[] candidateItems = candidate.Split(item_Split, StringSplitOptions.RemoveEmptyEntries);
foreach (String candidateItem in candidateItems)
{
if (trans.IndexOf(candidateItem + itemSplit) == -1)
{
flag = false;
break;
}
}
if (flag == true)
{
int count = candidateCollection[candidate];
candidateCollection.Remove(candidate);
candidateCollection.Add(candidate, count + 1);
}
}
}
itemkFc.Clear();
foreach (String candidate in ccKeySet)
{
int count = candidateCollection[candidate];
if (count >= support)
{
itemkFc.Add(candidate, count);
}
}
foreach (KeyValuePair item in itemkFc)
{
if (Collections.ContainsKey(item.Key))
{
Collections.Remove(item.Key);
}
Collections.Add(item.Key, item.Value);
}
}
return Collections;
}
private void build(ListsourceSet, List result)
{

if (sourceSet.Count == 1)
{
Listset = new List();
set.Add(sourceSet[0]);
result.Add(set);
}
else if (sourceSet.Count > 1)
{
build(sourceSet.Take(sourceSet.Count — 1).ToList(), result);
int size = result.Count;

Listsingle = new List();
single.Add(sourceSet[sourceSet.Count — 1]);
result.Add(single);

Listclone;
for (int i = 0; i < size; i++)
{
clone = new List();
foreach (String str in result[i])
{
clone.Add(str);
}
clone.Add(sourceSet[sourceSet.Count — 1]);
result.Add(clone);
}
}
}
public Dictionary Rules(Dictionary Collection)
{
Dictionary Rule = new Dictionary();
ListkeySet = Collection.Keys.ToList();
foreach (String key in keySet)
{
double countAll = Collection[key];
String[] keyItems = key.Split(item_Split, StringSplitOptions.RemoveEmptyEntries);
if (keyItems.Length > 1)
{
Listsource = keyItems.ToList();
List result = new List();
build(source, result);
foreach (ListitemList in result)
{
if (itemList.Count < source.Count)
{
ListotherList = new List();
foreach (String sourceItem in source)
{
if (!itemList.Contains(sourceItem))
{
otherList.Add(sourceItem);
}
}
String reasonStr = «»;
String resultStr = «»;
foreach (String item in itemList)
{
reasonStr = reasonStr + item + itemSplit;
}
foreach (String item in otherList)
{
resultStr = resultStr + item + itemSplit;
}
double countReason = Collection[reasonStr];
double itemConfidence = countAll / countReason;
if (itemConfidence >= confidence)
{
String rule = reasonStr + CON + resultStr;
Rule.Add(rule, itemConfidence);
}
}
}
}
}
return Rule;
}
}
}

Как вставить код программы в Word

Если вы изучаете программирование в университете, то вам приходится писать пояснительные записки к курсовым и дипломным работам, оформлять лабораторные работы в которых надо приводить код или фрагменты программ, написанных, например, на Python, C++, Pascal, Javascript и так далее. Прочитав эту публикацию, вы научитесь делать это красиво и правильно. Например, так как показано на скрине ниже, если вы используете в своей работе Ворд: officerelease.com/word/ для подготовки текстов.

Подсветка кода в тексте

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

Алгоритм добавления кода с подсветкой в Word

  • Получите подсветку нужного вам кода кода в любом онлайн сервисе, который генерирует css стиль подсветки и код html-страницы. Это можно сделать здесь.
  • В любом текстовом редакторе, например в Notepad+, создайте простейший html-файл, добавив в него код, полученный в предыдущем пункте.
  • Сохраните этот файл в кодировке utf-8 с расширением html.
  • Перейдите в ваш редактор Word и в нужное место вставьте сохраненный html-файл.
  • Если надо, отредактируйте формат вставленного кода.

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

Есть несколько способов, отличных от снимков экрана , чтобы включить код в статью, опубликованную на 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 должны считаться кодом. Если возникают сомнения, ознакомьтесь с рекомендациями по форматированию текста.

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

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

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

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

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

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

Создание ссылок

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

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

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

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

Заполнители

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

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

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

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

Блоки кода

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

  • в файле Markdown статьи;
  • в файле кода в том же репозитории;
  • в файле кода в другом репозитории.

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

  • Снимки экрана
  • автоматизируйте проверку кода;
  • выделяйте основные строки кода;
  • избегайте горизонтальных полос прокрутки;
  • явно определяйте неправильный код.

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

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

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

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

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

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

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

Выделение

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

Пример отображения выделенного кода

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

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

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

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

Явное определение неправильного кода

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

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

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

  • Укажите на ошибку как в комментариях к коду, так и в тексте статьи. Читатели часто пропускают текст статьи и ищут только код, поэтому важно объяснить ошибку не только в тексте статьи. Также недостаточно объяснить ошибку в комментариях к коду, так как комментарии к коду не локализованы.
  • Рассмотрите возможность комментирования кода, если предполагается ошибка компилятора. Закомментированный код не нарушит работу системы непрерывной интеграции (CI), если в репозитории со статьей он есть сейчас или будет реализован в будущем.

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

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

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

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

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

 ```json < "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" >В следующих разделах описаны эти примеры:
  • Использование относительного пути к файлу кода
  • Включение только выбранных номеров строк
  • Использование ссылки на фрагмент кода с именем
  • Выделение выбранных строк

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

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

. 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" >Используйте для имени только буквы и символы подчеркивания.

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

// code excluded from the snippet // // code included in the snippet // // code excluded from the snippet 

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

// public static void SomeMethod() < // // Single line of code. // > // 

При отображении фрагмента 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:

Теперь при добавлении ссылки на 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. Как отмечалось ранее, номера строк для выделения начинаются от начала фрагмента, а не от начала файла.

Имя, присвоенное зависимому репозиторию, относится к корню репозитория main, а тильда ( ~ ) ссылается на корень набора документов. Корень набора документов определяется в 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": ">, 
"metadata": , 

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

 "metadata": < "name": "workspace", "msdoc": "how-to-track-experiments.md" >, 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

New-AzResourceGroup -Name myResourceGroup -Location westeurope 
 ```csharp-interactive var aFriend = "Maria"; Console.WriteLine($"Hello "); ``` 
 var aFriend = "Maria"; Console.WriteLine($"Hello "); 

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

  • 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="" source="" ="". 

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

  • (необязательно)
    • Язык фрагмента кода. Дополнительные сведения см. в разделе Поддерживаемые языки далее в этой статье.
    • Относительный путь в файловой системе, который указывает файл фрагмента кода для ссылки.
    • Используются вместе для указания способа получения кода из файла и его отображения:
      • 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 CLI dotnetcli
      1C 1c
      ABNF abnf
      Журналы доступа accesslog
      Ada ada
      Ассемблер ARM armasm , arm
      Ассемблер AVR avrasm
      ActionScript actionscript , as
      Алан 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 , mawk , nawk , gawk
      Axapta axapta
      AzCopy azcopy
      Azure CLI azurecli
      Azure CLI (интерактивный) azurecli-interactive
      Azure PowerShell azurepowershell
      Azure Powershell (интерактивный) azurepowershell-interactive
      Bash bash , sh , zsh
      Basic basic
      форма Бэкуса-Наура (BNF) bnf
      C c
      C# csharp , cs
      C# (интерактивный) csharp-interactive
      C++ cpp , c , cc , h , c++ , h++ , hpp
      C++/CX cppcx
      C++/WinRT cppwinrt
      C/AL cal
      Cache Object Script cos , cls
      CMake cmake , cmake.in
      Coq coq
      Поставщик служб шифрования csp
      CSS css
      Cap’n Proto capnproto , capnp
      Clojure clojure , clj
      CoffeeScript coffeescript , coffee , cson , iced
      Crmsh crmsh , crm , pcmk
      Crystal crystal , cr
      Cypher (Neo4j) cypher
      D d
      DAX Power BI dax
      Файл зоны DNS dns , zone , bind
      DOS dos , bat , cmd
      Dart dart
      Delphi delphi , dpr , dfm , pas , pascal , freepascal , lazarus , lpr , lfm
      Поиск различий diff , patch
      Django django , jinja
      Dockerfile dockerfile , docker
      dsconfig dsconfig
      DTS (дерево устройств) dts
      Dust dust , dst
      Dylan dylan
      EBNF ebnf
      Elixir elixir
      Elm elm
      Erlang erlang , erl
      Excel excel , xls , xlsx
      Extempore extempore , xtlang , xtm
      F# fsharp , fs
      FIX fix
      Fortran fortran , f90 , f95
      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 , hbs , html.hbs , html.handlebars
      Haskell haskell , hs
      Haxe haxe , hx
      Hy hy , hylang
      Ini ini
      Inform7 inform7 , i7
      IRPF90 irpf90
      JSON json
      Java java , jsp
      JavaScript javascript , js , jsx
      Kotlin kotlin , kt
      Kusto kusto
      Leaf leaf
      Lasso lasso , ls , lassoscript
      Меньше less
      LDIF ldif
      Lisp lisp
      LiveCode Server livecodeserver
      LiveScript livescript , ls
      Lua lua
      Makefile makefile , mk , mak
      Markdown markdown , md , mkdown , mkd
      Mathematica mathematica , mma , wl
      Matlab matlab
      Maxima maxima
      Maya Embedded Language mel
      Mercury 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 , mm , objc , obj-c
      OpenGL Shading Language glsl
      OpenSCAD openscad , scad
      Язык правил Oracle ruleslanguage
      Oxygene oxygene
      PF pf , pf.conf
      PHP php , php3 , php4 , php5 , php6
      Parser3 parser3
      Perl perl , pl , pm
      Обычный текст без выделения plaintext
      Pony pony
      PostgreSQL и PL/pgSQL pgsql , postgres , postgresql
      PowerShell powershell , ps
      PowerShell (интерактивный) powershell-interactive
      Обработка processing
      Prolog prolog
      Свойства properties
      Protocol Buffers protobuf
      Puppet puppet , pp
      Python python , py , gyp
      Результаты профилировщика Python profile
      Q# qsharp
      Q k , kdb
      QML qml
      R r
      Razor CSHTML cshtml , razor , razor-cshtml
      ReasonML reasonml , re
      RenderMan RIB rib
      RenderMan RSL rsl
      Roboconf graph , instances
      Robot Framework robot , rf
      Файлы спецификаций RPM rpm-specfile , rpm , spec , rpm-spec , specfile
      Ruby ruby , rb , gemspec , podspec , thor , irb
      Rust rust , rs
      SAS SAS , sas
      SCSS scss
      SQL sql
      STEP Part 21 p21 , step , stp
      Scala scala
      Схема scheme
      Scilab scilab , sci
      Выражения фигуры shexc
      Оболочка shell , console
      Smali smali
      Smalltalk smalltalk , st
      Solidity solidity , sol
      Stan stan
      Stata stata
      Структурированный текст iecst , scl , stl , structured-text
      Стилус stylus , styl
      SubUnit subunit
      Supercollider supercollider , sc
      Swift swift
      Tcl tcl , tk
      Terraform (HCL) terraform , tf , hcl
      Test Anything Protocol tap
      TeX tex
      Thrift thrift
      TOML toml
      TP 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 , xpath , xq
      XAML xaml
      XML xml , xhtml , rss , atom , xjb , xsd , xsl , plist
      YAML yml , yaml
      Zephir zephir , zep

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

      Дальнейшие действия

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

      Подсветка кода онлайн

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

      Выберите язык: Номера строк Использовать CSS
      Подсветка кода

      Результат подсветки кода Вставьте html-код на веб-страницу где вы хотите опубликовать исходный код с подсветкой

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

      Предварительный просмотр кода на веб-странице

      Выделите и скопируйте (Ctr+C) код с подсветкой, а затем вставьте на вашу страницу или в ваш редактор Word (Ctrl+V). Вставленный в Word код можно редактировать (например, увеличить размер шрифта). Код вставляется как список со специфическим форматированием.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *