帮助开发者新增、修改或审查 VS Code 配置策略,并生成平台相关产物。
复制安装指令,让 AI 自动完成配置 · 推荐新手
请帮我安装 askskill 上的 "add-policy" 技能: 1. 下载 https://raw.githubusercontent.com/microsoft/vscode/main/.github/skills/add-policy/SKILL.md 2. 保存为 ~/.claude/skills/add-policy/SKILL.md 3. 装好后重载技能,告诉我可以用了
请为这个 VS Code 配置项添加 policy 字段,并检查是否完成了策略注册、描述补充以及导出所需的相关改动。
返回完整的策略接入建议或代码改动清单,覆盖注册、校验与导出环节。
请审查这次配置变更中新增的 policy 设置,确认命名、默认值、平台适配和生成产物是否符合规范。
输出审查结果,指出遗漏项、风险点以及需要补充的文件或步骤。
我更新了一个已有配置项的 policy 定义,请检查这次修改是否会影响策略生命周期中的注册、导出和平台特定文件生成。
给出影响分析与修改建议,确保现有策略变更不会破坏完整流程。
Policies allow enterprise administrators to lock configuration settings via OS-level mechanisms (Windows Group Policy, macOS managed preferences, Linux config files) or via Copilot account-level policy data. This skill covers the complete procedure.
policy: field to any configuration propertyIPolicyData| Source | Implementation | How it reads policies |
|---|---|---|
| OS-level (Windows registry, macOS plist) | NativePolicyService via @vscode/policy-watcher | Watches Software\Policies\Microsoft\{productName} (Windows) or bundle identifier prefs (macOS) |
| Linux file | FilePolicyService | Reads /etc/vscode/policy.json |
| Account/GitHub | AccountPolicyService | Reads IPolicyData from IDefaultAccountService.policyData, applies value() function |
| Multiplex | MultiplexPolicyService | Combines OS-level + account policy services; used in desktop main |
| File | Purpose |
|---|---|
src/vs/base/common/policy.ts | PolicyCategory enum, IPolicy interface |
src/vs/platform/policy/common/policy.ts | IPolicyService, AbstractPolicyService, PolicyDefinition |
src/vs/platform/configuration/common/configurations.ts | PolicyConfiguration — bridges policies to configuration values |
src/vs/workbench/services/policies/common/accountPolicyService.ts | Account/GitHub-based policy evaluation |
src/vs/workbench/services/policies/common/multiplexPolicyService.ts | Combines multiple policy services |
src/vs/workbench/contrib/policyExport/electron-browser/policyExport.contribution.ts | --export-policy-data CLI handler |
src/vs/base/common/defaultAccount.ts | IPolicyData interface for account-level policy fields |
build/lib/policies/policyData.jsonc | Auto-generated policy catalog (DO NOT edit manually) |
build/lib/policies/policyGenerator.ts | Generates ADMX/ADML (Windows), plist (macOS), JSON (Linux) |
build/lib/test/policyConversion.test.ts | Tests for policy artifact generation |
policy field to the configuration propertyFind the configuration registration (typically in a *.contribution.ts file) and add a policy object to the property schema.
Required fields:
Determining minimumVersion: Always read version from the root package.json and use the major.minor portion. For example, if package.json has "version": "1.112.0", use minimumVersion: '1.112'. Never hardcode an old version like '1.99'.
policy: {
name: 'MyPolicyName', // PascalCase, unique across all policies
category: PolicyCategory.InteractiveSession, // From PolicyCategory enum
minimumVersion: '1.112', // Use major.minor from package.json version
localization: {
description: {
key: 'my.config.key', // NLS key for the description
value: nls.localize('my.config.key', "Human-readable description."),
}
}
}
Optional: value function for account-based policy:
If this policy should also be controllable via Copilot account policy data (from IPolicyData), add a value function:
policy: {
name: 'MyPolicyName',
category: PolicyCategory.InteractiveSession,
minimumVersion: '1.112', // Use major.minor from package.json version
value: (policyData) => policyData.my_field === false ? false : undefined,
localization: { /* ... */ }
}
The value function receives IPolicyData (from src/vs/base/common/defaultAccount.ts) and should:
…
帮助开发者创建和维护组件截图测试夹具,并优化组件的可测试性。
帮助开发者验证 Azure DevOps 流水线改动,快速排查构建与 YAML 配置问题。
在隔离环境启动 VS Code OSS,便于联动自动化操作与多进程调试。
运行聊天性能基准与内存泄漏检查,定位聊天界面回归和性能问题。
帮助开发者定位并读取 Code OSS 开发构建日志,快速排查运行与扩展问题。
帮助开发者排查 VS Code 遥测中的未处理错误并定位根因。
帮助你编写 Hook 配置文件,以执行策略校验并自动化代理生命周期事件。
帮助开发者设计安全持久的配置与状态文件管理模式,兼顾默认值合并和崩溃恢复。
为 AI 编码助手生成或更新聊天定制配置文件,统一协作与开发体验
在推送代码或触发 CI 前检查常见问题,提前发现格式、变更集与策略风险。
帮助团队在 VS Code 功能与界面开发中落实无障碍设计与可访问性要求。
引导用户协作撰写文档、方案与技术规格,并通过迭代完善内容质量。