Microsoft выпускает VS Code 1.51 с улучшенными закрепленными вкладками и многим другим
11 минута. читать
Обновление
Прочтите нашу страницу раскрытия информации, чтобы узнать, как вы можете помочь MSPoweruser поддержать редакционную команду. Читать далее
Сегодня Microsoft объявила о выпуске Visual Studio Code v1.51 (обновление за октябрь 2020 г.) с несколькими улучшениями и исправлениями ошибок. Это новое обновление теперь поставляется с окном предложений IntelliSense с изменяемым размером, постоянными сеансами удаленного терминала, улучшенными закрепленными вкладками и многим другим. Найдите полный журнал изменений, предоставленный Microsoft, ниже.
Верстак#
Более заметные закрепленные вкладки#
На закрепленных вкладках теперь всегда будет отображаться значок булавки, даже когда они неактивны, чтобы их было легче идентифицировать. Если редактор закреплен и содержит несохраненные изменения, значок отражает оба состояния.
Деревья расширений используют пользовательское наведение#
Вместо того, чтобы использовать встроенную всплывающую подсказку в представлениях дерева расширений, мы теперь используем пользовательское наведение, которое является согласованным для разных платформ и лучше соответствует общему UX.
Установить расширение без синхронизации#
Теперь вы можете установить расширение без его синхронизации, пока включена синхронизация настроек.
Тема: GitHub Свет
Установить расширение из проводника#
VS Code теперь поддерживает установку файла расширения VSIX из проводника, щелкнув файл VSIX правой кнопкой мыши и выбрав Установить расширение VSIX пункт контекстного меню.
Введите команду размытия#
Новый внутренний
workbench.action.blur
теперь доступна команда, которая удаляет фокус с любого фокусируемого ввода. Вы можете назначить сочетание клавиш для этой команды в Настройки сочетаний клавиш.Интегрированный Терминал#
Местное эхо#
Для внесения изменений в терминал традиционно требуется, чтобы информация была отправлена в процесс терминала, обработана и возвращена в VS Code, чтобы на нее можно было повлиять. Это может быть медленным при работе с плохим или удаленным подключением к SSH сервер or Кодовое пространство.
В этом выпуске в терминал добавлен режим «локального эха», который пытается прогнозировать изменения и перемещения курсора, сделанные локально, и отображать их в пользовательском интерфейсе, не требуя обращения к серверу. По умолчанию прогнозируемые символы отображаются как «затененные»:
Есть два параметра, которые вы можете использовать для настройки:
terminal.integrated.localEchoLatencyThreshold
настраивает обнаруженный порог задержки в миллисекундах, при котором активируется локальное эхо. Это может быть установлено на0
постоянно включать эту функцию или-1
отключить его. По умолчанию30
.terminal.integrated.localEchoStyle
настраивает стиль или цвет локального символа, по умолчаниюdim
.IntelliSense#
Предложения с изменяемым размером#
На этом этапе мы внесли несколько улучшений в пользовательский интерфейс предложений. Прежде всего, теперь его можно изменить. Перетащите стороны или углы, чтобы изменить размер элемента управления.
Тема: GitHub Свет, Шрифт: FiraCode
Размер списка предложений будет сохраняться и восстанавливаться между сеансами. Размер области сведений сохраняется только для каждого сеанса, так как этот размер обычно более изменчив. Так же
editor.suggest.maxVisibleSuggestions
настройка устарела.Строка состояния для предложений#
Элемент управления предложениями теперь также может отображать собственную строку состояния в нижней части окна. Включите его с помощью
editor.suggest.showStatusBar
параметр. Это упрощает переключение деталей и показывает, поддерживает ли завершение вставку, замену или и то, и другое.Тема: GitHub Свет, Шрифт: FiraCode
В приведенном выше примере выбор «Вставить» приводит к
Math.floorceil
и выбор «Заменить» приводит кMath.floor
.Новый
editor.suggest.insertMode
Параметр позволяет вам настроить, предпочитаете ли вы вставку или замену. Если предложение поддерживает и то, и другое, вашим предпочтением будет значение по умолчанию.Наведите курсор, чтобы выбрать предложения#
И последнее, но не менее важное: теперь вы можете перемещать курсор во время отображения предложений. Например, вы можете активировать подсказки в конце слова, переместиться влево, чтобы увидеть больше подсказок, а затем использовать замену, чтобы перезаписать слово.
Тема: GitHub Свет
муравей#
Пользовательские сниппеты в Emmet вернулись. Кроме того, фрагменты теперь автоматически обновляются при сохранении файла фрагментов или обновлении
emmet.extensionsPath
установка.Управления источником#
Поле ввода системы управления версиями сохраняет историю сообщений фиксации#
Это касается запрос функции для навигации по истории коммитов SCM. Нажмите Up и вниз для отображения предыдущего и следующего коммитов соответственно. Чтобы перейти непосредственно к первой и последней позиции поля ввода, нажмите другой в сочетании с соответствующей клавишей со стрелкой.
Git: команды тегов в подменю#
Команды Git, связанные с тегами, были добавлены в ... Гит меню.
Git: команда перебазирования#
Новая Git: перебазировать ветку… была добавлена команда, которая позволяет вам перебазировать ветку с помощью пользовательского интерфейса.
Git: команда рекурсивного клонирования#
Для Git: клон (рекурсивный) Теперь вы можете рекурсивно клонировать репозитории Git, включая вложенные в них подмодули Git.
Хронология: рендеринг шорткода эмодзи#
Теперь мы отображаем короткие коды эмодзи, такие как
:smile:
, в представлении временной шкалы.Языки#
Умный выбор уценки#
Расширяйте и уменьшайте выделение в документах Markdown с помощью следующих новых команд:
- Expand: Shift+Alt+Вправо
- Сокращаться: Shift+Alt+Влево
Выбор применяется к следующему и следует традиционному иерархическому шаблону:
- Заголовки
- Списки
- Блочные цитаты
- Огороженные кодовые блоки
- Блоки html-кода
- Пункты
Параметр форматирования пустой скобки для JavaScript и TypeScript#
Новый
javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces
иtypescript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces
Параметр конфигурации форматирования определяет, вставляются ли пробелы между пустыми фигурными скобками. Значение по умолчанию для этих параметров — true. Например, для JavaScript:class Foo { doFoo() {} }
настройка
"javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false
и форматирование кода приводит к:class Foo { doFoo() {} // Notice that the space has been removed }
Поддержка браузеров#
Скачать папки (Edge, Chrome)#
Использование новых Доступ к файловой системе API, код Microsoft VS, работающий в браузере, теперь может предлагать действие загрузки для папок из Проводника, чтобы загрузить все файлы и папки на диск.
Примечание: Для этого требуется последняя версия Microsoft Edge или Google Chrome.
Уведомление об открытой рабочей области#
Если вы откроете папку, содержащую
.code-workspace
файлы на верхнем уровне, теперь вы увидите уведомление с просьбой открыть его. Это всегда имело место в Microsoft VS Code для настольных компьютеров и теперь будет работать и в браузере.Предотвратить случайное закрытие#
Новая настройка
window.confirmBeforeClose
был добавлен для отображения диалогового окна подтверждения перед закрытием или выходом из рабочей среды.Возможные значения:
keyboardOnly
Подтверждение будет отображаться только тогда, когда вы используете привязку клавиш для закрытия (например, Ctrl + W). (дефолт)always
: Диалоговое окно подтверждения будет отображаться всегда, даже если вы закроете его жестом мыши.never
: Подтверждение никогда не будет показано.Внимание: этот параметр может охватывать не все случаи. Браузеры по-прежнему могут решить закрыть вкладку или окно без подтверждения.
Вклады в расширения#
Запросы на вытягивание GitHub и проблемы#
Продолжаются работы по Запросы на вытягивание GitHub и проблемы расширение, которое позволяет вам работать, создавать и управлять запросами на вытягивание и проблемами.
Чтобы узнать обо всех новых функциях и обновлениях, вы можете посмотреть полный список изменений для 0.22.0 выпуск расширения.
Удаленная разработка#
Продолжаются работы по Расширения удаленной разработки, которые позволяют использовать контейнер, удаленную машину или Подсистема Windows для Linux (WSL) в качестве полнофункциональной среды разработки.
Основные особенности версии 1.51 включают:
- Возможность сохранять/повторно подключаться к терминальным сеансам.
- Улучшенный опыт переадресации портов.
Вы можете узнать о новых функциях расширения и исправлениях ошибок в Примечания к выпуску удаленной разработки.
Функции предварительного просмотра#
Предварительные версии еще не готовы к выпуску, но достаточно функциональны, чтобы их можно было использовать. Мы приветствуем ваши ранние отзывы, пока они находятся в стадии разработки.
Синхронизация настроек#
Синхронизация настроек теперь синхронизирует глобальное состояние расширений. Расширения должны будут предоставить состояние для синхронизации, используя недавно представленный сеткэйсфорсинк API.
Запомнить учетные данные прокси#
Мы перерабатываем диалоговое окно входа в систему, которое показывает, когда сетевое подключение требует аутентификации с помощью прокси-сервера. Новая настройка,
window.enableExperimentalProxyLoginDialog: true
, включит этот новый интерфейс, который мы планируем сделать по умолчанию в будущем выпуске.Тема: GitHub Свет
Диалоговое окно появится в окне Microsoft VS Code и предложит способ запомнить учетные данные, чтобы вам не приходилось вводить их каждый раз при запуске VS Code. Учетные данные будут храниться в стандартном хранилище учетных данных ОС (связка ключей в macOS, диспетчер учетных данных Windows в Windows и связка ключей gnome в Linux).
Мы по-прежнему показываем это диалоговое окно только один раз за сеанс, но, возможно, пересмотрим это решение в будущем. Вы увидите, что диалоговое окно появляется снова, если учетные данные, которые вы выбрали для запоминания, недействительны. Предоставление их снова позволяет вам изменить их.
Пожалуйста, включите эту опцию и дайте нам знать, если что-то не работает должным образом через наш Выпускной трекер.
Бета-поддержка TypeScript 4.1#
Microsoft VS Code поддерживает Бета-версия TypeScript 4.1 и ночные сборки. Обновление 4.1 содержит некоторые новые функции языка TypeScript, такие как поддержка рекурсивные условные типы, а также улучшения инструментов. Одна из областей внимания была добавление начальной поддержки для
@see
теги в комментариях JSDoc.Чтобы начать использовать ночные сборки TypeScript 4.1, просто установите Ночное расширение TypeScript. Пожалуйста, поделитесь отзывом и сообщите нам, если вы столкнетесь с какими-либо ошибками в TypeScript 4.1.
Создание расширений#
Обновленные примеры расширений#
Мы обновили некоторые из наших образцы расширений чтобы включить стили Microsoft VS Code по умолчанию, которые подключены к нашим токенам цветовой темы. Это означает, что общие элементы (текст, кнопки, элементы ввода) будут тематическими и будут соответствовать стилям по умолчанию в продукте. Ниже приведены расширения, которые включают это:
Цвета кодикона на деревьях#
С окончательной доработкой
ThemeIcon
цветной API, авторы расширений могут использовать цвета темы для кодиконов в пользовательских древовидных представлениях.Синхронизировать глобальное состояние#
Расширения теперь могут синхронизировать свое глобальное состояние, предоставляя ключи, значения которых должны быть синхронизированы при включенной синхронизации настроек, используя недавно представленный
setKeysForSync
API вglobalState
на память./** * Set the keys whose values should be synchronized across devices when synchronizing user-data * like configuration, extensions, and mementos. * * Note that this function defines the whole set of keys whose values are synchronized: * - calling it with an empty array stops synchronization for this memento * - calling it with a non-empty array replaces all keys whose values are synchronized * * For any given set of keys this function needs to be called only once but there is no harm in * repeatedly calling it. * * @param keys The set of keys whose values are synced. */ setKeysForSync(keys: string[]): void;
Видимость кнопки ответа на ветку комментариев#
КОММЕНТАРИЙ расширения теперь могут контролировать видимость кнопки ответа в ветке комментариев с помощью нового свойства,
CommentThread#canReply
. Когда он установлен наfalse
, пользователи не увидят кнопку ответа или поле комментария в ветке комментариев.Предлагаемые API расширений#
Каждая веха сопровождается новыми предлагаемыми API, и авторы расширений могут их опробовать. Как всегда, мы хотим, чтобы ваши отзывы. Вот что вам нужно сделать, чтобы опробовать предложенный API:
- Вы должны использовать инсайдеров, потому что предлагаемые API часто меняются.
- У вас должна быть эта строка в
package.json
файл вашего расширения:"enableProposedApi": true
.- Скопируйте последнюю версию
vscode.proposed.d.ts
файл в исходное местоположение вашего проекта.Вы не можете опубликовать расширение, использующее предлагаемый API. В следующем выпуске могут быть критические изменения, и мы никогда не хотим ломать существующие расширения.
Событие смены поставщика складных диапазонов#
Поставщики диапазонов фолда могут сигнализировать редактору о том, что диапазоны фолда необходимо обновить, используя
onDidChangeFoldingRanges
мероприятие.Для получения более подробной информации и обратной связи, пожалуйста, используйте Вопрос #108929.
API паролей#
В рамках продолжения работы над Поставщики аутентификации, мы представили API для хранения и извлечения конфиденциальной информации. Внутренне это действует как оболочка Keytar библиотека, которую VS Code использует для хранения секретов.
/** * Retrieve a password that was stored with key. Returns undefined if there * is no password matching that key. * @param key The key the password was stored under. */ export function getPassword(key: string): Thenable<string | undefined>; /** * Store a password under a given key. * @param key The key to store the password under * @param value The password */ export function setPassword(key: string, value: string): Thenable<void>; /** * Remove a password from storage. * @param key The key the password was stored under. */ export function deletePassword(key: string): Thenable<void>; /** * Fires when a password is set or deleted. */ export const onDidChangePassword: Event<void>;
Проект и#
Обеспечение соответствия Microsoft VS Code Trusted Types#
Мы продолжаем работать над тем, чтобы сделать VS Code «доверенными типами» совместимыми. Цель состоит в том, чтобы предотвратить уязвимости межсайтового скриптинга на основе DOM. Вы можете узнать больше о доверенных типах на веб-сайте web.dev. Сайт надежных типов и следите за нашим прогрессом в Вопрос #103699.
Источник: Microsoft