VS Code 1.51 е издаден с подобрения в закрепени раздели и други
Visual Studio Code е популярно приложение за разработчиците. Това е редактор на код, предефиниран и оптимизиран за изграждане и отстраняване на грешки в съвременни уеб и облачни приложения. VS Code идва с различни разширения и помощници, които наистина спестяват време. Предлага се за всички основни платформи, включително Windows, MacOS и Linux. Днес Microsoft пусна нова версия на приложението, която внася подобрения в различни функции на приложението, включително закрепени раздели, интеграция с GitHub и много други.
VS Code 1.51 се отличава със следните промени.
Забележка: Можете да изтеглите приложението от официалния му уебсайт.
работна маса
По-изпъкнали закрепени раздели
Фиксираните раздели вече винаги ще показват своята икона на щифт, дори когато са неактивни, за да ги разпознават по-лесно. Ако редакторът е едновременно фиксиран и съдържа незапазени промени, иконата отразява и двете състояния.
Дърветата на разширенията използват персонализирано задържане на мишката
Вместо да използваме вградения подсказка в изгледите на дървото на разширенията, сега използваме персонализирано задържане на мишката, което е последователно между платформи и се вписва по-добре с цялостния UX.
Инсталирайте разширение без синхронизиране
Вече можете да инсталирате разширение, без да го синхронизирате, докато синхронизирането на настройките е активирано.
тема: GitHub Light
Инсталирайте разширение от Explorer
VS Code вече поддържа инсталиране на разширение VSIX файл от Explorer, като щракнете с десния бутон върху VSIX файл и изберете Инсталирайте разширението VSIX елемент от контекстното меню.
Въведете команда за размазване
Нов вътрешен работна маса.екшън.размазване
вече е налична команда, която премахва фокуса от всеки фокусируем вход. Можете да зададете клавишна комбинация за тази команда в Предпочитания за клавишни комбинации.
Интегриран терминал
Местно ехо
Правенето на модификации в терминала традиционно изисква информацията да бъде изпратена до терминалния процес, обработена и върната към VS Code, за да бъде засегната. Това може да бъде бавно, когато работите върху лоша или отдалечена връзка към SSH сървър или Кодово пространство.
Тази версия добавя режим на "локално ехо" към терминала, който се опитва да предвиди модификации и движения на курсора, направени локално, и да ги покаже в потребителския интерфейс, без да изисква двупосочно пътуване до сървъра. По подразбиране предвидените знаци се показват като "затъмнени":
Има две настройки, които можете да използвате, за да конфигурирате това:
-
terminal.integrated.localEchoLatencyThreshold
конфигурира установения праг на закъснение в милисекунди, при който ще се активира локалното ехо. Това може да се настрои на0
за да включите функцията през цялото време, или-1
за да го деактивирате. По подразбиране на30
. -
terminal.integrated.localEchoStyle
конфигурира стила или цвета на локалния символ, по подразбиране етъмно
.
IntelliSense
Предложения с възможност за промяна на размера
В този етап направихме няколко подобрения в потребителския интерфейс за предложения. На първо място, вече може да се преоразмерява. Плъзнете страните или ъглите, за да преоразмерите контролата.
тема: GitHub Light, Шрифт: FiraCode
Размерът на списъка с предложения ще бъде запазен и възстановен в различните сесии. Размерът на панела с подробности се запазва само за сесия, тъй като този размер обикновено е по-променлив. Също така, на editor.suggest.maxVisibleSuggestions
настройката е остаряла.
Лента на състоянието за предложения
Контролата за предложения вече може да показва и собствена лента на състоянието в долната част на прозореца. Активирайте го с помощта на editor.suggest.showStatusBar
настройка. Това прави превключването на детайли по-лесно и показва дали завършването поддържа вмъкване, замяна или и двете.
тема: GitHub Light, Шрифт: FiraCode
В примера по-горе изборът на „Вмъкване“ води до Math.floorceil
и избирането на „Замяна“ води до Математика.под
.
Новото editor.suggest.insertMode
настройката ви позволява да конфигурирате дали предпочитате вмъкване или замяна. Когато предложението поддържа и двете, вашето предпочитание ще бъде по подразбиране.
Преместете курсора, за да изберете предложения
Не на последно място, вече можете да местите курсора, докато се показват предложенията. Например, можете да задействате предложения в края на дума, да се придвижите наляво, за да видите още предложения, и след това да използвате replace, за да презапишете думата.
тема: GitHub Light
Емет
Персонализираните фрагменти в Emmet се завръщат. Освен това фрагментите вече автоматично се опресняват при запазване на файла с фрагменти или актуализиране на emmet.extensionsPath
настройка.
Контрол на източника
Входното поле на Source Control запазва историята на съобщенията за ангажименти
Това адресира a заявка за функция за да навигирате в историята на комитациите на SCM. Натиснете ↑ (Windows, Linux нагоре) и ↓ (Windows, Linux надолу) за да се покажат съответно предходните и следващите комити. За да преминете директно към първата и последната позиция на полето за въвеждане, натиснете Alt във връзка със съответния клавиш със стрелка.
Git: Команди за етикети в подменю
Свързаните с маркер Git команди са добавени към ... Git меню.
Git: Команда Rebase
Нов Git: Пребазиране на клон... беше добавена команда, която ви позволява да пребазирате клон с помощта на потребителския интерфейс.
Git: команда за рекурсивно клониране
С Git: Клониране (рекурсивно) команда, вече можете рекурсивно да клонирате Git хранилища, включително неговите вложени Git подмодули.
Хронология: Изобразяване на кратки кодове на емоджи
Сега изобразяваме кратки кодове на емоджи, като напр :Усмихни се:
, в изгледа на времевата линия.
езици
Интелигентен избор на Markdown
Разширете и свийте избора в Markdown документи, като използвате следните нови команди:
- Разгъване: ⌃⇧⌘→ (Windows, Linux Shift+Alt+Дясно)
- Свиване: ⌃⇧⌘← (Windows, Linux Shift+Alt+ляво)
Изборът се отнася за следното и следва традиционен йерархичен модел:
- Заглавия
- Списъци
- Блокови кавички
- Оградени кодови блокове
- HTML кодови блокове
- Параграфи
Опция за форматиране на празни скоби за JavaScript и TypeScript
Новото javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBaces
и typescript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBaces
опцията за конфигурация за форматиране контролира дали се вмъкват интервали между празните скоби. Стойността по подразбиране за тези настройки е true. Например за JavaScript:
клас Foo { doFoo() { } }
Настройка "javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBaces": false
и форматирането на кода води до:
class Foo { doFoo() {} // Забележете, че интервалът е премахнат. }
Поддръжка на браузъра
Изтегляне на папки (Edge, Chrome)
Използване на новото Достъп до файловата система API, VS Code, работещ в браузър, вече може да предложи действие за изтегляне на папки от File Explorer за изтегляне на всички файлове и папки на диск.
Забележка: Това изисква най-нова версия на Microsoft Edge или Google Chrome.
Отворете известието за работното пространство
Ако отворите папка, която съдържа .code-workspace
файлове на най-високо ниво, сега ще видите известие с молба да го отворите. Това винаги е било така в VS Code за десктоп и сега ще работи и в браузъра.
Предотвратете случайно затваряне
Нова настройка window.confirmBeforeClose
беше добавен за показване на диалогов прозорец за потвърждение преди затваряне или излизане от работната маса.
Възможните стойности са:
-
само клавиатура
Потвърждението ще се показва само когато използвате свързване на клавиши за затваряне (напр. ⌘W (Windows, Linux Ctrl+W)). (по подразбиране) -
винаги
: Диалоговият прозорец за потвърждение винаги ще се показва, дори ако затворите с жест на мишката. -
никога
: Потвърждението никога няма да бъде показано.
Забележка: Тази настройка може да не обхваща всички случаи. Браузърите все още могат да решат да затворят раздел или прозорец без потвърждение.
Принос към разширенията
Заявки и проблеми за изтегляне на GitHub
Работата продължава по Заявки и проблеми за изтегляне на GitHub разширение, което ви позволява да работите, създавате и управлявате заявки за изтегляне и проблеми.
За да научите за всички нови функции и актуализации, можете да видите пълния регистър на промените за 0.22.0 освобождаване на разширението.
Дистанционно развитие
Работата продължава по Разширения за отдалечено развитие, които ви позволяват да използвате контейнер, отдалечена машина или Подсистема на Windows за Linux (WSL) като пълнофункционална среда за разработка.
Акцентите на функциите в 1.51 включват:
- Възможност за запазване/свързване отново с терминални сесии.
- Подобрено преживяване при пренасочване на портове.
Можете да научите за новите функции на разширения и корекции на грешки в Бележки за версията за отдалечено развитие.
Функции за предварителен преглед
Функциите за предварителен преглед не са готови за пускане, но са достатъчно функционални за използване. Приветстваме вашите ранни отзиви, докато са в процес на разработка.
Синхронизиране на настройките
Синхронизирането на настройките вече синхронизира глобалното състояние на разширенията. Разширенията ще трябва да предоставят състоянието за синхронизиране с помощта на нововъведеното setKeysForSync API.
Запомнете прокси идентификационните данни
Преразглеждаме диалоговия прозорец за вход, който показва кога мрежова връзка изисква удостоверяване с прокси. нова настройка, window.enableExperimentalProxyLoginDialog: вярно
, ще даде възможност за това ново изживяване, което планираме да направим по подразбиране в бъдеща версия.
тема: GitHub Light
Диалогът ще се появи в прозореца на VS Code и ще предложи начин да запомните идентификационните данни, така че да не се налага да ги предоставяте всеки път, когато стартирате VS Code. Идентификационните данни ще се съхраняват в стандартното хранилище за идентификационни данни на ОС (ключове на macOS, Windows Credential Manager на Windows и gnome ключодържател на Linux).
Все още показваме този диалогов прозорец само веднъж на сесия, но може да преразгледаме това решение в бъдеще. Ще видите диалоговият прозорец да се появи отново, в случай че идентификационните данни, които сте избрали да бъдат запомнени, не са валидни. Предоставянето им отново ви позволява да ги промените.
Моля, активирайте тази опция и ни уведомете, ако нещо не работи според очакванията чрез нашия проблем за проследяване.
Поддръжка на TypeScript 4.1 бета
VS Code поддържа TypeScript 4.1 бета и нощни композиции. Актуализацията 4.1 носи някои нови езикови функции на TypeScript, като поддръжка за рекурсивни условни типове, както и подобрения на инструментите. Една фокусна област беше добавяне на първоначална поддръжка за @виж
тагове в коментарите на JSDoc.
За да започнете да използвате нощните компилации TypeScript 4.1, просто инсталирайте TypeScript Nightly разширение. Моля, споделете обратна връзка и ни уведомете, ако срещнете грешки с TypeScript 4.1.
Авторство на разширения
Актуализирани мостри за разширения
Актуализирахме някои от нашите мостри за разширение за да включите стилове по подразбиране на VS Code, които са свързани с нашите символи за цветова тема. Това означава, че общите елементи (текст, бутони, входове) ще бъдат тематични и ще съответстват на стиловете по подразбиране в продукта. По-долу са разширенията, които включват това:
- персонализиран редактор-извадка
- webview-извадка
- webview-view-sample
Цветове на кодикон в дърветата
С финализирането на Икона на темата
API за цвят, авторите на разширения могат да използват цветове на темата върху кодиконите в персонализирани изгледи на дърво.
Синхронизиране на глобално състояние
Разширенията вече могат да синхронизират своето глобално състояние, като предоставят ключовете, чиито стойности трябва да се синхронизират, когато синхронизирането на настройките е активирано, като се използват нововъведените setKeysForSync
API в globalState
спомен.
/** * Задайте ключовете, чиито стойности трябва да се синхронизират между устройствата при синхронизиране на потребителски данни * като конфигурация, разширения и спомени. * * Имайте предвид, че тази функция дефинира целия набор от ключове, чиито стойности са синхронизирани: * - извикването му с празен масив спира синхронизирането за този спомен * - извикването му с непразен масив замества всички ключове, чиито стойности са синхронизирани * * За всеки даден набор от ключове тази функция трябва да бъде извикана само веднъж, но няма нищо лошо в * многократното извикване. * * @param ключове Наборът от ключове, чиито стойности са синхронизирани. */ setKeysForSync (ключове: string[]): void;
Коментирайте разширенията вече могат да контролират видимостта на бутона за отговор в нишката за коментари с ново свойство, CommentThread#canReply
. Когато е настроен на фалшиво
, потребителите няма да виждат бутона за отговор или полето за коментар в нишката за коментари.
Предложени API за разширение
Всеки етап идва с нови предложени API и авторите на разширения могат да ги изпробват. Както винаги, искаме вашето мнение. Ето какво трябва да направите, за да изпробвате предложен API:
- Трябва да използвате Insiders, защото предложените API често се променят.
- Трябва да имате този ред в
package.json
файл на вашето разширение:"enableProposedApi": вярно
. - Копирайте най-новата версия на
vscode.proposed.d.ts
файл в изходното местоположение на вашия проект.
Не можете да публикувате разширение, което използва предложен API. Може да има критични промени в следващото издание и никога не искаме да нарушаваме съществуващите разширения.
Доставчиците на сгъваем диапазон променят събитие
Доставчиците на сгъваеми диапазони могат да сигнализират на редактора, че диапазоните на сгъване трябва да бъдат актуализирани с помощта на onDidChangeFoldingRanges
събитие.
За повече подробности и за обратна връзка, моля, използвайте проблем #108929.
API за пароли
Като част от продължаващата работа по Доставчици на удостоверяване, въведохме API за съхранение и извличане на чувствителна информация. Вътрешно, това действа като обвивка на keytar библиотека, която VS Code използва за съхранение на тайни.
/** * Извличане на парола, която е била съхранена с ключ. Връща undefined, ако * няма парола, съответстваща на този ключ. * @param ключ Ключът, под който е била съхранена паролата. */ функция за експортиране getPassword (ключ: низ): Следва; /** * Съхраняване на парола под даден ключ. * @param ключ Ключът за съхраняване на паролата под * @param стойност Паролата */ функция за експортиране setPassword (ключ: низ, стойност: низ): След това е възможно; /** * Премахване на парола от хранилището. * @param ключ Ключът, под който е била съхранена паролата. */ функция за експортиране deletePassword (ключ: низ): Следва; /** * Задейства се, когато е зададена или изтрита парола. */ експортиране const onDidChangePassword: Събитие;
Инженерство
Направете VS Code Trusted Types съвместими
Продължихме усилията да направим VS Code „Надеждени типове“ съвместим. Целта е да се предотвратят DOM-базирани уязвимости при скриптиране на различни сайтове. Можете да научите повече за доверените типове на web.dev Сайт за доверени типове и следете напредъка ни проблем #103699.