{"id":21975044,"url":"https://github.com/robertohuertasm/vscode-settings-keybindings","last_synced_at":"2025-07-05T09:05:44.019Z","repository":{"id":264942739,"uuid":"868537683","full_name":"robertohuertasm/vscode-settings-keybindings","owner":"robertohuertasm","description":"⚙️ Easily set keybindings for your VS Code settings","archived":false,"fork":false,"pushed_at":"2025-04-29T19:43:31.000Z","size":171,"stargazers_count":2,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-03T12:14:21.721Z","etag":null,"topics":["extension","keybindings","settings","toggle","vscode"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/robertohuertasm.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"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},"funding":{"github":"robertohuertasm","ko_fi":"robertohuertasm","liberapay":"robertohuertasm"}},"created_at":"2024-10-06T16:30:39.000Z","updated_at":"2025-04-29T19:42:13.000Z","dependencies_parsed_at":"2024-11-27T00:18:29.265Z","dependency_job_id":null,"html_url":"https://github.com/robertohuertasm/vscode-settings-keybindings","commit_stats":null,"previous_names":["robertohuertasm/vscode-settings-keybindings"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/robertohuertasm/vscode-settings-keybindings","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robertohuertasm%2Fvscode-settings-keybindings","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robertohuertasm%2Fvscode-settings-keybindings/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robertohuertasm%2Fvscode-settings-keybindings/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robertohuertasm%2Fvscode-settings-keybindings/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/robertohuertasm","download_url":"https://codeload.github.com/robertohuertasm/vscode-settings-keybindings/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robertohuertasm%2Fvscode-settings-keybindings/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263715328,"owners_count":23500242,"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","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":["extension","keybindings","settings","toggle","vscode"],"created_at":"2024-11-29T15:49:23.978Z","updated_at":"2025-07-05T09:05:44.000Z","avatar_url":"https://github.com/robertohuertasm.png","language":"TypeScript","funding_links":["https://github.com/sponsors/robertohuertasm","https://ko-fi.com/robertohuertasm","https://liberapay.com/robertohuertasm"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\u003ch1\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/robertohuertasm/vscode-settings-keybindings/refs/heads/master/resources/logo%402x.png\" alt=\"logo\" width=\"250\"\u003e\n\n\u003cb\u003eVS Code Settings KeyBindings\u003c/b\u003e\n\u003c/h1\u003e\n\n\u003ch3\u003eEasily set keybindings for your \u003ca href=\"https://code.visualstudio.com\" target=\"_blank\"\u003eVisual Studio Code\u003c/a\u003e settings.\u003c/h3\u003e\n\u003cbr/\u003e\n\n[![Version](https://img.shields.io/visual-studio-marketplace/v/robertohuertasm.vscode-settings-keybindings.svg?style=for-the-badge\u0026colorA=252525\u0026colorB=e1642e)](https://marketplace.visualstudio.com/items?itemName=robertohuertasm.vscode-settings-keybindings)\n[![Installs](https://img.shields.io/visual-studio-marketplace/i/robertohuertasm.vscode-settings-keybindings.svg?style=for-the-badge\u0026colorA=252525\u0026colorB=e1642e)](https://marketplace.visualstudio.com/items?itemName=robertohuertasm.vscode-settings-keybindings)\n[![Downloads](https://img.shields.io/visual-studio-marketplace/d/robertohuertasm.vscode-settings-keybindings.svg?style=for-the-badge\u0026colorA=252525\u0026colorB=e1642e)](https://marketplace.visualstudio.com/items?itemName=robertohuertasm.vscode-settings-keybindings)\n\n\u003cbr/\u003e\n\n\u003c/div\u003e\n\n## Use case\n\nThere's no easy way to set a keybinding to set or toggle the value of some settings in VS Code.\n\nThis extension provides a command to set any setting to any value. The command can then be mapped to the keybinding of your choice.\n\nOn top of that, the command accepts several arguments that will make it esier for you to toggle between different values of the same setting.\n\n## Examples\n\nAl the examples you'll see below are snippets you could paste to your `keybindings.json` file:\n\n### Set a setting to a value\n\n```json\n{\n  \"key\": \"ctrl+shift+alt+t\",\n  \"command\": \"vscode-settings-keybindings.setSetting\",\n  \"args\": {\n    \"key\": \"workbench.colorTheme\", // the setting you want to change\n    \"value\": \"Default Dark Modern\" // the value of the setting\n  }\n}\n```\n\n### Toggle a setting between the current value and a new value\n\nSame as the previous one but adding a toggle behavior.\n\n```json\n{\n  \"key\": \"ctrl+shift+alt+t\",\n  \"command\": \"vscode-settings-keybindings.setSetting\",\n  \"args\": {\n    \"toggle\": true,\n    \"key\": \"workbench.colorTheme\", // the setting you want to change\n    \"value\": \"Default Dark Modern\" // the new value of the setting\n  }\n}\n```\n\n### Toggle a setting between two values\n\nMaking the values explicit.\n\n```json\n{\n  \"key\": \"ctrl+shift+alt+t\",\n  \"command\": \"vscode-settings-keybindings.setSetting\",\n  \"args\": {\n    \"toggle\": true,\n    \"key\": \"workbench.colorTheme\", // the setting you want to change\n    \"value\": \"Default Dark Modern\", // the first value of the setting\n    \"toggleValue\": \"Default Light+\" // the second value of the setting\n  }\n}\n```\n\n### Toggle between a value and no value\n\nAdding some extra modification to the `Material Theme Darker`:\n\n```json\n{\n  \"key\": \"ctrl+shift+alt+t\",\n  \"command\": \"vscode-settings-keybindings.setSetting\",\n  \"args\": {\n    \"key\": \"editor.tokenColorCustomizations\",\n    \"toggle\": true,\n    \"toggleValue\": null,\n    \"value\": {\n      \"[Material Theme Darker]\": {\n        \"textMateRules\": [\n          {\n            \"scope\": \"comment\",\n            \"settings\": {\n              \"foreground\": \"#0c843e\"\n            }\n          },\n          {\n            \"scope\": \"comment punctuation.definition.comment\",\n            \"settings\": {\n              \"foreground\": \"#0c843e\"\n            }\n          }\n        ]\n      }\n    }\n  }\n}\n```\n\n## Resetting\n\nIf something goes wrong while using the toggle with auto values (using the current value to toggle), you can always reset the settings cache by running: `F1 \u003e Reset original values cache`.\n\n## How is this different from [settings.cycle](https://marketplace.visualstudio.com/items?itemName=hoovercj.vscode-settings-cycler)?\n\n- **This extension allows you to set any setting to any value**. settings.cycle only allows you to cycle between a predefined set of values. So imagine you want to have just a keybinding to set `setting.A` to `value.A` and another keybinding to set `setting.A` to `value.B`. This extension allows you to do that.\n- **This extension allows you to toggle without defining both values**. settings.cycle requires you to define both values. This extension allows you to toggle between the current value and a new value without having to define the current value.\n- **This extension allows you remove a setting when toggling**. If you define a value as `null`, the setting will be removed when toggling.\n- **This extension works with the keybindings.json file only**.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobertohuertasm%2Fvscode-settings-keybindings","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobertohuertasm%2Fvscode-settings-keybindings","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobertohuertasm%2Fvscode-settings-keybindings/lists"}