Microsoft выпускает VS Code 1.51 с улучшенными закрепленными вкладками и многим другим

Значок времени чтения 11 минута. читать


Читатели помогают поддержать MSpoweruser. Мы можем получить комиссию, если вы совершите покупку по нашим ссылкам. Значок подсказки

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

Код Майкрософт VS

Код Майкрософт VS

Сегодня Microsoft объявила о выпуске Visual Studio Code v1.51 (обновление за октябрь 2020 г.) с несколькими улучшениями и исправлениями ошибок. Это новое обновление теперь поставляется с окном предложений IntelliSense с изменяемым размером, постоянными сеансами удаленного терминала, улучшенными закрепленными вкладками и многим другим. Найдите полный журнал изменений, предоставленный Microsoft, ниже.

Верстак#

Более заметные закрепленные вкладки#

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

Неактивные закрепленные вкладки со значками закрепления

Деревья расширений используют пользовательское наведение#

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

Наведение пользовательского дерева

Установить расширение без синхронизации#

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

Установить расширение без синхронизации

Тема: GitHub Свет

Установить расширение из проводника#

VS Code теперь поддерживает установку файла расширения VSIX из проводника, щелкнув файл VSIX правой кнопкой мыши и выбрав Установить расширение VSIX пункт контекстного меню.

Введите команду размытия#

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

Интегрированный Терминал#

Местное эхо#

Для внесения изменений в терминал традиционно требуется, чтобы информация была отправлена ​​в процесс терминала, обработана и возвращена в VS Code, чтобы на нее можно было повлиять. Это может быть медленным при работе с плохим или удаленным подключением к SSH сервер or Кодовое пространство.

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

Gif-изображение, показывающее набор текста с задержкой 250 мс, где символы, введенные сразу, затемнены

Есть два параметра, которые вы можете использовать для настройки:

  • 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 установка.

Пользовательские сниппеты Emmet снова работают

Управления источником#

Поле ввода системы управления версиями сохраняет историю сообщений фиксации#

Это касается запрос функции для навигации по истории коммитов SCM. Нажмите Up и вниз для отображения предыдущего и следующего коммитов соответственно. Чтобы перейти непосредственно к первой и последней позиции поля ввода, нажмите другой в сочетании с соответствующей клавишей со стрелкой.

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

Git: команды тегов в подменю#

Команды Git, связанные с тегами, были добавлены в ... Гит меню.

Подменю тегов Git

Git: команда перебазирования#

Новая Git: перебазировать ветку… была добавлена ​​команда, которая позволяет вам перебазировать ветку с помощью пользовательского интерфейса.

Git: команда рекурсивного клонирования#

Для Git: клон (рекурсивный) Теперь вы можете рекурсивно клонировать репозитории Git, включая вложенные в них подмодули Git.

Хронология: рендеринг шорткода эмодзи#

Теперь мы отображаем короткие коды эмодзи, такие как :smile:, в представлении временной шкалы.

Просмотр временной шкалы с эмодзи

Языки#

Умный выбор уценки#

Расширяйте и уменьшайте выделение в документах Markdown с помощью следующих новых команд:

  • Expand: Shift+Alt+Вправо
  • Сокращаться: Shift+Alt+Влево

Выбор применяется к следующему и следует традиционному иерархическому шаблону:

  • Заголовки
  • Списки
  • Блочные цитаты
  • Огороженные кодовые блоки
  • Блоки html-кода
  • Пункты

Интеллектуальный выбор в документе Markdown расширяется от блочного элемента до блочного элемента, содержащего его, до остального содержимого под заголовком, до самого заголовка

Параметр форматирования пустой скобки для 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

Подробнее о темах: Microsoft, Код Visual Studio 1.51, Код VS

Оставьте комментарий

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