Skip to main content

Изменение оболочки в пространстве кода

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

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

Пространства кода, использующие образ контейнера разработки по умолчанию, приходят с bash``zshустановленными оболочками и fish оболочками. Если открыть новое пространство кода в веб-клиенте VS Code или подключиться к пространству кода через SSH, терминал откроется с сеансом bash , запущенным по умолчанию. В классическом приложении VS Code оболочка по умолчанию зависит от локальных параметров и операционной системы. Дополнительные сведения см. в разделе "Профили терминала" в документации по VS Code.

Переход с оболочки по умолчанию в VS Code

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

  1. Если встроенный терминал не отображается в VS Code, нажмите клавиши CTRL+`.

  2. Справа от значка для открытия нового окна терминала выберите значок раскрывающегося списка.

    Снимок экрана: интегрированный терминал в VS Code. Рядом со значком плюса стрелка вниз очертается оранжевым цветом.

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

Установка новой оболочки

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

Если вы используете образ контейнера разработки по умолчанию, найдите инструкции по установке для Ubuntu Linux. Если вы просто хотите использовать другую оболочку для одного сеанса, можно использовать командную строку для установки оболочки в пространстве кода, в который вы работаете. Однако вы можете потерять установленные программы при перестроении контейнера в пространстве кода. Дополнительные сведения см. в разделе Подробные сведения о GitHub Codespaces.

Более надежный вариант установки новых оболочков заключается в том, чтобы включить команды установки либо в репозиторий dotfiles, либо в качестве команды жизненного цикла, например postCreateCommand в devcontainer.json файле. Необходимо использовать репозиторий dotfiles для установки оболочки, которую вы хотите использовать во всех собственных пространствах кода, и devcontainer.json файл оболочки, которая участники определенного репозитория должна быть установлена. Дополнительные сведения см. в разделе [AUTOTITLE и Персонализация GitHub Codespaces для вашего аккаунта](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers).

Добавление профиля терминала VS Code для новой оболочки

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

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

  1. Чтобы открыть Visual Studio Code Command Palette, нажмите клавиши COMMAND+SHIFT+P (Mac) или CTRL+SHIFT+P (Windows).

  2. Начните вводить "Параметры пользователя", а затем нажмите кнопку "Параметры пользователя" (JSON).

  3.        `settings.json` В файле в объекте JSON добавьте новое свойство, как показано ниже. Замените `OPERATING-SYSTEM` соответствующей операционной системой (например `linux`, `windows`или `osx`) и `SHELL` установленной оболочкой.
    
    JSON
    "terminal.integrated.profiles.OPERATING-SYSTEM": {
      "SHELL": {
        "path": "SHELL"
      }
    }
    

    Например:

    "terminal.integrated.profiles.linux": {
     "csh": {
       "path": "csh"
     }
    }
    
  4. Сохраните файл.

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

Установка оболочки по умолчанию в VS Code

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

Примечание.

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

  1. Чтобы открыть Visual Studio Code Command Palette, нажмите клавиши COMMAND+SHIFT+P (Mac) или CTRL+SHIFT+P (Windows).

  2. Начните вводить "Параметры пользователя", а затем нажмите кнопку "Параметры пользователя" (JSON).

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

    "terminal.integrated.defaultProfile.OPERATING-SYSTEM": "SHELL"
    

    Например:

    JSON
    {
       "terminal.integrated.defaultProfile.osx": "zsh",
       "terminal.integrated.defaultProfile.linux": "bash",
       "terminal.integrated.defaultProfile.windows": "PowerShell"
    }
    
  4. Сохраните файл settings.json.

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

Настройка оболочки по умолчанию по протоколу SSH

При подключении к пространству кода из командной строки по протоколу SSH вы подключаетесь к bash сеансу в пространстве кода по умолчанию.

Если вы включили репозиторий dotfiles для GitHub Codespaces, можно изменить оболочку по умолчанию, к которой вы подключаетесь, добавив команду в скрипт установки, например install.sh в dotfiles. Дополнительные сведения см. в разделе [AUTOTITLE и Использование кодовых пространств GitHub с GitHub CLI](/codespaces/setting-your-user-preferences/personalizing-github-codespaces-for-your-account#dotfiles). Например, следующая команда изменяет оболочку zshпо умолчанию на .

Shell
sudo chsh "$(id -un)" --shell "/usr/bin/zsh"

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

Shell
sudo apt-get update -y
sudo apt-get install -y csh
sudo chsh "$(id -un)" --shell "/usr/bin/csh"

Примечание.

Если вы создаете новое пространство кода (например, с помощью gh codespace create), необходимо ждать достаточно времени, чтобы убедиться, что скрипт завершен до подключения к пространству кода по протоколу SSH. Если скрипт не завершил работу, подключитесь к сеансу по умолчанию bash .

При подключении к пространству кода для большинства оболочк можно использовать команду readlink /proc/$$/exe для проверки правильной оболочки.

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

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

По умолчанию пространства кода содержат предопределенную конфигурацию для оболочк, которые будут предварительно установлены. Например, домашний каталог в пространстве кода содержит .bashrc и .zshrc файлы. Вы можете изменить содержимое этих файлов, а затем использовать команду, как source ~/.bashrc обновить конфигурацию оболочки. Однако при перестроении контейнера в пространстве кода вы потеряете любые изменения в этих файлах. Дополнительные сведения см. в разделе Подробные сведения о GitHub Codespaces.

Как правило, следует использовать репозиторий dotfiles для настройки оболочки с предпочитаемыми параметрами. Настройка в dotfiles применяется ко всем создаваемым пространствам кода и сохраняется над перестроениями контейнера. Дополнительные сведения см. в разделе Персонализация GitHub Codespaces для вашего аккаунта.

Устранение неполадок оболочки fish

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

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

При fish запуске локального сервера ссылка по умолчанию на GitHub Codespaces не работает. Например, если щелкнуть "Открыть в браузере " во всплывающем сообщении, вы перейдете на страницу ошибок.

Доступ к веб-интерфейсу для fish_config:

  1. В терминале под управлением сеанса fish введите fish_config.

  2. В выходных данных терминала нажмите клавиши COMMAND+CLICK или CTRL+CLICK, чтобы открыть ссылку на web_config HTML-файл.

    $ fish_config
    Web config started at file:///tmp/web_config60rc9tr3.html
    Hit ENTER to stop.
    
  3.        `web_config` В файле нажмите <kbd>клавиши Command</kbd>+click или <kbd>CTRL</kbd>+click, чтобы открыть ссылку на переадресованный порт.
    
    <body>
      <p><a href="http://localhost:8000/1b9411c2469e392b96df5e5b28da485b/">Start the Fish Web config</a></p>
    </body>
    

Дополнительные материалы

  •         [AUTOTITLE](/codespaces/setting-your-user-preferences)
    
  •         [AUTOTITLE](/codespaces/managing-your-codespaces)