settings 命令 (winget)

通过使用 winget 工具的 settings 命令,可以自定义 Windows 程序包管理器客户端体验。 你可以更改默认值,并体验已在客户端中实现的试验性功能。

settings 命令将启动默认文本编辑器。 默认情况下,Windows 会将记事本作为选项启动。 建议使用类似 Visual Studio Code 的工具。

注意

通过键入 winget install Microsoft.VisualStudioCode 可以轻松地安装 Visual Studio Code

别名

以下别名可用于此命令:

  • config

使用 winget settings 命令

启动默认的 JSON 编辑工具:winget settings

首次启动设置时,将不指定任何设置。 我们在 JSON 文件顶部提供了一个链接,可以通过该链接发现最新的试验性功能和设置。

下面的代码片段是在你想要启用或修改其中部分实验性功能和设置时设置文件的外观示例。

{
    "$schema": "https://aka.ms/winget-settings.schema.json",

    // For documentation on these settings, see: https://aka.ms/winget-settings
    "experimentalFeatures": {
	  "dependencies": true,
	  "directMSI": false,
	  "zipInstall": false,
    },
    "visual": {
        "progressBar": "rainbow"
    },
    "source": {
        "autoUpdateIntervalInMinutes": 5
    },
}

我们还定义了设置文件的架构。 这让你能使用 TAB 来发现设置和语法,前提是你的 JSON 编辑器支持 JSON 架构。

注意

实验性功能仅在预览版本中可用。 有关获取预览版的说明,请参阅 GitHub 存储库

更新设置

以下设置适用于 1.0 版的 Windows 程序包管理器。

源设置

source 设置涉及到对 WinGet 源的配置。

"source": {
    "autoUpdateIntervalInMinutes": 3
},

autoUpdateIntervalInMinutes

一个正整数,表示更新间隔(分钟)。 仅当使用源时,才会检查更新。 如果为零,则将禁用对源更新的检查。 其他任何值都无效。

  • 禁用:0
  • 默认值:5

要手动更新源,请使用 winget source update

视觉设置

visual 设置涉及由 WinGet 显示的可视元素

"visual": {
    "progressBar": "accent"
},

progressBar

当没有通过参数指定时,WinGet 显示的进度栏颜色。

  • 主题色(默认)
  • 怀旧
  • 彩虹

installBehavior 设置

installBehavior 设置会影响安装和升级(如适用)包的默认行为。

disableInstallNotes

disableInstallNotes 行为会影响在成功安装后是否显示安装说明。 如果未设置值或值无效,则默认为 false

    "installBehavior": {
        "disableInstallNotes": true
    },

portablePackageUserRoot 设置

portablePackageUserRoot 设置会影响在 User 范围内安装包的默认根目录。 此设置仅适用于具有 portable 安装程序类型的包。 如果未设置值或值无效,则默认为 %LOCALAPPDATA%/Microsoft/WinGet/Packages/

注意:此设置值必须是绝对路径。

    "installBehavior": {
        "portablePackageUserRoot": "C:/Users/FooBar/Packages"
    },

portablePackageMachineRoot 设置

portablePackageMachineRoot 设置会影响在 Machine 范围内安装包的默认根目录。 此设置仅适用于具有 portable 安装程序类型的包。 如果未设置值或值无效,则默认为 %PROGRAMFILES%/WinGet/Packages/

注意:此设置值必须是绝对路径。

    "installBehavior": {
        "portablePackageMachineRoot": "C:/Program Files/Packages/Portable"
    },

首选项和要求设置

preferencesrequirements 下有一些重复的设置。

  • preferences 设置会影响在选择要操作的选项时,对多个可用选项的排序方式。 例如,包安装的默认范围为当前用户,但如果选项中没有该范围,则将选择计算机级别的安装程序。
  • requirements 设置会筛选选项,可能导致列表为空和安装失败。 在上面的示例中,用户范围要求将导致没有适用的安装程序,且会出现错误。

在命令行上传递的任何参数都将在该命令的持续时间内有效地重写匹配的 requirement 设置。

scope

scope 行为会影响为当前用户安装包还是为整个计算机安装包的选择。 匹配参数为 --scope,并使用相同的值(usermachine)。 查看与包安装范围相关的已知问题

"installBehavior": {
    "preferences": {
        "scope": "user"
    }
},

区域设置

locale 行为会影响基于安装程序区域设置的安装程序选择。 匹配参数为 --locale,并使用 bcp47 语言标记。

"installBehavior": {
    "preferences": {
        "locale": [ "en-US", "fr-FR" ]
    }
},

architectures

architectures 行为会影响安装包时将选择哪些体系结构。 匹配参数为 --architecture。 请注意,只能选择与系统兼容的体系结构。

    "installBehavior": {
        "preferences": {
            "architectures": ["x64", "arm64"]
        }
    },

installerTypes

installerTypes 行为会影响安装包时将选择哪些安装程序类型。 匹配参数为 --installer-type

    "installBehavior": {
        "preferences": {
            "installerTypes": ["msix", "msi"]
        }
    },

uninstallBehavior

uninstallBehavior 设置会影响卸载(如适用)包的默认行为。

purgePortablePackage

purgePortablePackage 行为会影响卸载可移植包的默认行为。 如果设置为 true,卸载将删除与 portable 包相关的所有文件和目录。 此设置仅适用于具有 portable 安装程序类型的包。 如果未设置值或值无效,则默认为 false

    "uninstallBehavior": {
        "purgePortablePackage": true
    },

downloadBehavior

downloadBehavior 设置会影响下载包的默认行为。

defaultDownloadDirectory

defaultDownloadDirectory 设置会影响下载包的默认目录。 如果未设置值或值无效,则默认为 %USERPROFILE%/Downloads

注意:此设置值必须是绝对路径。

    "downloadBehavior": {
        "defaultDownloadDirectory": "C:/Users/FooBar/Downloads"
    },

遥测设置

telemetry 设置控制 winget 是否在 Windows 的默认安装上写入可能发送到 Microsoft 的 ETW 事件。

请参阅有关遥测的详细信息以及我们的主要隐私声明

disable

"telemetry": {
    "disable": true
},

如果设置为 true,则 telemetry.disable 设置将阻止程序写入任何事件。

网络设置

这些 network 设置影响 winget 使用网络检索包和元数据的方式。

downloader

downloader 设置控制下载包时使用的代码。 默认值为 default,可以是基于我们确定的内容的任何选项。

wininet 使用 wininet API,同时 do 使用do服务。

"network": {
    "downloader": "do"
}

日志记录设置

logging 设置控制日志文件中的详细信息级别。 --verbose-logs 将替代此设置,并始终创建详细日志。

"logging": {
    "level": "verbose"
}

级别

以下日志记录级别可用。 如果未设置值或值无效,则默认为 info

  • verbose
  • info
  • warning
  • error
  • 严重

启用试验性功能

若要发现可用的试验性功能,请访问 https://aka.ms/winget-settings,在此处查看自己可用的试验性功能。