Твикаем VS Code: убираем визуальный шум, доводим до совершенства
Как при помощи небольших твиков можно улучшить интерфейс VS Code, убрав ненужные визуальные элементы интерфейса.
Вступление
Обилие всевозможных тем для VS Code радует. На вкус и цвет недостатка в темах нет. Но что делать, если новые темы уже не вызывают восторга, а появляется желание скрыть тот или иной, не такой уж и нужный лично вам, элемент интерфейса. Попробуем сегодня в этом разобраться.
Давайте сначала посмотрим, к какому результату мы придём:

Было скрыто много чего: горизонтальная и вертикальная полосы прокрутки, миникарта, нумерация строк, вкладки, статус бар, хлебные крошки, иконки и прочие, труднопереводимые на русский язык штуки.
Подготовка
Если вы уже знаете, как обращаться с Settings.JSON, переходите к следующему разделу, нового тут нет ничего.
Для тех, кому это всё впервые, открываем файл настроек Settings.JSON:
Нажимаем комбинацию клавиш: CTRL+SHIFT+P
В выпавшем окне печатаем: «settings.json» и выбираем «Preferences: Open Settings(JSON)».

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

В этот файл, в конец списка, через запятую мы и будем добавлять наши твики. Чтобы визуально разграничить наши твики от того, что уже было до нас в этом файле, добавьте пару пробелов и(или) комментарий, как показано ниже:
Основная часть
Убираем горизонтальную полосу прокрутки
"editor.scrollbar.horizontal": "hidden"
Убираем вертикальную полосу прокрутки
"editor.scrollbar.vertical": "hidden"
Избавляемся от миникарты
"editor.minimap.enabled": false
Скрываем полосу рядом с вертикальной полосой прокрутки
"editor.overviewRulerBorder": false
Скрываем нумерацию строк
"editor.lineNumbers": "off"
Если возникнет вопрос, как найти нужную строку(например десятую строку):
- Жмём CTRL+P
- Вбиваем двоеточие и номер строки
Убираем Glyph Margin. Используется при дебаггинге
"editor.glyphMargin": false
Перемещаем Side Bar и Activity Bar на правую сторону
"workbench.sideBar.location": "right"
Скрываем Activity Bar
"workbench.activityBar.visible": false
- Показать скрыть Side Bar: CTRL+B
- Проводник файлов: CTRL+SHIFT+E
- Установки: CTRL+SHIFT+X
- Глобальный поиск: CTRL+SHIFT+F
Cкрываем статус бар
"workbench.statusBar.visible": false
Убираем иконки на вкладках и на «хлебных крошках»
"workbench.editor.showIcons": false
Скрываем вкладки
"workbench.editor.showTabs": false
Навигация по вкладкам: CTRL+TAB
Скрываем «хлебные крошки»
"breadcrumbs.enabled": false
Скрываем визуальные границы функций
"editor.renderIndentGuides": false
Избавляемся от подсветки строки, на которой установлен курсор
"editor.renderLineHighlight": "none"
Получилось довольно неплохо. Давайте сравним до и после:
Заключение
Разумеется, для кастомизации можно и разных расширений поставить, позволяющих сделать это всё, и ещё много чего. Но, когда расширений итак уже десятки, то с определённого момента, каждое следующее расширение уже как гвоздь в крышку гроба производительности софтины.
Эти твики также применимы и к веб версии Visual Studio Code. По крайней мере те, что я пробовал.
Кстати, именно так выглядит моё рабочее пространство в VS Code, в котором я грокаю код и пишу статьи.
Нумерация строк в ворде
Если вам нужна помощь, чтобы показать или вставить номера строк в Word то вы попали по адресу.
Что такое номера строк в Word?
Номера строк (не путать с нумерованным списком) — это числа, которые подсчитывают количество строк в документе Word и показывают соответствующее число рядом с каждой строкой текста.

По умолчанию Word автоматически подсчитывает и нумерует каждую строку в документе (за исключением строк в сносках, текстовых полях, таблицах, верхних и нижних колонтитулах. Однако эти цифры могут не отображаться, поскольку они скрыты. И пока вы не предпримете некоторые шаги чтобы показать это, вы никогда не увидите это.
Как вставить номера строк в ворде
Word автоматически выполняет нумерацию строк в вашем документе; однако, он не показывает их. Это означает, что если вы хотите видеть ваш документ пронумерованным строка за строкой, то вам нужно предпринять некоторые действия для его отображения.
Без дальнейших церемоний ниже приведены шаги по вставке номеров строк в Word:
- Нажмите на вкладку «Макет».
- В «Параметры страницы», щелкните на кнопку «Номер строк»
Появится контекстное меню нумерации строк, из которого можно выбрать параметры нумерации. По умолчанию опция Нет выбрана во всех документах MS Word, что означает «не показывать номера строк» .

- Выберите нужный вариант нумерации строк.
- Параметр «Непрерывный» будет последовательно пронумеровывать все строки документа от первой до последней страницы.
- Параметр «На каждой странице» перезапускает нумерацию строк на каждой новой странице документа.
- «В каждом разделе» (для многосегментного документа) будет перезапускать нумерацию строк в каждом новом разделе документа. Если в документе есть только один раздел, то параметр «Перезапустить каждый раздел» будет работать так же, как параметр «Непрерывный» .
- «Запретить в текущем абзаце» можно использовать, если вы уже вставили номера строк, но хотите, чтобы текущий абзац был ненумерованным.
Как убрать номера строк в Word
Чтобы удалить нумерацию строк в Word:
- Перейти на вкладку «Макет страницы»
- В категории «Параметры страницы» нажмите кнопку нумерации строк.
- Появится список параметров нумерации строк
- Выберите Нет, чтобы полностью удалить нумерацию
- Или выберите «Запретить в текущем абзаце», чтобы удалить номера строк только для текущего абзаца.
Как отформатировать номер строки в Word
Если вы хотите отформатировать нумерацию строк в Word, сначала необходимо отобразить диалоговое окно номеров строк, а затем установить некоторые параметры, например, как далеко от текста должны появляться цифры.
Чтобы отформатировать номера строк, выполните следующие действия:
- Нажмите на вкладку Макет
- В группе «Параметры страницы» нажмите кнопку «Нумерация строк» .

- Появится контекстное меню, нажмите «Варианты нумерации строк» .
Откроется диалоговое окно «Параметры страницы».

- На Параметры страницы диалогового окна, нажмите на вкладку «Источник бумаги»
- Теперь нажмите на «Нумерация строк».
Откроется диалоговое окно «Нумерация строк».

Почти все параметры этого диалогового окна уже находятся в контекстном меню «Номера строк». Однако единственного элемента, которого там нет, является параметр «От текста», который можно использовать для регулировки расстояния между текстом и номерами строк.
По сути, это все о номерах строк в Word, которые вы должны знать.
Отладка JavaScript в Google Chrome и Visual Studio Code
Способность отладки кода является важным навыком разработчика. Важно понимать и использовать широкий спектр инструментов отладки, которые существуют для конкретного языка программирования.
К сожалению, отладка может показаться не столь очевидной при работе с JavaScript за пределами полноценной среды IDE. По крайней мере — на первый взгляд.
В данной статье будет рассмотрен вопрос, как можно выполнять отладку JavaScript-кода в инструменте Google Chrome Dev Tools и в редакторе кода Visual Studio Code.
Примечание переводчика: перейдя по этой ссылке, можно ознакомиться с видеоверсией данной статьи Debugging JavaScript in Google Chrome and Visual Studio Code на английском языке.
Предустановки
В этой статье процесс отладки будет рассмотрен на примере тестового приложения под названием «Quick Chat»:
У вас есть два способа работы с этим приложением. Вы можете самостоятельно создать его, воспользовавшись этой серией видеоуроков. Или же вы можете использовать исходный код уже готового приложения «Quick Chat»:
Какой бы вариант вы не выбрали, вам потребуется локально запустить приложение «Quick Chat».
Вы можете запустить приложение из-под Node.js (как это делаю я). Или воспользоваться плагином под Visual Studio Code под названием Live Server.
Если вы новичок в работе с этим плагином, то можете научиться работать с ним при помощи этого видео — Live Server Extension in Visual Studio Code.
Примечание переводчика: видео на английском языке.
В процессе создания данной статьи я добавил в приложении «Quick Chat» небольшую намеренную ошибку, которая не позволяет зарегистрировать пользователя после его входа в систему.
С технической точки зрения я неправильно получаю имя пользователя, используя для этого usernameInput.text вместо правильного варианта usernameInput.value . Если бы я допустил такую ошибку в реальной жизни, моей первой мыслью было бы воспользоваться инструментом console.log() .
Но это не совсем тот случай, который мог бы мне помочь, как вы можете увидеть на изображении ниже. Если же использование console.log() было также вашей первой мыслью — вы попали по адресу и правильно делаете, что читаете эту статью!
Основы отладки
Начнем с основ. Идея отладки заключается в том, что внутри программного кода можно устанавливать так называемые точки останова (breakpoints) для того, чтобы остановить выполнение программы в определенном месте.
Это дает вам, как разработчику, возможность взглянуть на текущее состояние приложения и проверить, например, значения переменных в нём. Вы даже можете сделать еще больше и отследить любые переменные по своему выбору, чтобы всякий раз, когда приложение останавливается, вы могли проверить значения этих переменных.
После установки точки останова (breakpoint) в коде, как правило, есть несколько вариантов дальнейших действий:
- продолжить выполнение программы
- пошагово пройтись по всем этапам выполнения программы — строка за строкой
- выйти из текущей функции, в которой вы находитесь
- перейти к выполнению следующей функции
У вас также будет доступ к просмотру стека вызовов (call stack). Другими словами, поскольку в программе функции могут вызывать на исполнение другие функции, то можно просмотреть историю вызовов этих функций.
Отладка в Google Chrome
Чтобы начать отладку приложения в браузере Google Chrome, добавьте в обработчике события кнопки clickBtn оператор debugger , как показано ниже:
Когда выполнение программы дойдет до строки с оператором debugger , приложение будет приостановлено и автоматически активируются инструменты отладки браузера Google Chrome.
Обратите внимание, что приложение в окне браузера закрашено серым цветом, чтобы показать, что оно приостановлено. Также обратите внимание, что вкладка Sources в Chrome Dev Tools открылась автоматически:
Давайте разберемся, что мы видим на вкладке Sources .
Вкладка Sources
Первое, что вы могли заметить на этой вкладке — это копию исходного кода приложения. Это код, который браузер загрузил и с которым он работает.
Вы также можете заметить, что строка кода с оператором debugger подсвечена синим цветом, чтобы сообщить нам, что выполнение приложения остановлено на данном участке кода:
Браузер Google Chrome предоставляет нам возможность просматривать исходный код приложения. Имея перед собой исходный код, можно установить в нем точки останова.
Точка останова предназначена для обозначения места, на котором нужно остановить выполнение программы. Оператор debugger , который мы использовали в примере выше, функционирует как точка останова, но в исходном коде приложения такая точка останова необязательно должна быть только одной.
Точка останова — преднамеренная остановка или приостановка выполнения программы
Чтобы добавить точку останова, нужно выполнить клик мыши на gutter — поле слева от нумерации строк кода. Как только вы выполните это действие, то заметите, что браузер Google Chrome автоматически добавил эту точку останова в список «Breakpoints»:
Вкладка Scope
На вкладке «Scope» вы можете отслеживать переменные в своем приложении. Обратите внимание, что на этой вкладке есть три раздела: локальная область видимости (Local), глобальная область видимости (Global) и раздел сценариев (Script).
В разделе сценариев вы можете отслеживать переменные в области видимости текущего скрипта:
Большую часть времени процесса отладки приложения вы будете проводить именно в этой вкладке. Это гораздо более эффективная альтернатива использованию многочисленным console.log() .
Вкладка Watch
Как уже упоминалось ранее, помимо просмотра переменных на вкладке «Scope», вы также можете определить переменные, значения которых вы хотели бы отслеживать на всем этапе выполнения программы.
Добавляя переменную на вкладке «Watch», каждый раз, когда вы устанавливаете точку останова, вы можете быстро проверить значение этой переменной (которая может иметь значение undefined в зависимости от того, где вы находитесь в коде).
Нажмите значок плюса и введите имя переменной, которую необходимо отслеживать, в нашем случае это usernameInput :
Пошаговое выполнение, стек вызовов и список точек останова
Раздел вкладки «Sources», расположенный в левом нижнем углу окна отладчика, позволяет просмотреть список точек останова, стек вызовов (call stack) и т. д.
В стеке вызовов есть только одна функция, которая является обработчиком события для кнопки входа. Функция указана, потому что это единственная функция, которая была вызвана на данный момент. Поскольку одни функции могут вызывать на исполнение другие функции, то эта цепочка будет обновляться соответствующим образом.
Также обратите внимание на кнопки со стрелками в верхней части экрана. Они соответствуют функциям, указанным выше, для продолжения выполнения вашего кода или прохождения по нему по строкам (stepping). Я бы рекомендовал протестировать немного эти кнопки, чтобы привыкнуть к тому, каким образом можно осуществлять выполнение кода.
Наконец, существуют различные типы точек останова, которые могут быть заданы. Давайте рассмотрим пример создания условной точки останова (conditional breakpoint), которая будет срабатывать только при выполнении определенного условия.
Например, предположим, что мы хотим предотвратить обработку события на кнопке входа в систему только тогда, когда пользователь пытается войти в систему без ввода имени пользователя.
Мы можем сделать это, щелкнув правой кнопкой мыши на поле gutter и создав точку останова со следующим условием — usernameInput.text === » :
В случае отладки приложения Quick Chat , если вы нажмете кнопку входа в систему без имени пользователя, будет запущена эта точка останова. В противном случае код будет продолжать выполняться как обычно.
Обратите внимание, что существует ещё больше доступных вариантов точек останова, которые не рассматриваются в данной статье.
Отладка в Visual Studio Code
Инструмент Chrome Developer Tools является одним из лучших в своем роде. Как вы уже видели, он предлагает отличные возможности и функционал для отладки приложения.
Однако командой разработчиков Visual Studio Code была проделана большая работа для того, чтобы сделать процесс отладки в этом редакторе ещё более совершенным.
Мне очень нравится Visual Studio Code и я провожу в нем больше времени, чем в каком-либо другом редакторе кода. Этот процесс включает в себя и отладку.
Чтобы начать отладку кода в VS Code, вам нужно будет установить плагин Debugger for Chrome :
Давайте познакомимся с вкладкой Debug . По умолчанию она расположена на боковой панели редактора. Откройте эту вкладку, нажав на значок, который выглядит как жучок (bug).
Открыв эту панель, вы увидите инструменты, очень похожие на те, что мы видели в браузере Google Chrome — переменные, стек вызовов, точки останова:
Большинство функциональных возможностей, с которыми мы имели дело в Chrome Dev Tools, также доступны в VS Code.
Теперь, когда мы познакомились с вкладкой Debug , нам необходимо создать конфигурацию, которая укажет редактору VS Code, как ему отлаживать наше приложение.
VS Code хранит конфигурацию отладки в файле launch.json внутри папки .vscode . Чтобы VS Code создал этот файл для нас, в меню редактора откройте выпадающий список «Нет конфигураций» («No Configurations») и выберите «Добавить конфигурацию» («Add Configuration»).
VS Code хранит конфигурацию отладки в файле с именем launch.json внутри папки .vscode
Затем из этого списка выберите пункт «Chrome»:
Из раскрывающегося списка выберите конфигурацию «Chrome: Launch»:
Конфигурация, которую мы только что создали, будет автоматически подключаться к приложению на определенном порту.
Нам нужно внести небольшое изменение в эту конфигурацию — правильно указать на исходный код тестируемого приложения. Исходный код приложения находится в каталоге public , поэтому необходимо изменить значение свойства «webRoot».
Чтобы это сработало, что приложение уже должно быть запущено локально на определенном порту:
Когда конфигурация настроена, можно начать сеанс отладки, нажав зеленую кнопку «Run Code». Приложение должно открыться в окне браузера Google Chrome, как показано ниже.
Обратите внимание на меню отладки кода, которое появилось в фоновом режиме редактора VS Code. С помощью этой панели можно остановить, перезапустить, продолжить выполнение кода или использовать пошаговые возможности для навигации по коду и взаимодействия с отладчиком:
С запущенным отладчиком вы можете установить контрольную точку в коде так, как мы это делали в Google Chrome. Для этого нажмите на поле gutter рядом с номером нужной строки. Я устанавливаю точку останова в том же месте, что и раньше, внутри обработчика события входа в систему.
Теперь если попытаться войти в систему без заданного имени пользователя, точка останова должна инициировать переход в редактор VS Code для дальнейшего анализа кода приложения:
Вся функциональность отладчика кода, которую мы рассмотрели в браузере Google Chrome, аналогична той, что и в редакторе VS Code.
Если вы хотите добавить условную точку останова, щелкните правой кнопкой мыши на поле gutter и выберите «условная точка останова» с определенным условием.
Если вы хотите отследить значения какой-либо переменной, нажмите знак «плюс» чтобы добавить новую переменную и введите имя этой переменной.
Если вы хотите изучить переменные, перейдите на вкладку переменных и исследуйте их!
Вывод
Как уже говорилось ранее, сделать следующий шаг во своем развитии как разработчику означает нечто большее, чем просто писать хороший код. Это означает использование экосистемы инструментов для тестирования языка программирования, который вы используете.
Отладка — одна из тех тем, для изучения которой потребуется время и силы, прежде чем начинать работу. Но в конечном итоге потраченные усилия однозначно окупят себя.
Моя рекомендация — потратить некоторое время на изучение отладки как в браузере Google Chrome, так и в редакторе Visual Studio Code и посмотреть, что вам больше нравится. Если у вас есть какие-либо вопросы или комментарии, найдите меня в Twitter.
Дополнительные ресурсы
- Отладка в браузере Chrome
- Подробное руководство по отладке кода на JavaScript в Chrome Devtools
- Отладка в VS Code и Chrome
Использование регулярных выражений в Visual Studio
Область применения:
Visual Studio Visual Studio для Mac
Visual Studio Code ![]()
В Visual Studio регулярные выражения .NET используются для поиска и замены текста.
Примеры регулярных выражений
В таблице ниже собраны некоторые символы, операторы, конструкции и примеры для регулярных выражений. Более подробный справочник по регулярным выражениям вы найдете здесь.
| Цель | Выражение | Пример |
|---|---|---|
| Соответствует любому одиночному символу, кроме разрыва строки Дополнительные сведения см. в разделе Любой символ. | . | a.o совпадает с «ато» в слове «каток» и «aзo» в слове «азот», но не с «арто» в слове «картон» |
| Соответствует нулю или большему числу вхождений предыдущего выражения (совпадение с максимальным числом символов). Дополнительные сведения см. в разделе Совпадение ноль или несколько раз: *. | * | a*r совпадает с «в» в слове «винт» и «ав» в слове «авто». |
| Соответствует любому символу ноль или более раз. | .* | c.*e совпадает со «сне» в слове «снег», «сове» в слове «совет» и «скате» в слове «скатерть» |
| Соответствует одному или большему числу вхождений предыдущего выражения (совпадение с максимальным числом символов) Дополнительные сведения см. в разделе Совпадение один или несколько раз: +. | + | e+d совпадает с «eed» в «feeder» и с «ed» в «faded». |
| Сопоставление любого символа один или более раз. | .+ | e.+e совпадает с «eede» в «feeder», но в «feed» совпадения отсутствуют. |
| Соответствует нулю или большему числу вхождений предыдущего выражения (совпадение с минимальным числом символов) Дополнительные сведения см. в разделе Совпадение ноль или несколько раз (ленивое совпадение): *?. | *? | \w*?d совпадает с «fad» и «ed» в «faded», но не со всем словом «faded», так как проверяется соответствие с минимальным числом символов. |
| Соответствует одному или большему числу вхождений предыдущего выражения (совпадение с минимальным числом символов) Дополнительные сведения см. в разделе Совпадение один или несколько раз (ленивое совпадение): +?. | +? | e\w+? совпадает с «ee» в «asleep» и с «ed» в «faded», но в «fade» совпадения отсутствуют. |
| Привязывает сопоставляемую строку к началу строки. | ^ | ^car совпадает с такими словами, как «продажа» и «процесс», только если они находятся в начале строки |
| Привязывает сопоставляемую строку к концу строки. | \r?$ | car\r?$ совпадает со словом «car», только если оно находится в конце строки. |
| Соответствует вхождению, только если оно находится в конце файла | $ | car$ совпадает со словом «car», только если оно находится в конце файла. |
| Соответствует любому отдельному символу в наборе | [abc] | b[abc] совпадает с «ба», «бб» и «бв» |
| Соответствует любому символу в диапазоне символов. | [а-е] | be[n-t] совпадает с «bet» в слове «between», с «ben» в слове «beneath» и с «bes» в слове «beside», но в слове «below» совпадения отсутствуют. |
| Запись и неявная нумерация выражения в скобках | () | ([a-z])X\1 соответствует «aXa» и «bXb», но не «aXb». «\1» относится к первой группе выражения «[а–я]». Дополнительные сведения см. в разделе Группы записи и шаблоны замены. |
| Признание соответствия недействительным | (?!абв) | real(?!ity) соответствует «реальным» в «реальности» и «действительно», но не в «реальности». Он также находит второй «реальный» (но не первый «реальный») в «реальности». |
| Соответствует любому символу, не указанному в заданном наборе символов. Дополнительные сведения см. в разделе Отрицательная группа символов. | [^абв] | be[^n-t] совпадает с «bef» в слове «before», с «beh» в слове «behind» и с «bel» в слове «below», но в слове «beneath» совпадения отсутствуют. |
| Совпадает с выражением до или после символа. | | | (sponge|mud) bath совпадает со строками «хвойный лес» и «лиственный лес» |
| Экранирует символ, указанный за обратной косой чертой. | \ | \^ соответствует символу ^ |
| Определяет количество вхождений предыдущего символа или группы. Дополнительные сведения см. в разделе Совпадение ровно n раз: . | , где n обозначает число вхождений. | x(ab)x совпадает с «xababx» x(ab)x совпадает с «xababx» и «xabababx», но не «xababababx» |
| Сопоставление текста в категории Юникода. Дополнительные сведения о классах символов Юникода см. в свойствах символов Юникода Standard 15.0. | \p, где «X» — число из Юникода. | \p совпадает с «T» и «D» в «Thoma Doe» |
| Соответствует границе слова | \b (вне класса символов \b определяет границу слова, а внутри класса \b символов определяет стирание назад) | \bin совпадает с «in» в «inside», но в «pinto» совпадения отсутствуют. |
| Соответствует разрыву строки (то есть возврату каретки с последующим символом новой строки). | \\r?\\n | End\r?\nBegin совпадает со словами «Конец» и «Начало», только если «Конец» является последним словом в строке, а «Начало» — первым словом в следующей строке |
| Соответствует любому алфавитно-цифровому знаку. | \\w | a\wd совпадает с «акт» и «а1т», но не с «а т» |
| Соответствует любому символу пробела. | \s | Public\sInterface совпадает с фразой «Открытый интерфейс» |
| Соответствует любому символу десятичной цифры | \d | \d совпадает с «4» и «0» в «wd40». |
Пример регулярного выражения, в котором объединяются некоторые операторы и конструкции для сопоставления с шестнадцатеричным числом: \b0[xX]([0-9a-fA-F]+)\b . Это выражение совпадает с «0xc67f», но не с «0xc67g».
В операционных системах Windows большинство строк заканчиваются символами «\r\n» (возврат каретки с новой строкой). Эти символы не отображаются, но имеются в редакторе и передаются в службу регулярных выражений .NET.
Группы записи и шаблоны замены
Группы записи отделяют части регулярных выражений и захватывают подстроки из входной строки. Вы можете использовать группы записи как в самом регулярном выражении (например, для поиска повторяющихся слов), так и в шаблоне замены. Подробную информацию см. в статье Конструкции группировки в регулярных выражениях.
Чтобы создать нумерованную группу записи, заключите в скобки часть выражения в шаблоне регулярного выражения. Выделенные части автоматически нумеруются слева направо в порядке появления открывающих скобок в регулярном выражении. Чтобы получить доступ к захваченной группе, рассмотрим следующие примеры:
- В регулярном выражении: используйте \number . Например, \1 в регулярном выражении (\w+)\s\1 обозначает первую именованную группу, то есть (\w+) .
- В шаблоне замены: используйте $number . Например, группированное регулярное выражение (\d)([a-z]) определяет две группы: первая группа содержит одну десятичную цифру, а вторая группа содержит один символ от a до z. Выражение обнаруживает четыре совпадения в следующей строке: 1a 2b 3c 4d. Строка замены z$1 ссылается только на первую группу ( $1 ) и преобразует строку в z1 z2 z3 z4.
На следующем изображении показаны регулярное выражение (\w+)\s\1 и строка замены $1 . Само регулярное выражение и шаблон замены считаются первой группой записи с автоматически присвоенным номером 1. Если вы выполните команду Заменить все в диалоговом окне Быстрая замена, Visual Studio удалит из текста повторяющиеся слова.

В диалоговом окне «Быстрая замена» нажмите кнопку «Использовать регулярные выражения» или нажмите клавиши ALT +E.
Именованные группы записи
Вы можете не полагаться на автоматическую нумерацию групп записи, а присвоить им имена. Для именованной группы записи используется синтаксис (?subexpression) .
Именованные группы записи, как и нумерованные, можно использовать в самом регулярном выражении или шаблоне замены. Чтобы получить доступ к именованной группе захвата, рассмотрим следующие примеры:
- В регулярном выражении: используйте \k . Например \k в регулярном выражении (?\w+)\s\k ссылается на группу записи с именем repeated , которая содержит часть выражения \w+ .
- В шаблоне замены: используйте $ . Например, $ .
На следующем изображении показаны регулярное выражение (?\w+)\s\k и строка замены $ . Само регулярное выражение и шаблон замены указывают на группу записи с именем repeated . Если вы выполните команду Заменить все в диалоговом окне Быстрая замена, Visual Studio удалит из текста повторяющиеся слова.

Нажмите кнопку «Использовать регулярные выражения» (или клавиши ALT+E) в диалоговом окне быстрого замены .
Дополнительные сведения об именованных группах захвата см. в разделе Именованные сопоставляемые части выражения. Дополнительную информацию о регулярных выражениях, которые используются в шаблонах замены, вы найдете. в разделе руководства Подстановки в регулярных выражениях.
См. также
- Краткий справочник: язык регулярных выражений
- Поиск и замена текста
