从终端访问和修改 JSON 文件中名称上包含点的键的值/从终端更改 Visual Studio Code 的缩放级别

从终端访问和修改 JSON 文件中名称上包含点的键的值/从终端更改 Visual Studio Code 的缩放级别

感谢您提供的任何帮助。

我正在尝试创建一个 bash 脚本来修改 Visual Studio Code 中的 settings.json 文件中的键值。

我要修改的键是window.zoomLevel.我尝试使用 jq: jq -r '.window.zoomLevel' settings.jsonjq -r 'window.zoomLevel' settings.json或 来读取它jq -r '.zoomLevel' settings.json,但我无法读取它,甚至出现编译错误。我创建了 settings.json 的副本并将变量的名称更改为,window_zoomLevel并且我能够使用相同的代码成功读取它:jq -r '.window_zoomLevel' settings.json。如何在不修改 json 文件的情况下访问该变量?

正如你所想象的,我对 json 结构了解不多,所以请帮助我。

该文件如下所示:

{
    "security.workspace.trust.untrustedFiles": "open",
    "launch": {
        "configurations": [
        {
            "type": "bashdb",
            "request": "launch",
            "name": "Bash-Debug (hardcoded script name)",
            "cwd": "${/.../...}",
            "program": "$/.../....sh",
            "args": []
        }
        ]
    },
    "kite.showWelcomeNotificationOnStartup": false,
    "editor.fontSize": 10,
    "files.autoSave": "afterDelay",
    "screencastMode.fontSize": 20,
    "scm.inputFontSize": 10,
    "debug.console.fontSize": 10,
    "terminal.integrated.fontSize": 10,
    "markdown.preview.fontSize": 10,
    "window.zoomLevel": -1.5,
    "editor.mouseWheelZoom": true
}

答案1

我终于能够读取该变量并使用我找到的代码对其进行修改这里

mv settings.json temp.json &&
jq -r '."window.zoomLevel" |= -1.5' temp.json > settings.json &&
rm temp.json

这基本上是一个引号等问题 [ ."window.zoomLevel"vs'."window.zoomLevel"'(正确的一个)]。如果有人能更详细地解释这一点,我将不胜感激,但至少我能够做我想做的事。

相关内容