visual-studio-code

Ansible Роль: Visual Studio Code

Тесты Ansible Galaxy Лицензия

Роль для установки среды разработки / текстового редактора Visual Studio Code.

Требования

  • Ansible Core >= 2.12

  • Дистрибутив Linux

    • Семейство Debian

      • Ubuntu

        • Focal (20.04)
        • Jammy (22.04)
    • Семейство RedHat

      • Rocky Linux

        • 8
      • Fedora

        • 35
    • Семейство SUSE

      • openSUSE

        • 15.3
    • Примечание: другие версии могут работать, но не были протестированы.

Переменные роли

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

# Номер версии Visual Studio Code (по умолчанию - последняя версия)
visual_studio_code_version: ''

# Сборка (либо 'stable', либо 'insiders') https://code.visualstudio.com/insiders/
# Только для Ubuntu (code-insiders отсутствует в репозитории Microsoft RPM)
visual_studio_code_build: stable

# Сервер-зеркало для получения открытых ключей и пакета установки Visual Studio Code.
# URL может включать директории. URL не должен заканчиваться на косую черту.
visual_studio_code_mirror: 'https://packages.microsoft.com'

# Должен ли быть включен gpgcheck репозитория?
# если true
# - для apt репозитория опция trusted=yes НЕ добавляется
# - для dnf/yum опция gpgcheck устанавливается в yes
# - для zypper опция gpgcheck устанавливается в 1
# true по умолчанию
# если false
# - для apt репозитория опция trusted=yes добавляется в определение репозитория
# - для dnf/yum опция gpgcheck устанавливается в no
# - для zypper опция gpgcheck устанавливается в 0
visual_studio_code_gpgcheck: true

# Пропустить задачу по добавлению репозитория для удалённого пакетного менеджера
# если установлено true, задача 'установить репозиторий VS Code (apt/yum/dnf/zypper)' будет пропущена
# если установлено false, репозиторий будет добавлен, это значение по умолчанию
visual_studio_code_skip_add_repo: false

# Пользователи, для которых устанавливаются расширения и/или записывается settings.json
users: []

Пользователи настраиваются следующим образом:

users:
  - username: # Имя пользователя Unix
    visual_studio_code_extensions:
      - # расширение 1
      - # расширение 2
    visual_studio_code_settings_overwrite: # Перезаписать файл настроек, если он существует. Опции: логическое "true" или "false" (по умолчанию "false").
    visual_studio_code_settings: # JSON объект
    visual_studio_code_keybindings_overwrite: # Перезаписать файл привязок клавиш, если он существует. Опции: логическое "true" или "false" (по умолчанию "false").
    visual_studio_code_keybindings: # JSON массив

Пример плейбуков

Минимальный плейбук:

- hosts: servers
  roles:
    - role: gantsign.visual-studio-code

Плейбук с установленными расширениями, который перезаписывает настройки и привязки клавиш:

- hosts: servers
  roles:
    - role: gantsign.visual-studio-code
      users:
        - username: vagrant
          visual_studio_code_extensions:
            - streetsidesoftware.code-spell-checker
            - wholroyd.jinja
            - ms-python.python
          visual_studio_code_settings_overwrite: true
          visual_studio_code_settings: {
            "editor.rulers": [80, 100, 120],
            "editor.renderWhitespace": true,
            "files.associations": {
              "Vagrantfile": "ruby"
            }
          }
          visual_studio_code_keybindings_overwrite: true
          visual_studio_code_keybindings: [
            {
              "key":     "ctrl+'",
              "command": "workbench.action.terminal.focus"
            },
            {
              "key":     "ctrl+'",
              "command": "workbench.action.focusActiveEditorGroup",
              "when":    "terminalFocus"
            }
          ]

Больше ролей от GantSign

Вы можете найти больше ролей от GantSign на Ansible Galaxy.

Разработка и тестирование

Этот проект использует следующие инструменты:

  • Molecule для организации тестовых сценариев
  • Testinfra для проверки изменений на удаленном сервере
  • pytest - тестовый фреймворк
  • Tox управляет виртуальными окружениями Python для линтинга и тестирования
  • pip-tools для управления зависимостями

Для разработки и тестирования этой роли предоставлен контейнер Dev Container для Visual Studio Code.

Лицензия

MIT

Информация об авторе

Джон Фриман

GantSign Ltd. Компания № 06109112 (зарегистрирована в Англии)

О проекте

Role for installing the Visual Studio Code IDE.

Установить
ansible-galaxy install gantsign/ansible-role-visual-studio-code
Лицензия
mit
Загрузки
141822
Владелец