VS Code 1.73: Решаем конфликты, пишем Markdown и ищем потерянное

Октябрьское обновление редактора включает визуальные и функциональные правки в интерфейс, доработки редактора разрешения конфликтов и улучшенную поддержку языков Markdown и Razor.
Официальный список изменений и ссылки на скачивание.
Итак, пройдемся по ченджлогу.
Общие обновления
Быстрый фильтр по папкам в поиске
Если в поиске по проекту кликнуть по "Restrict Search to Folder" в меню папки, папка будет добавлена в "files to include":

А если кликнуть по "Exclude Folder from Search" - папка добавится в "files to exclude":

Подсказки в Command Center
Command Center - это поисковая строка в заголовке окна. При открытии он теперь предлагает поиск по файлами, командам, символам и так далее.

По-умолчанию Command Center отключен, но может быть включен настройкой window.commandCenter
.
Индикатор в настройках в ограниченном режиме
У настроек, которые не применяются в текущем проекте (workspace) из-за ограниченного режима (restricted mode) или политики организации, теперь выводится индикатор.

Ограниченный режим может быть включен пользователем для определенного проекта, чтобы исключить автоматическое выполнение кода в этом проекте.
Автоскладывание в Outline
Если задать новую настройку outline.collapseItems
на true
, элементы в списке Outline будут по-умолчанию складываться.
Больше скругленных углов
У полей ввода и выпадающих списков теперь такие же скругленные углы, как у кнопок.

Освеженный Quick Pick
Стиль списка Quick Pick обзавелся новыми отступами и скругленными углами.

Исправление в теме второстепенного сайдбара
Второстепенный сайдбар (Secondary Side Bar) теперь использует для цвета текста тот же ключ темы sideBar.foreground
, что и главный сайдбар. Это должно исправить его отображение в некоторых темах.
Пример с официального сайта. Оба сайдбара используют один и тот же цвет текста - розовый:

Смена folding provider
Теперь в настройках можно сменить folding provider (провайдера складывания) для выбранного языка:
"[javascript]": {
"editor.defaultFoldingRangeProvider": "aeschli.better-folding"
}
Название provider состоит из названия-издателя.названия-расширения
.
Folding provider определяет, как код будет разбиваться на складываемые участки (классы, функции, блоки). Расширения VS Code могут предоставлять свои folding provider, чтобы улучшить эту функцию редактора. Прежде VS Code пытался сливать советы разных провайдеров (в том числе дефолтных), отбрасывая конфликты. Теперь управление над складыванием блоков кода можно будет передать исключительно конкретному расширению.
Уровни логгирования для каналов вывода
Каналы вывода - это логи компонентов и расширений VS Code. Теперь для каждого канала можно задать уровень логгирования отдельно с помощью UI командой "Developer: Set Log Level...":

Либо из командной строки:
code --log vscode.git:debug
Команда рекурсивного складывания элемента дерева
Новая команда list.collapseAllToFocus
складывает текущий выбранный элемент в дереве и все его потомки.
Редактор разрешения конфликтов
Можно выбрать обе правки
И они будут вставлены одна после другой:

Авторазрешение конфликтов в пределах строки
VS Code теперь будет предлагать слить правки в одной строке автоматически, если увидит такую возможность. Например, если обе ветки добавили символы в один и тот же импорт:

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

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

После:

Если новый алгоритм вызывает проблемы, его можно отключить, изменив настройку mergeEditor.diffAlgorithm
с experimental
(новое значение по-умолчанию) на smart
.
Счетчик конфликтов кликабельный
Клик по нему прыгает к следующему конфликту.

Markdown
Автообновление ссылок на файлы
Когда файл переименовывается или перемещается, VS Code будет предлагать исправить ссылки на него в ваших заметках:

Это поведение контролируется настройкой markdown.updateLinksOnFileMove.enabled
.
Команда вставки ссылки на файл или изображение
Новые команды "Markdown: Insert Link to File in Workspace" и "Markdown: Insert Image from Workspace" откроют окно выбора файла в workspace и вставят ссылку на него в текст.
Предупреждение о неиспользуемых или дублированных ссылках
VS Code будет предупреждать, если ссылки, определенные через алиас, продублированы или не используются:

Функция включается настройкой markdown.validate.enabled
.
Подсветка ссылки под курсором
Подсвечиваются все случаи использования этой ссылки в тексте. Если ссылка ведет на заголовок, заголовок тоже подсветится.

Функция включается настройкой markdown.occurrencesHighlight.enabled
.
Razor
Подсветка синтаксиса Razor - языка шаблонов для ASP.NET Core - была переработана и теперь будет более активно поддерживаться.
Python
Автоимпорт отключен по-умолчанию
Из-за негативных отзывов свежее обновление Pylance теперь не будет автоматически импортировать символы, выбранные в авто-комплите. Это поведение можно вернуть настройкой python.analysis.autoImportCompletions
.
Расширения isort, pylint, flake8
isort был вынесен из официального расширения Python в отдельное расширение, которое устанавливается автоматически.
pylint и flake8 уже существовали в виде официальных расширений, но теперь их установка будет предлагаться всплывашкой:

Материал подготовлен с ❤️ редакцией Кухни IT.