script to change vs code settings.json
Thu Aug 15 2024 12:57:37 GMT+0000 (Coordinated Universal Time)
Saved by
@StephenThevar
const fs = require('fs');
const path = require('path');
const settingsPath = path.join(__dirname, 'settings.json');
const settingsContent = fs.readFileSync(settingsPath, 'utf8');
const settings = JSON.parse(settingsContent);
// Toggle editor.glyphMargin
if (settings['editor.glyphMargin'] === undefined) {
console.log(settings['editor.glyphMargin']);
settings['editor.glyphMargin'] = false;
} else {
delete settings['editor.glyphMargin'];
}
// Toggle editor.lineNumbers
if (settings['editor.lineNumbers'] === undefined) {
settings['editor.lineNumbers'] = 'off';
} else {
delete settings['editor.lineNumbers'];
}
// Toggle vim.smartRelativeNumber
if (settings['vim.smartRelativeLine'] === undefined || settings['vim.smartRelativeLine'] === false) {
settings['vim.smartRelativeLine'] = true;
} else {
delete settings['vim.smartRelativeLine'];
}
fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2));
console.log('Settings toggled successfully.');
//node C:\Users\st96481.ttl\AppData\Roaming\Code\User\toggleSettings.js
// Along with both the below combo this script changes the setting.json to toggle zen mode with glyphMargin, lineNumbers and vim.smartRelativeLine
// this is the setting.json snippet
{
"multiCommand.commands": [
{
"command": "extension.toggleZenModeAndSettings",
"sequence": [
"workbench.action.toggleZenMode",
{
"command": "workbench.action.terminal.sendSequence",
"args": {
"text": "node C:\\Users\\st96481.ttl\\AppData\\Roaming\\Code\\User\\toggleSettings.js\n"
}
}
]
}
],
}
// this is key binding from keybindings.json
{
"key": "alt+shift+z alt+shift+m",
"command": "extension.multiCommand.execute",
"args": {
"sequence": [
"extension.toggleZenModeAndSettings"
]
}
}
content_copyCOPY
this is the first script to toggle vs code settings.json.
Comments