{"id":14984451,"url":"https://github.com/gantsign/ansible-role-visual-studio-code","last_synced_at":"2025-08-05T12:30:55.076Z","repository":{"id":9673070,"uuid":"62962594","full_name":"gantsign/ansible-role-visual-studio-code","owner":"gantsign","description":"Ansible role for installing the Visual Studio Code IDE","archived":false,"fork":false,"pushed_at":"2024-01-21T17:38:08.000Z","size":280,"stargazers_count":106,"open_issues_count":11,"forks_count":42,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-07-15T12:39:49.111Z","etag":null,"topics":["ansible","ansible-role","visual-studio-code","vscode"],"latest_commit_sha":null,"homepage":"https://galaxy.ansible.com/gantsign/visual-studio-code","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gantsign.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-07-09T18:09:35.000Z","updated_at":"2025-03-23T13:58:13.000Z","dependencies_parsed_at":"2022-08-07T05:01:12.920Z","dependency_job_id":"e1c215d3-7b3d-44be-aa6e-b8002117a63a","html_url":"https://github.com/gantsign/ansible-role-visual-studio-code","commit_stats":null,"previous_names":[],"tags_count":69,"template":false,"template_full_name":null,"purl":"pkg:github/gantsign/ansible-role-visual-studio-code","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gantsign%2Fansible-role-visual-studio-code","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gantsign%2Fansible-role-visual-studio-code/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gantsign%2Fansible-role-visual-studio-code/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gantsign%2Fansible-role-visual-studio-code/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gantsign","download_url":"https://codeload.github.com/gantsign/ansible-role-visual-studio-code/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gantsign%2Fansible-role-visual-studio-code/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268896732,"owners_count":24325326,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-05T02:00:12.334Z","response_time":2576,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible","ansible-role","visual-studio-code","vscode"],"created_at":"2024-09-24T14:09:05.010Z","updated_at":"2025-08-05T12:30:54.518Z","avatar_url":"https://github.com/gantsign.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Ansible Role: Visual Studio Code\n================================\n\n[![Tests](https://github.com/gantsign/ansible-role-visual-studio-code/workflows/Tests/badge.svg)](https://github.com/gantsign/ansible-role-visual-studio-code/actions?query=workflow%3ATests)\n[![Ansible Galaxy](https://img.shields.io/badge/ansible--galaxy-gantsign.visual--studio--code-blue.svg)](https://galaxy.ansible.com/gantsign/visual-studio-code)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/gantsign/ansible-role-visual-studio-code/master/LICENSE)\n\nRole to install the [Visual Studio Code](https://code.visualstudio.com) IDE / text editor.\n\nRequirements\n------------\n\n* Ansible Core \u003e= 2.12\n\n* Linux Distribution\n\n    * Debian Family\n\n        * Ubuntu\n\n            * Focal (20.04)\n            * Jammy (22.04)\n\n    * RedHat Family\n\n        * Rocky Linux\n\n            * 8\n\n        * Fedora\n\n            * 35\n\n    * SUSE Family\n\n        * openSUSE\n\n            * 15.3\n\n    * Note: other versions are likely to work but have not been tested.\n\nRole Variables\n--------------\n\nThe following variables will change the behavior of this role (default values\nare shown below):\n\n```yaml\n# Visual Studio Code version number (defaults to the latest version)\nvisual_studio_code_version: ''\n\n# Build (either 'stable' or 'insiders') https://code.visualstudio.com/insiders/\n# Ubuntu only (code-insiders isn't in Microsoft's RPM repo)\nvisual_studio_code_build: stable\n\n# Mirror server for fetching the public keys and the Visual Studio Code\n# installation package. The URL may include directories. The URL must not end\n# with a trailing slash.\nvisual_studio_code_mirror: 'https://packages.microsoft.com'\n\n# should the gpgcheck of the repo enabled?\n# if true\n# - for apt repo the option trusted=yes is NOT added\n# - for dnf/yum the option gpgcheck is set to yes\n# - for zypper the option gpgcheck is set to 1\n# true is the default\n# if false\n# - for apt repo the option trusted=yes is added to repo definition\n# - for dnf/yum the option gpgcheck is set to no\n# - for zypper the option gpgcheck is set to 0\nvisual_studio_code_gpgcheck: true\n\n# skip task to add repo for remote package manager\n# if set to true, the task 'install VS Code repo (apt/yum/dnf/zypper)' will be skipped\n# if set to false, the repo will be added, this is the default\nvisual_studio_code_skip_add_repo: false\n\n# Users to install extensions for and/or write settings.json\nusers: []\n```\n\nUsers are configured as follows:\n\n```yaml\nusers:\n  - username: # Unix user name\n    visual_studio_code_extensions:\n      - # extension 1\n      - # extension 2\n    visual_studio_code_settings_overwrite: # Overwrite the settings file if it exists. Options: boolean \"true\" or \"false\" (defaults to \"false\").\n    visual_studio_code_settings: # JSON object\n    visual_studio_code_keybindings_overwrite: # Overwrite the keybindings file if it exists. Options: boolean \"true\" or \"false\" (defaults to \"false\").\n    visual_studio_code_keybindings: # JSON array\n```\n\nExample Playbooks\n-----------------\n\nMinimal playbook:\n\n```yaml\n- hosts: servers\n  roles:\n    - role: gantsign.visual-studio-code\n```\n\nPlaybook with extensions installed that overwrites settings and keybindings:\n\n```yaml\n- hosts: servers\n  roles:\n    - role: gantsign.visual-studio-code\n      users:\n        - username: vagrant\n          visual_studio_code_extensions:\n            - streetsidesoftware.code-spell-checker\n            - wholroyd.jinja\n            - ms-python.python\n          visual_studio_code_settings_overwrite: true\n          visual_studio_code_settings: {\n            \"editor.rulers\": [80, 100, 120],\n            \"editor.renderWhitespace\": true,\n            \"files.associations\": {\n              \"Vagrantfile\": \"ruby\"\n            }\n          }\n          visual_studio_code_keybindings_overwrite: true\n          visual_studio_code_keybindings: [\n            {\n              \"key\":     \"ctrl+'\",\n              \"command\": \"workbench.action.terminal.focus\"\n            },\n            {\n              \"key\":     \"ctrl+'\",\n              \"command\": \"workbench.action.focusActiveEditorGroup\",\n              \"when\":    \"terminalFocus\"\n            }\n          ]\n```\n\nMore Roles From GantSign\n------------------------\n\nYou can find more roles from GantSign on\n[Ansible Galaxy](https://galaxy.ansible.com/gantsign).\n\nDevelopment \u0026 Testing\n---------------------\n\nThis project uses the following tooling:\n* [Molecule](http://molecule.readthedocs.io/) for orchestrating test scenarios\n* [Testinfra](http://testinfra.readthedocs.io/) for testing the changes on the\n  remote\n* [pytest](http://docs.pytest.org/) the testing framework\n* [Tox](https://tox.wiki/en/latest/) manages Python virtual\n  environments for linting and testing\n* [pip-tools](https://github.com/jazzband/pip-tools) for managing dependencies\n\nA Visual Studio Code\n[Dev Container](https://code.visualstudio.com/docs/devcontainers/containers) is\nprovided for developing and testing this role.\n\nLicense\n-------\n\nMIT\n\nAuthor Information\n------------------\n\nJohn Freeman\n\nGantSign Ltd.\nCompany No. 06109112 (registered in England)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgantsign%2Fansible-role-visual-studio-code","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgantsign%2Fansible-role-visual-studio-code","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgantsign%2Fansible-role-visual-studio-code/lists"}