Файл не отображается в редакторе, так как это бинарный код Visual Studio

Обновлено: 06.07.2024

Это расширение на базе Wijmo предоставляет настраиваемые редакторы и предварительный просмотр файлов CSV и электронных таблиц Excel в Visual Studio Code и Visual Studio Code для Интернета.

Для этого расширения требуется Visual Studio Code 1.63.0 или выше.

Версия 4.2 теперь поддерживает первоклассные пользовательские редакторы, реализующие такие операции, как сохранение, отмена, повтор и горячий выход. Для файлов Excel это значение по умолчанию, и щелчок по имени файла Excel в представлении проводника напрямую открывает пользовательский редактор. Для файлов CSV это необязательно, и выполнение команды «Открыть с помощью» в контекстном меню предлагает открыть встроенный или пользовательский редактор. Команда Open Preview по-прежнему поддерживается для обоих типов файлов.

Использование CSV

Для файлов .tsv и .tab предполагается разделитель табуляции. Для простых текстовых файлов с другими расширениями откройте файл в редакторе и выполните команду CSV: Open Preview из палитры команд. Для любого текстового файла, который открыт во встроенном редакторе, независимо от расширения, вы можете щелкнуть его вкладку правой кнопкой мыши и выполнить команду «Повторно открыть редактор с помощью», а затем при появлении запроса выбрать параметр «Просмотр CSV».

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

Чтобы отсортировать столбец в порядке возрастания, щелкните его заголовок. Чтобы изменить порядок сортировки, снова щелкните заголовок столбца. Чтобы указать столбец вторичной сортировки, удерживайте клавишу Shift, щелкая заголовок столбца. Чтобы отменить сортировку для столбца, удерживайте клавишу Ctrl, щелкая заголовок столбца. Кроме того, вы можете использовать команду CSV: Очистить состояние предварительного просмотра, чтобы удалить все критерии сортировки/фильтрации для текущего файла.

Использование Excel

Для файлов с расширением .xlsx или .xlsm просто щелкните (или дважды щелкните) имя файла в проводнике. Содержимое файла будет отображаться в элементе управления FlexSheet. Если присутствует несколько листов, используйте элементы управления в нижней части представления для навигации.

Как и в более ранних версиях, вы можете использовать контекстное меню проводника или меню заголовка редактора, чтобы вызвать команду «Открыть предварительный просмотр».

Поддержка темы

Расширение адаптирует свое отображение к текущей теме Visual Studio Code. Для достижения наилучших результатов выберите тему с непрозрачными цветами фона выделения.

Постоянные данные

Расширение автоматически сохраняет пользовательские настройки для каждого файла и рабочей области. Для файлов CSV это включает ширину столбцов, критерии сортировки/фильтрации, типы данных, строки формата и положение полосы прокрутки. Для файлов Excel это включает выбранный индекс листа, критерии сортировки/фильтрации и положения полосы прокрутки, связанные только с этим листом. Если структура столбцов CSV-файла изменяется, любые постоянные данные для этого файла игнорируются.

Чтобы удалить постоянные данные для файла CSV или Excel, выполните команду CSV: Clear Preview State . Предварительный просмотр будет обновлен автоматически.

Числовое форматирование

Настройка csv-preview.formatValues ​​определяет способ применения числового форматирования:

Значение Описание
всегда Все числовые значения форматируются в соответствии с настройкой csv-preview.numberFormat. Это значение по умолчанию.
никогда Все значения обрабатываются как строки, числовое форматирование не выполняется.
без кавычек Числовые значения форматируются, но только если они не заключены в кавычки. Если столбец содержит смесь значений в кавычках и без кавычек, значение в первой строке данных имеет приоритет.

Поскольку типы данных и строки формата сохраняются вместе с другими свойствами столбца, вам может потребоваться запустить команду CSV: Очистить состояние предварительного просмотра, чтобы увидеть последствия изменения csv-preview.formatValues ​​и csv-preview.numberFormat. параметры.

Конфигурация

Чтобы изменить параметры конфигурации по умолчанию для расширения средства просмотра Excel, измените параметры пользователя или рабочей области, как описано здесь. Доступны следующие настройки, которые управляют только файлами CSV:

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

Настройки регулярных выражений

Следующие параметры конфигурации используются в регулярных выражениях при обработке CSV-файлов. Поэтому для достижения желаемого результата вам необходимо экранировать любые специальные символы регулярных выражений с помощью обратной косой черты.

Например, чтобы заменить символ-разделитель (запятую) по умолчанию знаком доллара, введите в редакторе настроек следующее:


Однако, если вы редактируете файл settings.json напрямую, требуется дополнительная обратная косая черта:

Аналогично, чтобы использовать вертикальную черту в качестве символа-разделителя:

Однако, если вы хотите использовать символ табуляции в качестве разделителя, потребуется только одна обратная косая черта:

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

Visual Studio Code серьезно относится к безопасности и хочет помочь вам безопасно просматривать и редактировать код независимо от источника или авторов оригинала. Функция Workspace Trust позволяет вам решать, должны ли папки вашего проекта разрешать или ограничивать автоматическое выполнение кода.

Доверять этой папке

Примечание. Если вы сомневаетесь, оставьте папку в ограниченном режиме. Вы всегда можете включить доверие позже.

Безопасный просмотр кода

Здорово, что в общедоступных репозиториях и файловых ресурсах доступно так много исходного кода. Независимо от задачи или проблемы кодирования, вероятно, где-то уже есть хорошее решение. Также здорово, что существует так много мощных инструментов кодирования, которые помогут вам понять, отладить и оптимизировать ваш код. Однако использование кода и инструментов с открытым исходным кодом сопряжено с риском, и вы можете оставить себя открытым для выполнения вредоносного кода и эксплойтов.

Доверие рабочей области обеспечивает дополнительный уровень безопасности при работе с незнакомым кодом, предотвращая автоматическое выполнение кода, когда рабочая область открыта в «Ограниченном режиме».

Примечание. Термины "рабочая область" и "папка" широко используются в пользовательском интерфейсе и документации VS Code. Вы можете думать о «рабочей области» как о папке с дополнительными метаданными, созданными и используемыми VS Code.

Ограниченный режим

Если в диалоговом окне «Доверие к рабочей области» вы выберете «Нет, я не доверяю авторам», VS Code перейдет в ограниченный режим, чтобы предотвратить выполнение кода. В верхней части рабочей среды отобразится баннер со ссылками на разделы «Управление папкой с помощью редактора Workspace Trust» и «Узнать больше о Workspace Trust» (что возвращает вас к этой документации).

Вы также увидите значок ограниченного режима в строке состояния.

Workspace Trust Значок в строке состояния ограниченного режима

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

Чтобы просмотреть полный список функций, отключенных в ограниченном режиме, вы можете открыть редактор Workspace Trust, перейдя по ссылке "Управление" в заголовке или щелкнув значок "Ограниченный режим" в строке состояния.

Редактор Workspace Trust

Задачи

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

Если вы попытаетесь запустить или даже перечислить задачи («Терминал» > «Выполнить задачу») в ограниченном режиме, VS Code отобразит запрос на доверие к папке и продолжит выполнение задачи. При отмене диалогового окна VS Code остается в ограниченном режиме.

Workspace Trust Диалог задач ограниченного режима

Отладка

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

Если вы попытаетесь запустить сеанс отладки (Выполнить > Начать отладку) в ограниченном режиме, VS Code отобразит запрос на доверие к папке и продолжит запуск отладчика. Отмена диалогового окна оставляет VS Code в ограниченном режиме и не запускает сеанс отладки.

Workspace Trust Диалоговое окно отладки ограниченного режима

Настройки рабочей области

Настройки рабочей области хранятся в папке .vscode в корне вашей рабочей области, и поэтому ими могут пользоваться все, кто клонирует репозиторий рабочей области.Некоторые настройки содержат пути к исполняемым файлам (например, бинарным файлам линтера), которые, если указать на вредоносный код, могут нанести ущерб. По этой причине существует набор параметров рабочей области, которые отключаются при работе в ограниченном режиме.

Рабочее пространство редактора Trust

В редакторе Workspace Trust есть ссылка для отображения параметров рабочей области, которые не применяются. При нажатии на ссылку открывается редактор настроек, ограниченный тегом @tag:requireTrustedWorkspace.

Редактор настроек с областью действия requireTrustedWorkspace тег

Расширения

Экосистема расширений VS Code невероятно богата и разнообразна. Люди создали расширения, чтобы помочь с любой задачей программирования или настройкой редактора. Некоторые расширения обеспечивают полную поддержку языков программирования (IntelliSense, отладка, анализ кода), а другие позволяют воспроизводить музыку или заводить виртуальных питомцев.

Большинство расширений запускают код от вашего имени и потенциально могут причинить вред. Некоторые расширения имеют настройки, которые могут привести к их злонамеренным действиям, если они настроены на запуск неожиданного исполняемого файла. По этой причине расширения, для которых Workspace Trust не включено явным образом, по умолчанию отключены в ограниченном режиме.

Отключенные расширения Workspace Trust ссылка

Вы можете просмотреть статус установленного расширения, щелкнув ссылку расширения отключены или имеют ограниченную функциональность в редакторе Workspace Trust, в котором отображается представление расширений с фильтром @workspaceUnsupported.

Представление расширений, отфильтрованное по workspaceUnsupported показывает отключенные и ограниченные расширения

Отключено в ограниченном режиме

Расширения, для которых явно не указано, что они поддерживают работу в ограниченном режиме, отображаются в разделе "Отключено в ограниченном режиме". Автор расширения также может указать, что он никогда не хочет работать в ограниченном режиме, если он определит, что его расширение может быть использовано не по назначению путем модификации (настроек или файлов) в рабочей области.

Ограничено в ограниченном режиме

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

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

Например, встроенное расширение PHP VS Code ограничивает использование параметра php.validate.executablePath доверенными папками, поскольку переопределение этого параметра может привести к запуску вредоносной программы.

Расширение PHP ограничено в Наведение в режиме ограниченного доступа

Вы можете переопределить уровень поддержки Workspace Trust для расширения с помощью параметра extensions.supportUntrustedWorkspaces, описанного в разделе "Включение расширений" ниже.

Если вы попытаетесь установить расширение в ограниченном режиме, вам будет предложено либо доверять рабочей области, либо просто установить расширение. Если расширение не поддерживает Workspace Trust, оно будет установлено, но отключено или будет работать с ограниченной функциональностью.

Workspace Trust установить расширение в диалоговом окне ограниченного режима

Примечание. Авторы расширений могут узнать, как обновить свои расширения для поддержки Workspace Trust, прочитав Руководство по расширению Workspace Trust.

Доверие к рабочей области

Первоначальный запрос доверия рабочей области при открытии новой папки позволяет вам доверять этой папке и ее вложенным папкам.

Доверять этой папке

Вы также можете вызвать редактор рабочей области и быстро изменить доверенное состояние папки.

Есть несколько способов вызвать диалоговое окно редактора рабочей области.

В ограниченном режиме:

  • Баннер ограниченного режима Ссылка на управление
  • Элемент строки состояния ограниченного режима

Вы также можете в любое время использовать:

  • Рабочие пространства: команда «Управление доверием к рабочему пространству» из палитры команд ( ⇧⌘P (Windows, Linux Ctrl+Shift+P ) )
  • Управление доверием рабочей области с помощью механизма управления на панели действий.

Управление рабочей областью Команда

Выбор папок

Когда вы доверяете папке, она добавляется в список надежных папок и рабочих областей, отображаемый в редакторе доверия рабочей области.

Workspace Trust редактор списка доверенных папок и рабочих пространств

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

Выбор родительской папки

Когда вы доверяете папке с помощью редактора доверия Workspace, у вас есть возможность доверять родительской папке. Это применит доверие к родительской папке и всем вложенным папкам.

Раскрывающееся меню кнопки Workspace Trust показывает

Это может быть полезно, если у вас есть много папок с надежным содержимым, расположенным в одной папке.

При открытии вложенной папки в доверенном родительском элементе вы не увидите обычную кнопку "Не доверять", которая вернет вас в ограниченный режим, вместо этого появится текст, указывающий, что ваша папка является доверенной из-за другой папки.

Вы можете добавлять, изменять и удалять запись родительской папки из списка надежных папок и рабочих областей.

Конфигурации папок

Как упоминалось выше, вы можете доверять родительской папке, и все подпапки будут доверенными. Это позволяет вам управлять Workspace Trust через расположение репозитория на диске.

Например, вы можете поместить все доверенные репозитории в родительскую папку TrustedRepos, а незнакомые репозитории — в другую родительскую папку, например ForEvaluation. Вы бы доверяли папке «TrustedRepos» и выборочно доверяли папкам в «ForEvaluation».

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

Включение расширений

Что делать, если вы хотите использовать ограниченный режим, но ваше любимое расширение не поддерживает Workspace Trust? Это может произойти, если расширение, хотя и полезное и функциональное, активно не поддерживается и не объявило о своей поддержке Workspace Trust. Чтобы справиться с этим сценарием, вы можете переопределить состояние доверия расширения с помощью параметра extensions.supportUntrustedWorkspaces.

Примечание. Будьте осторожны, переопределяя поддержку Workspace Trust расширения. Возможно, у автора расширения есть веская причина отключить свое расширение в ограниченном режиме. Если вы сомневаетесь, обратитесь к автору расширения или просмотрите последние журналы изменений, чтобы получить больше информации.

Если вы откроете редактор настроек ( ⌘, (Windows, Linux Ctrl+, ) ) и введете в поиск «расширения доверия», вы можете найти параметр «Расширения: поддержка ненадежных рабочих областей», в котором есть ссылка «Изменить в settings.json».< /p>

Поддержка расширений

Выберите эту ссылку, и вы перейдете к своему пользовательскому файлу settings.json с новой записью для extensions.supportUntrustedWorkspaces . Этот параметр принимает объект со списком идентификаторов расширений, их статусом поддержки и версией. Вы можете выбрать любое из установленных расширений с помощью предложений IntelliSense.

Ниже вы можете увидеть запись settings.json для расширения Prettier.

Вы можете включить или отключить поддержку Workspace Trust с поддерживаемым атрибутом. Атрибут версии указывает точную применимую версию расширения, и вы можете удалить поле версии, если хотите установить состояние для всех версий.

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

Открытие ненадежных файлов

Если вы откроете файл, расположенный за пределами доверенной папки, VS Code обнаружит, что файл получен откуда-то за пределами корня папки, и предложит вам продолжить открытие файла или открыть файл в новой папке. окно в ограниченном режиме. Открытие в ограниченном режиме — самый безопасный вариант, и вы всегда можете повторно открыть файл в исходном окне VS Code, как только определите, что файл заслуживает доверия.

Диалоговое окно ненадежных файлов

Если вы не хотите получать запрос при открытии файлов из внешних доверенных рабочих областей, вы можете установить для параметра security.workspace.trust.untrustedFiles значение open . Вы также можете установить для security.workspace.trust.untrustedFiles значение newWindow, чтобы всегда создавать новое окно в ограниченном режиме. Если установить флажок «Запомнить мое решение для всех рабочих областей» в диалоговом окне «Ненадежные файлы», ваш выбор будет применен к настройке пользователя security.workspace.trust.untrustedFiles.

Открытие ненадежных папок

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

Диалоговое окно ненадежной папки

Пустые окна (нет открытой папки)

По умолчанию, если вы открываете новое окно (экземпляр) VS Code, не открывая папку или рабочее пространство, VS Code запускает окно с полным доверием. Все установленные расширения включены, и вы можете использовать пустое окно без ограничений.

Когда вы открываете файл, вам будет предложено открыть ненадежный файл, поскольку для него нет родительской папки.

Вы можете переключить пустое окно в ограниченный режим с помощью редактора доверия рабочей области (выберите «Управление доверием рабочей области» с помощью кнопки «Управление шестеренкой» или панели команд) и выберите «Не доверять». Пустое окно останется в ограниченном режиме для текущего сеанса, но вернется к доверенному, если вы перезапустите или создадите новое окно.

Если вы хотите, чтобы все пустые окна находились в ограниченном режиме, вы можете установить для параметра security.workspace.trust.emptyWindow значение false .

Настройки

Ниже приведены доступные настройки Workspace Trust:

  • security.workspace.trust.enabled — включить функцию доверия рабочей области. Значение по умолчанию — true.
  • security.workspace.trust.startupPrompt — показывать ли диалоговое окно Workspace Trust при запуске. По умолчанию отображается только один раз для отдельной папки или рабочей области.
  • security.workspace.trust.emptyWindow — всегда ли доверять пустому окну (без открытой папки). Значение по умолчанию — true.
  • security.workspace.trust.untrustedFiles – управляет обработкой незакрепленных файлов в рабочей области. По умолчанию запрашивается.
  • extensions.supportUntrustedWorkspaces — переопределить объявления доверия рабочей области расширения. Либо правда, либо ложь.
  • security.workspace.trust.banner — управляет отображением баннера ограниченного режима. Значение по умолчанию — untilDismissed .

Переключатель командной строки

Вы можете отключить Workspace Trust через командную строку VS Code, передав --disable-workspace-trust . Этот переключатель влияет только на текущий сеанс.

Дальнейшие шаги

    - Узнайте, как авторы расширений могут поддерживать Workspace Trust. - Узнайте больше о концепции «рабочей области» VS Code. - Работайте напрямую с репозиторием без клонирования исходного кода на локальный компьютер.

Частые вопросы

Могу ли я по-прежнему редактировать исходный код в ограниченном режиме?

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

Куда делись установленные расширения?

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

Вы можете переопределить уровень поддержки Workspace Trust для расширения с помощью параметра extensions.supportUntrustedWorkspaces, но делайте это с осторожностью. Подробная информация о включении расширений.

Можно ли отключить функцию доверия рабочей области?

Можно, но не рекомендуется. Если вы не хотите, чтобы VS Code проверял доверие рабочей области при открытии новой папки или репозитория, вы можете установить для параметра security.workspace.trust.enabled значение false. После этого VS Code будет вести себя так же, как и до выпуска 1.57.

Как мне не доверять папке/рабочему пространству?

Вызовите редактор Workspace Trust (Workspaces: Manage Workspace Trust из палитры команд) и нажмите кнопку "Не доверять". Вы также можете удалить папку из списка надежных папок и рабочих областей.

Почему я не вижу кнопку "Не доверять"?

Если вы не видите кнопку "Не доверять" в диалоговом окне "Доверие рабочей области", уровень доверия папки может быть унаследован от родительской папки. Просмотрите список доверенных папок и рабочих пространств, чтобы проверить, включено ли родительская папка с доверием к рабочему пространству.

Некоторые рабочие процессы, такие как подключение к GitHub Codespace или подключение к запущенному контейнеру Docker, автоматически становятся доверенными, поскольку это управляемые среды, к которым у вас уже должен быть высокий уровень доверия.

От чего защищает Workspace Trust?

Многие функции VS Code позволяют автоматически запускать сторонние инструменты и расширения, такие как анализ или форматирование при сохранении или при выполнении определенных операций, таких как компиляция кода или отладка. Неэтичный человек может создать невинно выглядящий проект, который запустит вредоносный код без вашего ведома и нанесет вред вашей локальной машине. Workspace Trust обеспечивает дополнительный уровень безопасности, пытаясь предотвратить выполнение кода, пока вы оцениваете безопасность и целостность незнакомого исходного кода.

Расширение Visual Studio Code Remote — WSL позволяет использовать подсистему Windows для Linux (WSL) в качестве постоянной среды разработки прямо из VS Code. Вы можете разрабатывать в среде на основе Linux, использовать наборы инструментов и утилит для Linux, а также запускать и отлаживать приложения на основе Linux, не выходя из Windows.

Расширение запускает команды и другие расширения непосредственно в WSL, поэтому вы можете редактировать файлы, расположенные в WSL или смонтированной файловой системе Windows (например, /mnt/c ), не беспокоясь о проблемах с путями, совместимости двоичных файлов или других проблемах, связанных с разными ОС.

WSL Architecture

Это позволяет VS Code обеспечивать процесс разработки локального качества, включая полный IntelliSense (дополнение), навигацию по коду и отладку, независимо от того, где размещен ваш код.

Начало работы

Примечание. Изучив этот раздел, вы можете приступить к вводному руководству по WSL.

Установка

Чтобы начать, вам необходимо:

Установите подсистему Windows для Linux вместе с предпочтительным дистрибутивом Linux.

Примечание. WSL 1 имеет некоторые известные ограничения для определенных типов разработки. Кроме того, расширения, установленные в Alpine Linux, могут не работать из-за зависимостей glibc в собственном исходном коде внутри расширения. Подробнее см. в статье Удаленная разработка и Linux.

Установите Visual Studio Code на стороне Windows (не в WSL).

Примечание. Когда во время установки будет предложено выбрать дополнительные задачи, обязательно установите флажок «Добавить в PATH», чтобы можно было легко открыть папку в WSL с помощью команды кода.

Открыть удаленную папку или рабочую область

Из терминала WSL

Открытие папки внутри подсистемы Windows для Linux в VS Code очень похоже на открытие папки Windows из командной строки или PowerShell.

Откройте окно терминала WSL (используя пункт меню «Пуск» или введя wsl из командной строки или PowerShell).

Перейдите к папке, которую вы хотите открыть в VS Code (включая, помимо прочего, монтирование файловой системы Windows, например /mnt/c )

Введите код . в терминале. Делая это в первый раз, вы должны увидеть, что VS Code извлекает компоненты, необходимые для запуска в WSL. Это займет немного времени и потребуется только один раз.

Примечание. Если эта команда не работает, вам может потребоваться перезапустить терминал или вы не добавили VS Code в свой путь при его установке.

Через мгновение появится новое окно VS Code, и вы увидите уведомление о том, что VS Code открывает папку в WSL.

Уведомление о запуске WSL

VS Code теперь будет продолжать настраивать себя в WSL и держать вас в курсе по мере продвижения.

После завершения вы увидите индикатор WSL в левом нижнем углу и сможете использовать VS Code, как обычно!

Элемент строки состояния WSL

Вот оно! Любые операции VS Code, которые вы выполняете в этом окне, будут выполняться в среде WSL, от редактирования и операций с файлами до отладки, использования терминалов и т. д.

Из кода VS

Кроме того, вы можете открыть окно Remote WSL непосредственно из VS Code:

  1. Запустите VS Code.
  2. Нажмите F1 , выберите Remote-WSL: новое окно для дистрибутива по умолчанию или Remote-WSL: новое окно с использованием дистрибутива для определенного дистрибутива.
  3. Используйте меню "Файл", чтобы открыть папку.

Если у вас уже открыта папка, вы также можете использовать команду Remote-WSL: повторно открыть в WSL. Вам будет предложено использовать дистрибутив.

Если вы находитесь в окне WSL и хотите открыть текущий ввод в локальном окне, используйте Remote-WSL: повторно открыть в Windows.

Из командной строки Windows

Чтобы открыть окно WSL непосредственно из командной строки Windows, используйте параметр командной строки --remote:

код --remote wsl+

например: код --remote wsl+Ubuntu /home/jim/projects/c

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

Чтобы принудительно открыть папку, добавьте косую черту к пути или используйте:

code --folder-uri vscode-remote://wsl+Ubuntu/home/ubuntu/folder.with.dot

Чтобы принудительно открыть файл, добавьте --goto или используйте:

code --file-uri vscode-remote://wsl+Ubuntu/home/ubuntu/fileWithoutExtension

Работа с Git

Если вы работаете с одним и тем же репозиторием в WSL и Windows, обязательно настройте одинаковые окончания строк. Дополнительные сведения см. в советах и ​​рекомендациях.

Вы также можете избежать использования паролей, настроив WSL на использование диспетчера учетных данных Windows Git. Дополнительные сведения см. в советах и ​​рекомендациях.

Управление расширениями

VS Code запускает расширения в одном из двух мест: локально на стороне пользовательского интерфейса/клиента или в WSL. Хотя расширения, влияющие на пользовательский интерфейс VS Code, такие как темы и фрагменты, устанавливаются локально, большинство расширений будет находиться внутри WSL.

Если вы устанавливаете расширение из представления «Расширения», оно будет автоматически установлено в правильном месте. После установки вы можете сказать, где установлено расширение, на основе группировки категорий. Будет категория "Локально - Установлено" и одна для WSL.

Категория расширения рабочей области

Категория локальных расширений

Примечание. Если вы являетесь автором расширения и ваше расширение работает неправильно или устанавливается не в том месте, подробности см. в разделе Поддержка удаленной разработки.

Локальные расширения, которые на самом деле необходимо запускать удаленно, будут выделены серым цветом и отключены в категории «Локально — установленные». Выберите «Установить», чтобы установить расширение на удаленный хост.

Отключенные расширения с кнопкой

Вы также можете установить все локально установленные расширения внутри WSL, перейдя в представление «Расширения» и выбрав «Установить локальные расширения в WSL: [имя]» с помощью облачной кнопки справа от строки заголовка «Локально — установлено». Появится раскрывающийся список, в котором вы можете выбрать, какие локально установленные расширения следует установить в вашем экземпляре WSL.

Установить все расширения

Открытие терминала в WSL

Открыть терминал в WSL из VS Code очень просто. После открытия папки в WSL любое окно терминала, которое вы открываете в VS Code («Терминал» > «Новый терминал»), автоматически запускается в WSL, а не локально.

Вы также можете использовать командную строку кода из этого же окна терминала для выполнения ряда операций, таких как открытие нового файла или папки в WSL. Введите код --help, чтобы узнать, какие параметры доступны в командной строке.

Использование кода CLI

Отладка в WSL

Открыв папку в WSL, вы можете использовать отладчик VS Code так же, как при локальном запуске приложения. Например, если вы выберете конфигурацию запуска в файле launch.json и запустите отладку ( F5 ), приложение запустится на удаленном узле и прикрепит к нему отладчик.

Дополнительные сведения о настройке функций отладки VS Code см. в документации по отладке в файле .vscode/launch.json .

Специальные настройки WSL

Локальные пользовательские настройки VS Code также повторно используются, когда вы открываете папку в WSL. Несмотря на то, что это обеспечивает единообразие взаимодействия с пользователем, вы можете захотеть изменить некоторые из этих параметров между вашим локальным компьютером и WSL. К счастью, после подключения к WSL вы также можете установить специальные параметры WSL, запустив команду Preferences: Open Remote Settings из палитры команд ( F1 ) или выбрав вкладку Remote в редакторе настроек. Они переопределяют любые локальные настройки, которые у вас есть, когда вы открываете папку в WSL.

Дополнительно: сценарий настройки среды

При запуске VS Code Remote в WSL сценарии запуска оболочки не запускаются. Это было сделано, чтобы избежать проблем со сценариями запуска, настроенными для оболочек. Если вы хотите запустить дополнительные команды или изменить среду, это можно сделать в сценарии установки ~/.vscode-server/server-env-setup (инсайдеры: ~/.vscode-server-insiders/server-env-setup). Если он присутствует, сценарий обрабатывается перед запуском сервера.

Сценарий должен быть допустимым сценарием оболочки Bourne. Имейте в виду, что недопустимый скрипт не позволит запустить сервер. Если вы столкнулись со сценарием, который препятствует запуску сервера, вам придется использовать обычную оболочку WSL и удалить или переименовать сценарий установки.

Проверьте журнал WSL (Remote WSL: Open WSL Log) на наличие выходных данных и ошибок.

Дополнительно: открытие папки WSL 2 в контейнере

Если вы используете WSL 2 и серверную часть WSL 2 Docker Desktop, вы можете использовать расширение Remote — Containers для работы с исходным кодом, хранящимся внутри WSL! Просто выполните следующие действия:

Если вы еще этого не сделали, установите и настройте поддержку WSL 2 в Docker Desktop.

Совет. Откройте «Настройки» > «Ресурсы» > «Интеграция WSL» и включите интеграцию Docker с дистрибутивом WSL, который вы будете использовать.

Если вы еще этого не сделали, установите расширение Remote – Containers вместе с расширением WSL.

Открыв папку в WSL, выберите Remote-Containers: Reopen Folder in Container в палитре команд ( F1 ).

Если в папке нет файла .devcontainer/devcontainer.json, вам будет предложено выбрать начальную точку из фильтруемого списка или существующего файла Dockerfile или Docker Compose (если он существует).

Выберите узел разработки определение контейнера

Окно VS Code (экземпляр) перезагрузится и начнет сборку контейнера разработки. Уведомление о ходе выполнения предоставляет обновления статуса.

Уведомление о ходе разработки контейнера

После завершения сборки VS Code автоматически подключится к контейнеру. Теперь вы можете работать с исходным кодом внутри контейнера.

Известные ограничения

В этом разделе содержится список наиболее распространенных проблем с WSL. Цель состоит не в том, чтобы предоставить полный список проблем, а в том, чтобы выделить некоторые из распространенных проблем, возникающих при работе с WSL.

Я вижу EACCESS: ошибка отказа в разрешении при попытке переименовать папку в открытой рабочей области в WSL 1

Чтобы избежать этой проблемы, задайте для параметра remote.WSL.fileWatcher.polling значение true. Однако просмотр файлов на основе опроса влияет на производительность больших рабочих пространств.

Для большой рабочей области вы хотите увеличить интервал опроса: remote.WSL.fileWatcher.pollingInterval и контролировать отслеживаемые папки: files.watcherExclude .

В WSL 2 нет этой проблемы с наблюдателем за файлами, на которую также не влияет новый параметр.

Голанг в WSL 1

Node.js в WSL 1

Ограничения Git

Ограничения расширения Docker

Несмотря на то, что расширение Docker можно запускать как удаленно, так и локально, если оно уже установлено локально, вы не сможете установить его на удаленном узле SSH без предварительного локального удаления. Мы решим эту проблему в будущем выпуске VS Code.

Ограничения расширения

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

Кроме того, некоторые расширения, установленные в WSL при использовании дистрибутива на основе Alpine Linux, могут не работать из-за зависимостей glibc в собственном коде внутри расширения. Подробнее см. в статье Удаленная разработка с Linux.

Частые вопросы

Почему меня просят изменить дистрибутив по умолчанию?

При использовании Remote-WSL: новое окно с дистрибутивом и работающим на WSL старше Windows 10 с обновлением May 2019 Update (версия 1903) вам будет предложено переключить дистрибутив по умолчанию, поскольку команда WSL может работать только с дистрибутивом по умолчанию как он еще не поддерживает параметр -d.

Вы всегда можете вручную переключить дистрибутив по умолчанию с помощью wslconfig.exe.

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

Я вижу ошибку об отсутствующей библиотеке или зависимости

Некоторые расширения основаны на библиотеках, которых нет в обычной установке некоторых дистрибутивов WSL Linux. Вы можете добавить дополнительные библиотеки в свой дистрибутив Linux с помощью его менеджера пакетов. Для дистрибутивов на основе Ubuntu и Debian запустите sudo apt-get install

для установки необходимых библиотек. Дополнительные сведения об установке см. в документации по вашему расширению или среде выполнения.

Каковы требования к подключению для расширения Remote — WSL?

Вся остальная связь между сервером и клиентом VS Code осуществляется через случайный локальный TCP-порт. Вы можете найти список местоположений, к которым самому VS Code требуется доступ, в статье о сетевых подключениях.

Я использую прокси-сервер и у меня проблемы с подключением

Параметры прокси-сервера могут отсутствовать либо на стороне Windows, либо на стороне WSL.

Когда удаленное окно открывается из VSCode, расширение Remote — WSL пытается загрузить сервер VSCode на стороне Windows. Поэтому он использует конфигурацию прокси-сервера на стороне окна:

  • унаследовано от настроек ОС
  • как описано в разделе "Сетевые подключения в Visual Studio Code".

Когда удаленный VSCode запускается с терминала WSL, загрузка выполняется с помощью wget в дистрибутиве WSL. Настройки прокси можно настроить в:

После запуска сервера используются настройки прокси-сервера на вкладке Remote.

Можно ли принудительно запустить расширение локально или удаленно?

Расширения обычно разрабатываются и тестируются для локального или удаленного запуска, но не для обоих одновременно. Однако, если расширение поддерживает его, вы можете принудительно запустить его в определенном месте в файле settings.json.

Например, приведенный ниже параметр заставит расширение Docker запускаться локально, а расширение Debugger for Chrome — удаленно, а не по умолчанию:

Значение "ui" вместо "workspace" заставит расширение работать на стороне локального пользовательского интерфейса/клиента. Как правило, это следует использовать только для тестирования, если иное не указано в документации расширения, поскольку оно может нарушить работу расширений. Дополнительные сведения см. в статье о поддержке удаленной разработки.

Что мне нужно сделать как автору расширения?

API расширений VS Code абстрагируется от локальных и удаленных деталей, поэтому большинство расширений будут работать без изменений. Тем не менее, данные расширения могут использовать любой модуль узла или среду выполнения, которые они хотят, бывают ситуации, когда может потребоваться внести коррективы. Мы рекомендуем протестировать расширение, чтобы убедиться, что обновления не требуются. Дополнительные сведения см. в разделе Поддержка удаленной разработки.

Обновление 1.62.1: это обновление устраняет эту проблему безопасности.

Обновление 1.62.2: обновление устраняет эти проблемы.

Обновление 1.62.3: обновление устраняет эти проблемы.

Добро пожаловать в выпуск Visual Studio Code от октября 2021 года. В дополнение к выпуску предварительной версии vscode.dev в октябрьском плане итерации мы объявили, что сосредоточимся на служебных проблемах GitHub и запросах на вытягивание (см. наше руководство по устранению проблем). Во всех наших репозиториях VS Code мы закрыли (проанализировали или исправили) 4163 проблемы. Пока мы закрывали выпуски, вы создали 2222 новых выпуска. В основном репозитории vscode теперь есть 2491 открытый запрос функций и 1246 открытых ошибок. Кроме того, мы закрыли 194 запроса на вытягивание.

Как и в предыдущие годы, мы использовали онлайн-трекер Бенджамина Ланнона для отслеживания нашего прогресса:

Список проблем с VS Code

Учитывая выпуск vscode.dev , не у всех в команде были циклы на устранение неполадок, поэтому устранение некоторых неполадок продолжится в ноябре. После уборки мы также рассмотрели запросы функций и запросы от сообщества.

Посмотрите основные моменты новых функций в этой версии на вечеринке, посвященной выпуску команды VS Code. Вы можете найти запись мероприятия на нашем канале YouTube.

Visual Studio Code для Интернета — vscode.dev (предварительная версия)

VS Code для Интернета обладает многими любимыми функциями настольной версии VS Code, включая поиск и подсветку синтаксиса, а также поддержку расширений для работы с кодовой базой. Помимо открытия репозиториев, ответвлений и запросов на вытягивание от поставщиков системы управления версиями, таких как GitHub и Azure Repos, вы также можете работать с кодом, который хранится на вашем локальном компьютере.

Не все расширения могут работать, когда VS Code находится в браузере. Чисто декларативные расширения, такие как темы, фрагменты кода или грамматики, могут работать без изменений в браузере. Однако расширения, которым необходимо запускать код, должны быть обновлены авторами расширения. Мы хотели бы поблагодарить авторов расширений, которые уже опубликовали свои расширения как веб-расширения.

Рабочий стол

Доступность редактора настроек

Мы улучшили специальные возможности редактора настроек:

  • Редактор настроек прокручивается вверх после выполнения поиска, поэтому пользователь не оказывается на полпути к результатам поиска после каждого поиска.
  • Переключатель области настроек доступен с клавиатуры.
  • Устаревшие текстовые блоки настроек отображают значок. Ранее устаревший текст отличался от остального текста настроек только цветом.
  • Больше элементов пользовательского интерфейса в редакторе настроек имеют идентификатор настройки в качестве имени.

Обновлены значки поиска

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

Пример обновленных значков поиска

Подсветка подсказки параметра

VS Code теперь выделяет текущий параметр в подсказке параметра, а цвет можно изменить с помощью editorHoverWidget.highlightForeground .

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

Редактор

Улучшенные направляющие для пар кронштейнов

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

Направляющие пары скобок можно включить, задав для editor.guides.bracketPairs значение true (по умолчанию — false ). Мы добавили третий параметр "активный", чтобы отображать руководство по парам скобок только для активной пары скобок.

Новый параметр editor.guides.bracketPairsHorizontal определяет, следует ли и когда отображать горизонтальные направляющие (по умолчанию активно ).

Новые тематические цвета editorBracketPairGuide.background и editorBracketPairGuide.activeBackground можно использовать для настройки цвета направляющих пар кронштейнов.

Настраиваемые пары скобок

Теперь в настройках можно настроить пары скобок для определенного языка программирования. С помощью editor.language.brackets можно указать, какие символы квадратных скобок должны совпадать. Если установлено, editor.language.colorizedBracketPairs независимо настраивает, какие пары скобок окрашиваются, когда включено раскрашивание пар скобок или направляющие для пар скобок.

Отображать при наведении курсора выше или ниже текущей строки

Теперь вы можете выбирать между отображением курсоров IntelliSense над (по умолчанию) или под текущей строкой. Установив для editor.hover.above значение false , курсоры будут отображаться ниже текущей строки.

IntelliSense наведите указатель мыши на текущую строку в редакторе

Символы направленного форматирования Unicode

Чтобы решить проблему CVE-2021-42574, VS Code теперь по умолчанию отображает символы направленного форматирования Unicode. Рассмотрим следующий фрагмент текста:

Вышеприведенный текстовый фрагмент содержит два явных символа форматирования направления: U+202E (ПРИМЕНЕНИЕ СПРАВА-НА-ЛЕВО) и U+202C (НАПРАВЛЕННОЕ ФОРМАТИРОВАНИЕ POP). Эти символы могут влиять на двунаправленный алгоритм Unicode и могут использоваться для создания исходного кода, который отображается иначе, чем тот, который будет выполняться компилятором.

Визуализируются символы направленного форматирования Unicode

Специальную визуализацию этих символов форматирования направления можно отключить, установив для editor.renderControlCharacters значение false . Параметр editor.renderControlCharacters теперь имеет значение true по умолчанию.

Расширения

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

VS Code теперь показывает, проверены ли домены издателя расширений Visual Studio Marketplace.

Индикаторы проверенных издателей расширений в представлении

Если вы являетесь автором расширения, дополнительные сведения о том, как стать проверенным издателем, можно найти в разделе "Публикация расширений".

Терминал

Новые сочетания клавиш по умолчанию для специальных символов

Добавлены следующие сочетания клавиш, которые обычно поддерживаются в других терминалах:

  • ctrl+shift+2 : ввод нулевого символа ( 0x00 ).
  • ctrl+shift+6 : ввод символа-разделителя записи ( 0x1E ).
  • ctrl+/ : ввод символа-разделителя единиц измерения ( 0x1F ).

Языки

Настройте, как HTML дополняет атрибуты

  • двойные кавычки: значение помещается в двойные кавычки (по умолчанию).
  • одинарные кавычки: значение помещается в одинарные кавычки.
  • пусто: значение остается пустым

Улучшения Emmet

Новая команда Emmet: Обновить тег ( editor.emmet.action.updateTag ) обновляет заполнитель тегом HTML, который необходимо обновить.

Расширение теперь также активируется при попытке запустить любую команду Emmet. Это изменение должно устранить проблему, из-за которой некоторые команды не обнаруживались при запуске из командной палитры, а также сохранить более точный список событий активации, чтобы Emmet не запускался без необходимости, например, в пустой рабочей области.

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

Ноутбуки

Найти и заменить поддерживает захват групп

Виджет «Найти и заменить» в редакторе записной книжки теперь поддерживает группы захвата регулярных выражений.

В коротком видеоролике ниже функция replace использует первый (и единственный) захваченный текст ('a').

Улучшенный выбор средств визуализации и MIME-типов вывода

Ячейки Notebook могут выводить несколько типов данных (MIME-типы), которые могут отображаться по-разному как самим VS Code, так и расширениями.Раньше в VS Code была базовая мемоизация (кеширование) выбранного средства визуализации для типа mime, и вы могли вручную настроить предпочитаемые типы mime с помощью параметра notebook.displayOrder. Тем не менее, VS Code не особенно умело подбирал лучший рендерер для MIME-типа, и предпочитаемые MIME-типы приходилось обновлять вручную.

Теперь предпочтительные средства визуализации кэшируются для каждого типа ноутбука на уровне рабочей области. Кроме того, если вы переключитесь на просмотр другого MIME-типа, этот параметр будет обновлен в памяти для сеанса VS Code, и вы можете использовать команду «Блокнот: сохранить порядок отображения MIME-типа», чтобы легко обновить параметр Notebook.displayOrder до рабочего параметра.

Вклад в расширения

Юпитер

Ядра

Чтобы упростить идентификацию ядер, расширение Jupyter теперь группирует ядра в средстве выбора ядра.

Ядра, сгруппированные в средстве выбора ядра

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

Для управления отображаемым списком ядер можно использовать команду Jupyter: фильтровать ядра из палитры команд.

Интерактивное окно

ESLint

Запросы и проблемы GitHub

Продолжается работа над расширением GitHub Pull Requests and Issues, которое позволяет работать, создавать и управлять запросами на вытягивание и проблемами. Ознакомьтесь с журналом изменений версии 0.32.0 расширения, чтобы увидеть основные моменты.

Удаленная разработка

Продолжается работа над расширениями удаленной разработки, которые позволяют использовать контейнер, удаленный компьютер или подсистему Windows для Linux (WSL) в качестве полнофункциональной среды разработки.

Основные особенности версии 1.62 включают:

  • Новый параметр remote.SSH.foldersSortOrder для сортировки целей SSH в алфавитном порядке или по недавнему использованию.
  • Индикатор "Подсистема Windows для Linux" позволяет быстро узнать, используете ли вы WSL 1 или WSL 2.
  • Видео о расширенной настройке контейнера, в которых рассказывается, как сохранить историю bash и работать с монорепозиториями.

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

Функции предварительного просмотра

Поддержка TypeScript 4.5

Это обновление добавляет поддержку предстоящего выпуска TypeScript 4.5. Сообщение с анонсом бета-версии TypeScript 4.5 содержит дополнительную информацию о новом языке и функциях инструментов. Некоторые особенности инструментов:

    . .
  • Более точный подсчет ссылок для ссылок CodeLens.

Чтобы начать использовать ночные сборки TypeScript 4.5, установите расширение TypeScript Nightly.

Поделитесь своим мнением и сообщите нам, если вы столкнетесь с какими-либо ошибками в TypeScript 4.5.

Создание расширений

Поддержка эмодзи в оформлении файлов

API оформления файлов теперь поддерживает эмодзи в качестве текста значка.

Файлы, украшенные смайликами в проводнике< бр />

MarkdownString.supportHtml

Новое свойство supportHtml в MarkdownString позволяет отображать безопасное подмножество необработанного HTML, которое появляется внутри текста Markdown.

Свойство supportHtml по умолчанию имеет значение false . Если этот параметр отключен, VS Code удалит все необработанные HTML-теги, которые появляются в тексте Markdown.

Инженерия

Изменения просмотра файлов

Просмотр файлов в VS Code изменен на новую библиотеку благодаря работе команды Parcel с их @parcel/watcher. Мы будем постепенно внедрять это изменение для всех пользователей в ближайшие недели. Пользователи Linux будут рады узнать, что files.watcherExclude теперь применяется изначально, поэтому количество дескрипторов файлов, которые VS Code необходимо открыть для просмотра файлов, может быть значительно уменьшено.

Существующий параметр files.legacyWatcher был изменен на перечисление со следующими значениями:

  • включено — новый файловый наблюдатель никогда не будет использоваться.
  • Выкл. — всегда будет использоваться новый наблюдатель за файлами.
  • по умолчанию: новый наблюдатель за файлами будет использоваться только при открытии рабочих пространств с несколькими корнями (через файл .code-workspace).

Вы не заметите никакой разницы в своей повседневной работе, но если просмотр файлов у вас не работает, сообщите о проблеме.

Ход поддержки песочницы Electron

По мере того, как мы продолжаем готовить рабочую среду VS Code для включения песочницы Electron, мы добились прогресса в перемещении файловых служб Node.js из окна рабочей среды в другой процесс. То же самое верно и для наблюдателя за файлами, который больше не разветвляется из окна рабочей среды, а из фонового процесса.Это изменение включено по умолчанию в программе предварительной оценки VS Code и будет использоваться по умолчанию в стабильной версии нашего ноябрьского выпуска.

Заметные исправления

    : перечисляемые свойства, смешанные с обычными свойствами : предложения Emmet перечисляют отсутствующие записи после добавления пользовательских snippets.json : Emmet не может расширить аббревиатуру с помощью атрибута onclick : поддержка различных настроек границ для вертикальных или горизонтальных макетов, для разделения в групповом редакторе

Спасибо

И последнее, но не менее важное: большое спасибо авторам VS Code.

Веб-расширения

Авторы расширений для включения расширений, которые запускают код как веб-расширения (список ниже приведен по состоянию на 2 ноября):

Читайте также: