Skip to content

gantsign/ansible-role-visual-studio-code-extensions

Repository files navigation

Ansible Role: Visual Studio Code Extensions

Tests Ansible Galaxy License

Role to install extensions for the Visual Studio Code IDE / text editor.

Requirements

  • Ansible Core >= 2.12

  • OS

    • Linux

      • Debian Family

        • Ubuntu

          • Focal (20.04)
          • Jammy (22.04)
      • RedHat Family

        • Rocky Linux

          • 8
        • Fedora

          • 35
      • SUSE Family

        • openSUSE

          • 15.3
      • Note: other versions are likely to work but have not been tested.

    • macOS

      • Consider macOS support experimental as this time as it's not included in the automated tests.

Role Variables

The following variables will change the behavior of this role (default values are shown below):

# The VS Code build variant:
#   stable   - https://code.visualstudio.com
#   insiders - https://code.visualstudio.com/insiders/
#   oss      - https://github.com/microsoft/vscode/wiki/Differences-between-the-repository-and-Visual-Studio-Code
#              Caution: since Microsoft doesn't distribute binaries for code-oss
#              this role doesn't include tests for code-oss.
#              Note: VSCodium is not presently supported by this role.
visual_studio_code_extensions_build: stable

# Users to install extensions for
users: []

Users are configured as follows:

users:
  - username: # Unix user name
    # Extensions to be installed if not already present
    visual_studio_code_extensions:
      - # extension 1
      - # extension 2
    # Extensions to be uninstalled if not already absent
    visual_studio_code_extensions_absent:
      - # extension 3

Example Playbook

- hosts: servers
  roles:
    - role: gantsign.visual-studio-code-extensions
      users:
        - username: vagrant
          visual_studio_code_extensions:
            - streetsidesoftware.code-spell-checker
            - wholroyd.jinja
            - ms-python.python
          visual_studio_code_extensions_absent:
            - seanmcbreen.Spell

More Roles From GantSign

You can find more roles from GantSign on Ansible Galaxy.

Development & Testing

This project uses the following tooling:

  • Molecule for orchestrating test scenarios
  • Testinfra for testing the changes on the remote
  • pytest the testing framework
  • Tox manages Python virtual environments for linting and testing
  • pip-tools for managing dependencies

A Visual Studio Code Dev Container is provided for developing and testing this role.

License

MIT

Author Information

John Freeman

GantSign Ltd. Company No. 06109112 (registered in England)