{"input":{"location":{"$mid":1,"fsPath":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions","external":"file:///Applications/Visual%20Studio%20Code.app/Contents/Resources/app/extensions","path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions","scheme":"file"},"mtime":1782207554000,"profile":false,"type":0,"validate":true,"productVersion":"1.126.0","productDate":"2026-06-23T01:46:13Z","productCommit":"7e7950df89d055b5a378379db9ee14290772148a","devMode":false,"language":"zh-cn","translations":{"vscode":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/main.i18n.json","ms-vscode.js-debug":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/ms-vscode.js-debug.i18n.json","vscode.bat":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.bat.i18n.json","vscode.builtin-notebook-renderers":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.builtin-notebook-renderers.i18n.json","vscode.clojure":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.clojure.i18n.json","vscode.coffeescript":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.coffeescript.i18n.json","vscode.configuration-editing":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.configuration-editing.i18n.json","vscode.cpp":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.cpp.i18n.json","vscode.csharp":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.csharp.i18n.json","vscode.css-language-features":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.css-language-features.i18n.json","vscode.css":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.css.i18n.json","vscode.dart":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.dart.i18n.json","vscode.debug-auto-launch":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.debug-auto-launch.i18n.json","vscode.debug-server-ready":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.debug-server-ready.i18n.json","vscode.diff":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.diff.i18n.json","vscode.docker":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.docker.i18n.json","vscode.dotenv":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.dotenv.i18n.json","vscode.emmet":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.emmet.i18n.json","vscode.extension-editing":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.extension-editing.i18n.json","vscode.fsharp":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.fsharp.i18n.json","vscode.git-base":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.git-base.i18n.json","vscode.git":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.git.i18n.json","vscode.github-authentication":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.github-authentication.i18n.json","vscode.github":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.github.i18n.json","vscode.go":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.go.i18n.json","vscode.groovy":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.groovy.i18n.json","vscode.grunt":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.grunt.i18n.json","vscode.gulp":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.gulp.i18n.json","vscode.handlebars":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.handlebars.i18n.json","vscode.hlsl":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.hlsl.i18n.json","vscode.html-language-features":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.html-language-features.i18n.json","vscode.html":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.html.i18n.json","vscode.ini":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.ini.i18n.json","vscode.ipynb":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.ipynb.i18n.json","vscode.jake":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.jake.i18n.json","vscode.java":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.java.i18n.json","vscode.javascript":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.javascript.i18n.json","vscode.json-language-features":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.json-language-features.i18n.json","vscode.json":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.json.i18n.json","vscode.julia":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.julia.i18n.json","vscode.latex":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.latex.i18n.json","vscode.less":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.less.i18n.json","vscode.log":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.log.i18n.json","vscode.lua":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.lua.i18n.json","vscode.make":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.make.i18n.json","vscode.markdown-language-features":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.markdown-language-features.i18n.json","vscode.markdown-math":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.markdown-math.i18n.json","vscode.markdown":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.markdown.i18n.json","vscode.media-preview":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.media-preview.i18n.json","vscode.merge-conflict":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.merge-conflict.i18n.json","vscode.mermaid-chat-features":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.mermaid-chat-features.i18n.json","vscode.mermaid-markdown-features":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.mermaid-markdown-features.i18n.json","vscode.microsoft-authentication":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.microsoft-authentication.i18n.json","vscode.npm":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.npm.i18n.json","vscode.objective-c":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.objective-c.i18n.json","vscode.perl":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.perl.i18n.json","vscode.php-language-features":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.php-language-features.i18n.json","vscode.php":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.php.i18n.json","vscode.powershell":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.powershell.i18n.json","vscode.prompt":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.prompt.i18n.json","vscode.pug":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.pug.i18n.json","vscode.python":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.python.i18n.json","vscode.r":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.r.i18n.json","vscode.razor":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.razor.i18n.json","vscode.references-view":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.references-view.i18n.json","vscode.restructuredtext":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.restructuredtext.i18n.json","vscode.ruby":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.ruby.i18n.json","vscode.rust":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.rust.i18n.json","vscode.scss":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.scss.i18n.json","vscode.search-result":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.search-result.i18n.json","vscode.shaderlab":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.shaderlab.i18n.json","vscode.shellscript":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.shellscript.i18n.json","vscode.simple-browser":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.simple-browser.i18n.json","vscode.sql":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.sql.i18n.json","vscode.swift":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.swift.i18n.json","vscode.terminal-suggest":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.terminal-suggest.i18n.json","vscode.theme-2026":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.theme-2026.i18n.json","vscode.theme-abyss":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.theme-abyss.i18n.json","vscode.theme-defaults":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.theme-defaults.i18n.json","vscode.theme-kimbie-dark":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.theme-kimbie-dark.i18n.json","vscode.theme-monokai-dimmed":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.theme-monokai-dimmed.i18n.json","vscode.theme-monokai":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.theme-monokai.i18n.json","vscode.theme-quietlight":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.theme-quietlight.i18n.json","vscode.theme-red":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.theme-red.i18n.json","vscode.theme-solarized-dark":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.theme-solarized-dark.i18n.json","vscode.theme-solarized-light":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.theme-solarized-light.i18n.json","vscode.theme-tomorrow-night-blue":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.theme-tomorrow-night-blue.i18n.json","vscode.tunnel-forwarding":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.tunnel-forwarding.i18n.json","vscode.typescript-language-features":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.typescript-language-features.i18n.json","vscode.typescript":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.typescript.i18n.json","vscode.vb":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.vb.i18n.json","vscode.vscode-theme-seti":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.vscode-theme-seti.i18n.json","vscode.xml":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.xml.i18n.json","vscode.yaml":"/Users/admin/.vscode/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.127.2026070113/translations/extensions/vscode.yaml.i18n.json"}},"result":[{"type":0,"identifier":{"id":"typescriptteam.jsts-chat-features"},"manifest":{"name":"jsts-chat-features","displayName":"JS/TS Chat Features","description":"Provides extensions to VS Family to improve the Copilot experience in JavaScript and TypeScript contexts","publisher":"TypeScriptTeam","author":"Microsoft Corp.","private":true,"version":"0.0.4","icon":"logo.png","license":"SEE LICENSE IN LICENSE.txt","engines":{"vscode":"^1.109.0"},"categories":["AI","Programming Languages"],"extensionKind":["workspace"],"contributes":{"chatSkills":[{"path":"./skills/typescript-setup/SKILL.md","when":"config.jsts-chat-features.skills.enabled"},{"path":"./skills/typescript-update/SKILL.md","when":"config.jsts-chat-features.skills.enabled"}],"configuration":{"title":"JS/TS Chat Features","type":"object","properties":{"jsts-chat-features.skills.enabled":{"type":"boolean","tags":["onExp"],"default":false,"description":"These skills provide helpful prompts and features to enhance your experience when using Copilot to work with JavaScript and TypeScript."}}}},"files":["LICENSE.txt","README.md","logo.png","skills/typescript-setup/SKILL.md","skills/typescript-update/SKILL.md","skills/typescript-update/4to5.md","skills/typescript-update/5to6.md","skills/typescript-update/6to7.md"]},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/TypeScriptTeam.jsts-chat-features","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","metadata":{},"isValid":true,"validations":[[2,"仅当同时定义了属性“main”时，才能定义属性“extensionKind”。"]],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.bat"},"manifest":{"name":"bat","displayName":"Windows 批处理语言基础功能","description":"在 Windows 批处理文件中提供代码片段、语法高亮、括号匹配和折叠功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"^1.52.0"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin mmims/language-batchfile grammars/batchfile.cson ./syntaxes/batchfile.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"bat","extensions":[".bat",".cmd"],"aliases":["Batch","bat"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"bat","scopeName":"source.batchfile","path":"./syntaxes/batchfile.tmLanguage.json"}],"snippets":[{"language":"bat","path":"./snippets/batchfile.code-snippets"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/bat","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.clojure"},"manifest":{"name":"clojure","displayName":"Clojure 语言基础功能","description":"在 Clojure 文件中提供语法高亮和括号匹配功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin atom/language-clojure grammars/clojure.cson ./syntaxes/clojure.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"clojure","aliases":["Clojure","clojure"],"extensions":[".clj",".cljs",".cljc",".cljx",".clojure",".edn"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"clojure","scopeName":"source.clojure","path":"./syntaxes/clojure.tmLanguage.json"}],"configurationDefaults":{"[clojure]":{"diffEditor.ignoreTrimWhitespace":false}}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/clojure","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.coffeescript"},"manifest":{"name":"coffeescript","displayName":"CoffeeScript 语言基础功能","description":"在 CoffeeScript 文件中提供代码片段、语法高亮、括号匹配和折叠功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin atom/language-coffee-script grammars/coffeescript.cson ./syntaxes/coffeescript.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"coffeescript","extensions":[".coffee",".cson",".iced"],"aliases":["CoffeeScript","coffeescript","coffee"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"coffeescript","scopeName":"source.coffee","path":"./syntaxes/coffeescript.tmLanguage.json"}],"breakpoints":[{"language":"coffeescript"}],"snippets":[{"language":"coffeescript","path":"./snippets/coffeescript.code-snippets"}],"configurationDefaults":{"[coffeescript]":{"diffEditor.ignoreTrimWhitespace":false,"editor.defaultColorDecorators":"never"}}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/coffeescript","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.configuration-editing"},"manifest":{"name":"configuration-editing","displayName":"配置编辑","description":"在配置文件 (如设置、启动和扩展推荐文件) 中提供高级 IntelliSense、自动修复等功能","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"^1.0.0"},"icon":"images/icon.png","activationEvents":["onProfile","onProfile:github","onLanguage:json","onLanguage:jsonc"],"enabledApiProposals":["profileContentHandlers"],"main":"./dist/configurationEditingMain","browser":"./dist/browser/configurationEditingMain","capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"contributes":{"languages":[{"id":"jsonc","extensions":[".code-workspace","language-configuration.json","icon-theme.json","color-theme.json"],"filenames":["settings.json","launch.json","tasks.json","mcp.json","keybindings.json","extensions.json","argv.json","profiles.json","devcontainer.json",".devcontainer.json"]},{"id":"json","extensions":[".code-profile"]}],"jsonValidation":[{"fileMatch":"vscode://defaultsettings/keybindings.json","url":"vscode://schemas/keybindings"},{"fileMatch":"%APP_SETTINGS_HOME%/keybindings.json","url":"vscode://schemas/keybindings"},{"fileMatch":"%APP_SETTINGS_HOME%/profiles/*/keybindings.json","url":"vscode://schemas/keybindings"},{"fileMatch":"vscode://defaultsettings/*.json","url":"vscode://schemas/settings/default"},{"fileMatch":"%APP_SETTINGS_HOME%/settings.json","url":"vscode://schemas/settings/user"},{"fileMatch":"%APP_SETTINGS_HOME%/profiles/*/settings.json","url":"vscode://schemas/settings/profile"},{"fileMatch":"%MACHINE_SETTINGS_HOME%/settings.json","url":"vscode://schemas/settings/machine"},{"fileMatch":"%APP_WORKSPACES_HOME%/*/workspace.json","url":"vscode://schemas/workspaceConfig"},{"fileMatch":"**/*.code-workspace","url":"vscode://schemas/workspaceConfig"},{"fileMatch":"**/argv.json","url":"vscode://schemas/argv"},{"fileMatch":"/.vscode/settings.json","url":"vscode://schemas/settings/folder"},{"fileMatch":"/.vscode/launch.json","url":"vscode://schemas/launch"},{"fileMatch":"/.vscode/tasks.json","url":"vscode://schemas/tasks"},{"fileMatch":"/.vscode/mcp.json","url":"vscode://schemas/mcp"},{"fileMatch":"%APP_SETTINGS_HOME%/tasks.json","url":"vscode://schemas/tasks"},{"fileMatch":"%APP_SETTINGS_HOME%/chatLanguageModels.json","url":"vscode://schemas/language-models"},{"fileMatch":"%APP_SETTINGS_HOME%/profiles/*/chatLanguageModels.json","url":"vscode://schemas/language-models"},{"fileMatch":"%APP_SETTINGS_HOME%/snippets/*.json","url":"vscode://schemas/snippets"},{"fileMatch":"%APP_SETTINGS_HOME%/prompts/*.toolsets.jsonc","url":"vscode://schemas/toolsets"},{"fileMatch":"%APP_SETTINGS_HOME%/profiles/*/snippets/.json","url":"vscode://schemas/snippets"},{"fileMatch":"%APP_SETTINGS_HOME%/sync/snippets/preview/*.json","url":"vscode://schemas/snippets"},{"fileMatch":"**/*.code-snippets","url":"vscode://schemas/global-snippets"},{"fileMatch":"/.vscode/extensions.json","url":"vscode://schemas/extensions"},{"fileMatch":"devcontainer.json","url":"https://raw.githubusercontent.com/devcontainers/spec/main/schemas/devContainer.schema.json"},{"fileMatch":".devcontainer.json","url":"https://raw.githubusercontent.com/devcontainers/spec/main/schemas/devContainer.schema.json"},{"fileMatch":"%APP_SETTINGS_HOME%/globalStorage/ms-vscode-remote.remote-containers/nameConfigs/*.json","url":"./schemas/attachContainer.schema.json"},{"fileMatch":"%APP_SETTINGS_HOME%/globalStorage/ms-vscode-remote.remote-containers/imageConfigs/*.json","url":"./schemas/attachContainer.schema.json"},{"fileMatch":"**/quality/*/product.json","url":"vscode://schemas/vscode-product"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"},"originalEnabledApiProposals":["profileContentHandlers"]},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/configuration-editing","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"github.copilot-chat"},"manifest":{"name":"copilot-chat","displayName":"GitHub Copilot Chat","description":"AI chat features powered by Copilot","version":"0.54.0","build":"1","completionsCoreVersion":"1.378.1799","internalLargeStorageAriaKey":"ec712b3202c5462fb6877acae7f1f9d7-c19ad55e-3e3c-4f99-984b-827f6d95bd9e-6917","ariaKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","buildType":"prod","publisher":"GitHub","homepage":"https://github.com/features/copilot?editor=vscode","license":"SEE LICENSE IN LICENSE.txt","repository":{"type":"git","url":"https://github.com/microsoft/vscode-copilot-chat"},"bugs":{"url":"https://github.com/microsoft/vscode/issues"},"qna":"https://github.com/github-community/community/discussions/categories/copilot","icon":"assets/copilot.png","pricing":"Trial","engines":{"vscode":"^1.126.0","npm":">=9.0.0","node":">=22.14.0"},"categories":["AI","Chat","Programming Languages","Machine Learning"],"keywords":["ai","openai","codex","pilot","snippets","documentation","autocomplete","intellisense","refactor","javascript","python","typescript","php","go","golang","ruby","c++","c#","java","kotlin","co-pilot"],"badges":[{"url":"https://img.shields.io/badge/GitHub%20Copilot-Subscription%20Required-orange","href":"https://github.com/github-copilot/signup?editor=vscode","description":"注册 GitHub Copilot"},{"url":"https://img.shields.io/github/stars/github/copilot-docs?style=social","href":"https://github.com/github/copilot-docs","description":"在 GitHub 上的星标 Copilot"},{"url":"https://img.shields.io/youtube/channel/views/UC7c3Kb6jYCRj4JOHHZTxKsQ?style=social","href":"https://www.youtube.com/@GitHub/search?query=copilot","description":"查看 Youtube 上的 GitHub"},{"url":"https://img.shields.io/twitter/follow/github?style=social","href":"https://twitter.com/github","description":"在 Twitter 上关注 GitHub"}],"activationEvents":["onStartupFinished","onLanguageModelChat:copilot","onUri","onFileSystem:ccreq","onFileSystem:ccsettings"],"main":"./dist/extension","l10n":"./l10n","enabledApiProposals":["agentSessionsWorkspace","agentsWindowConfiguration","chatDebug","chatHooks","extensionsAny","newSymbolNamesProvider","interactive","codeActionAI","activeComment","commentReveal","contribCommentThreadAdditionalMenu","contribCommentsViewThreadMenus","contribChatEditorInlineGutterMenu","documentFiltersExclusive","embeddings","findTextInFiles","findTextInFiles2","languageModelToolSupportsModel","findFiles2","textSearchProvider","terminalDataWriteEvent","terminalExecuteCommandEvent","terminalSelection","terminalQuickFixProvider","mappedEditsProvider","aiRelatedInformation","aiSettingsSearch","chatParticipantAdditions","defaultChatParticipant","contribSourceControlInputBoxMenu","authLearnMore","testObserver","aiTextSearchProvider","chatParticipantPrivate","chatProvider","contribDebugCreateConfiguration","chatReferenceDiagnostic","textSearchProvider2","chatReferenceBinaryData","languageModelSystem","languageModelCapabilities","languageModelPricing","inlineCompletionsAdditions","chatStatusItem","chatInputNotification","taskProblemMatcherStatus","contribLanguageModelToolSets","textDocumentChangeReason","resolvers","taskExecutionTerminal","dataChannels","languageModelThinkingPart","chatSessionsProvider","devDeviceId","contribEditorContentMenu","chatPromptFiles","mcpServerDefinitions","tabInputMultiDiff","workspaceTrust","environmentPower","terminalTitle","toolInvocationApproveCombination","chatSessionCustomizationProvider"],"contributes":{"languageModelTools":[{"name":"copilot_searchCodebase","toolReferenceName":"codebase","displayName":"代码库","icon":"$(folder)","userDescription":"通过语义搜索查找相关的文件区块、符号和其他信息","modelDescription":"Run a natural language search for relevant code or documentation comments from the user's current workspace. Returns relevant code snippets from the user's current workspace if it is large, or the full contents of the workspace if it is small.","tags":["codesearch","vscode_codesearch"],"inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"The query to search the codebase for. Should contain all relevant context. Should ideally be text that might appear in the codebase, such as function names, variable names, or comments."}},"required":["query"]}},{"name":"execution_subagent","toolReferenceName":"executionSubagent","displayName":"执行子智能体","icon":"$(play)","userDescription":"启动以执行为中心的子智能体，它会运行一个或多个终端命令来完成任务。此子智能体由 Google 的 Gemini-3-Flash 模型提供支持。它旨在选择终端输出的高效摘要以返回到主智能体上下文。","modelDescription":"Launch an iterative execution-focused subagent that performs an execution-based task.\nUSE THIS INSTEAD OF RUNNING INDIVIDUAL COMMANDS WITH run_in_terminal EXCEPT IN THE RARE CASES THAT YOU NEED THE FULL OUTPUT OF A COMMAND.\nHere are some examples of how it can be used:\n- Run tests and filter the output to summarize which tests failed and why.\n- Install all dependencies of a project.\nReturns: A list of commands that were run, along with relevant excerpts of each command's output.\nInput fields:\n- query: What to execute, and what to look for in the output. Can include exact commands to run, or a description of an execution task.\n- description: Short user-visible invocation message.\nNOTE: In the subagent query, make sure to specify any restrictions or guidelines on running commands provided by the user earlier in the conversation.\nFor example, if the user instructs the agent to not edit files in a particular directory, make sure to include that instruction in the subagent query when relevant.","when":"config.github.copilot.chat.executionSubagent.enabled","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"What to execute, and what to look for in the output. Can include exact commands to run, or a description of an execution task."},"description":{"type":"string","description":"User-visible invocation message shown while the subagent runs."}},"required":["query","description"]}},{"name":"search_subagent","toolReferenceName":"searchSubagent","displayName":"搜索子智能体","icon":"$(search)","userDescription":"启动以搜索为中心的迭代子智能体，在工作区中查找相关代码。","modelDescription":"Launch a fast agent specialized for exploring codebases. Use this when you need to quickly find files by patterns (eg. \"src/components/**/*.tsx\"), search code for keywords (eg. \"API endpoints\"), or answer questions about the codebase (eg. \"how do API endpoints work?\").\nReturns: A list of relevant files/snippet locations in the workspace.\n\nInput fields:\n- query: Natural language description of what to search for.\n- description: Short user-visible invocation message. \n- details: 2-3 sentences detailing the objective of the search agent.","when":"config.github.copilot.chat.searchSubagent.enabled && config.github.copilot.chat.exploreAgent.enabled","tags":["vscode_codesearch"],"inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Natural language description of what to search for."},"description":{"type":"string","description":"A short (3-5 word) description of the task."},"details":{"type":"string","description":"A more detailed description of the objective for the search subagent. This helps the sub-agent remain on task and understand its purpose."}},"required":["query","description","details"]}},{"name":"explore_subagent","toolReferenceName":"exploreSubagent","displayName":"搜索子智能体","icon":"$(search)","userDescription":"启动以搜索为中心的迭代子智能体，在工作区中查找相关代码。","modelDescription":"Launch a fast agent specialized for exploring codebases. Use this when you need to quickly find files by patterns (eg. \"src/components/**/*.tsx\"), search code for keywords (eg. \"API endpoints\"), or answer questions about the codebase (eg. \"how do API endpoints work?\").\nReturns: A list of relevant files/snippet locations in the workspace.\n\nInput fields:\n- query: Natural language description of what to search for.\n- description: Short user-visible invocation message. \n- details: 2-3 sentences detailing the objective of the search agent.","when":"config.github.copilot.chat.searchSubagent.enabled && !config.github.copilot.chat.exploreAgent.enabled","tags":["vscode_codesearch"],"inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Natural language description of what to search for."},"description":{"type":"string","description":"A short (3-5 word) description of the task."},"details":{"type":"string","description":"A more detailed description of the objective for the search subagent. This helps the sub-agent remain on task and understand its purpose."}},"required":["query","description","details"]}},{"name":"skill","toolReferenceName":"skill","displayName":"技能","icon":"$(book)","userDescription":"按名称执行技能。技能提供专用功能、域知识和优化的工作流。","modelDescription":"Invoke a skill to handle a user's request with specialized instructions and workflows.\n\nSkills are domain-specific capabilities discovered from SKILL.md files. When a user's task matches an available skill, call this tool to load and apply it. If the user types a slash command (e.g. \"/deploy\", \"/test\"), treat it as a skill invocation.\n\nUsage:\n- Pass the skill name only (no arguments).\n- Examples: skill: \"docx\", skill: \"deploy\", skill: \"fix-ci-failures\"\n\nRules:\n- Available skills appear in system-reminder messages earlier in the conversation.\n- BLOCKING: When a matching skill exists, you MUST call this tool before producing any other output about the task.\n- Never reference a skill without calling this tool.\n- Do not call this tool for a skill that is already active in the current turn (indicated by a <command-name> tag).\n- Do not use this tool for built-in commands such as /help or /clear.","when":"config.github.copilot.chat.skillTool.enabled","inputSchema":{"type":"object","properties":{"skill":{"type":"string","description":"The skill name. E.g., \"commit\", \"review-pr\", or \"pdf\""}},"required":["skill"]}},{"name":"copilot_searchWorkspaceSymbols","toolReferenceName":"symbols","displayName":"工作区符号","icon":"$(symbol)","userDescription":"使用语言服务搜索工作区符号。","modelDescription":"Search the user's workspace for code symbols using language services. Use this tool when the user is looking for a specific symbol in their workspace.","tags":["vscode_codesearch"],"inputSchema":{"type":"object","properties":{"symbolName":{"type":"string","description":"The symbol to search for, such as a function name, class name, or variable name."}},"required":["symbolName"]}},{"name":"copilot_getVSCodeAPI","toolReferenceName":"vscodeAPI","displayName":"获取 VS Code API 引用","icon":"$(references)","userDescription":"使用 VS Code API 引用回答有关 VS Code 扩展开发的问题。","modelDescription":"Get comprehensive VS Code API documentation and references for extension development. This tool provides authoritative documentation for VS Code's extensive API surface, including proposed APIs, contribution points, and best practices. Use this tool for understanding complex VS Code API interactions.\n\nWhen to use this tool:\n- User asks about specific VS Code APIs, interfaces, or extension capabilities\n- Need documentation for VS Code extension contribution points (commands, views, settings, etc.)\n- Questions about proposed APIs and their usage patterns\n- Understanding VS Code extension lifecycle, activation events, and packaging\n- Best practices for VS Code extension development architecture\n- API examples and code patterns for extension features\n- Troubleshooting extension-specific issues or API limitations\n\nWhen NOT to use this tool:\n- Creating simple standalone files or scripts unrelated to VS Code extensions\n- General programming questions not specific to VS Code extension development\n- Questions about using VS Code as an editor (user-facing features)\n- Non-extension related development tasks\n- File creation or editing that doesn't involve VS Code extension APIs\n\nCRITICAL usage guidelines:\n1. Always include specific API names, interfaces, or concepts in your query\n2. Mention the extension feature you're trying to implement\n3. Include context about proposed vs stable APIs when relevant\n4. Reference specific contribution points when asking about extension manifest\n5. Be specific about the VS Code version or API version when known\n\nScope: This tool is for EXTENSION DEVELOPMENT ONLY - building tools that extend VS Code itself, not for general file creation or non-extension programming tasks.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"The query to search vscode documentation for. Should contain all relevant context."}},"required":["query"]},"tags":[]},{"name":"copilot_findFiles","toolReferenceName":"fileSearch","displayName":"查找文件","userDescription":"使用 glob 模式按名称查找文件","modelDescription":"Search for files in the workspace by glob pattern. This only returns the paths of matching files. Use this tool when you know the exact filename pattern of the files you're searching for. Glob patterns match from the root of the workspace folder. Examples:\n- **/*.{js,ts} to match all js/ts files in the workspace.\n- src/** to match all files under the top-level src folder.\n- **/foo/**/*.js to match all js files under any foo folder in the workspace.\n\nIn a multi-root workspace, you can scope the search to a specific workspace folder by using the absolute path to the folder as the query, e.g. /path/to/folder/**/*.ts.","tags":["vscode_codesearch"],"inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Search for files with names or paths matching this glob pattern. Can also be an absolute path to a workspace folder to scope the search in a multi-root workspace."},"maxResults":{"type":"number","description":"The maximum number of results to return. Do not use this unless necessary, it can slow things down. By default, only some matches are returned. If you use this and don't see what you're looking for, you can try again with a more specific query or a larger maxResults."}},"required":["query"]}},{"name":"copilot_findTextInFiles","toolReferenceName":"textSearch","displayName":"在文件中查找文本","userDescription":"按正则表达式搜索文件中的文本","modelDescription":"Do a fast text search in the workspace. Use this tool when you want to search with an exact string or regex. If you are not sure what words will appear in the workspace, prefer using regex patterns with alternation (|) or character classes to search for multiple potential words at once instead of making separate searches. For example, use 'function|method|procedure' to look for all of those words at once. Use includePattern to search within files matching a specific pattern, or in a specific file, using a relative path. Use 'includeIgnoredFiles' to include files normally ignored by .gitignore, other ignore files, and `files.exclude` and `search.exclude` settings. Warning: using this may cause the search to be slower, only set it when you want to search in ignored folders like node_modules or build outputs. Use this tool when you want to see an overview of a particular file, instead of using read_file many times to look for code within a file.\n\nIn a multi-root workspace, you can scope the search to a specific workspace folder by using the absolute path to the folder as the includePattern, e.g. /path/to/folder.","tags":["vscode_codesearch"],"inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"The pattern to search for in files in the workspace. Use regex with alternation (e.g., 'word1|word2|word3') or character classes to find multiple potential words in a single search. Be sure to set the isRegexp property properly to declare whether it's a regex or plain text pattern. Is case-insensitive."},"isRegexp":{"type":"boolean","description":"Whether the pattern is a regex."},"includePattern":{"type":"string","description":"Search files matching this glob pattern. Will be applied to the relative path of files within the workspace. To search recursively inside a folder, use a proper glob pattern like \"src/folder/**\". Do not use | in includePattern. Can also be an absolute path to a workspace folder to scope the search in a multi-root workspace."},"maxResults":{"type":"number","description":"The maximum number of results to return. Do not use this unless necessary, it can slow things down. By default, only some matches are returned. If you use this and don't see what you're looking for, you can try again with a more specific query or a larger maxResults."},"includeIgnoredFiles":{"type":"boolean","description":"Whether to include files that would normally be ignored according to .gitignore, other ignore files and `files.exclude` and `search.exclude` settings. Warning: using this may cause the search to be slower. Only set it when you want to search in ignored folders like node_modules or build outputs."}},"required":["query","isRegexp"]}},{"name":"copilot_applyPatch","displayName":"应用修补程序","toolReferenceName":"applyPatch","userDescription":"编辑工作区中的文本文件","modelDescription":"Edit text files. Do not use this tool to edit Jupyter notebooks. `apply_patch` allows you to execute a diff/patch against a text file, but the format of the diff specification is unique to this task, so pay careful attention to these instructions. To use the `apply_patch` command, you should pass a message of the following structure as \"input\":\n\n*** Begin Patch\n[YOUR_PATCH]\n*** End Patch\n\nWhere [YOUR_PATCH] is the actual content of your patch, specified in the following V4A diff format.\n\n*** [ACTION] File: [/absolute/path/to/file] -> ACTION can be one of Add, Update, or Delete.\nAn example of a message that you might pass as \"input\" to this function, in order to apply a patch, is shown below.\n\n*** Begin Patch\n*** Update File: /Users/someone/pygorithm/searching/binary_search.py\n@@class BaseClass\n@@    def search():\n-        pass\n+        raise NotImplementedError()\n\n@@class Subclass\n@@    def search():\n-        pass\n+        raise NotImplementedError()\n\n*** End Patch\nDo not use line numbers in this diff format.","inputSchema":{"type":"object","properties":{"input":{"type":"string","description":"The edit patch to apply."},"explanation":{"type":"string","description":"A short description of what the tool call is aiming to achieve."}},"required":["input","explanation"]}},{"name":"copilot_readFile","toolReferenceName":"readFile","legacyToolReferenceFullNames":["search/readFile"],"displayName":"读取文件","userDescription":"读取文件的内容","modelDescription":"Read the contents of a file.\n\nYou must specify the line range you're interested in. Line numbers are 1-indexed. If the file contents returned are insufficient for your task, you may call this tool again to retrieve more content. Prefer reading larger ranges over doing many small reads. Binary files use startLine/endLine as byte offsets.","tags":["vscode_codesearch"],"inputSchema":{"type":"object","properties":{"filePath":{"description":"The absolute path of the file to read.","type":"string"},"startLine":{"type":"number","description":"The line number to start reading from, 1-based."},"endLine":{"type":"number","description":"The inclusive line number to end reading at, 1-based."}},"required":["filePath","startLine","endLine"]}},{"name":"copilot_viewImage","toolReferenceName":"viewImage","displayName":"查看图像","userDescription":"查看图像文件的内容","when":"config.github.copilot.chat.tools.viewImage.enabled","modelDescription":"View the contents of an image file. Use this instead of read_file for supported image files such as png, jpg, jpeg, gif, and webp. The tool returns the image directly to multimodal models and does not take line ranges or offsets.","inputSchema":{"type":"object","properties":{"filePath":{"description":"The absolute path of the image file to view.","type":"string"}},"required":["filePath"]}},{"name":"copilot_listDirectory","toolReferenceName":"listDirectory","displayName":"列表目录","userDescription":"列出目录的内容","modelDescription":"List the contents of a directory. Result will have the name of the child. If the name ends in /, it's a folder, otherwise a file","tags":["vscode_codesearch"],"inputSchema":{"type":"object","properties":{"path":{"type":"string","description":"The absolute path to the directory to list."}},"required":["path"]}},{"name":"copilot_getErrors","displayName":"获取问题","toolReferenceName":"problems","legacyToolReferenceFullNames":["problems"],"icon":"$(error)","userDescription":"检查特定文件的错误","modelDescription":"Get any compile or lint errors in a specific file or across all files. If the user mentions errors or problems in a file, they may be referring to these. Use the tool to see the same errors that the user is seeing. If the user asks you to analyze all errors, or does not specify a file, use this tool to gather errors for all files. Also use this tool after editing a file to validate the change.","tags":[],"inputSchema":{"type":"object","properties":{"filePaths":{"description":"The absolute paths to the files or folders to check for errors. Omit 'filePaths' when retrieving all errors.","type":"array","items":{"type":"string"}}}}},{"name":"copilot_readProjectStructure","displayName":"项目结构","modelDescription":"Get a file tree representation of the workspace.","tags":[]},{"name":"copilot_getChangedFiles","displayName":"Git 更改","toolReferenceName":"changes","legacyToolReferenceFullNames":["changes"],"icon":"$(diff)","userDescription":"获取已更改文件的差异","modelDescription":"Get git diffs of current file changes in a git repository. Don't forget that you can use run_in_terminal to run git commands in a terminal as well.","when":"config.github.copilot.chat.getChangedFilesTool.enabled","tags":["vscode_codesearch"],"inputSchema":{"type":"object","properties":{"repositoryPath":{"type":"string","description":"The absolute path to the git repository to look for changes in. If not provided, the active git repository will be used."},"sourceControlState":{"type":"array","items":{"type":"string","enum":["staged","unstaged","merge-conflicts"]},"description":"The kinds of git state to filter by. Allowed values are: 'staged', 'unstaged', and 'merge-conflicts'. If not provided, all states will be included."}}}},{"name":"copilot_createNewWorkspace","displayName":"创建新工作区","toolReferenceName":"newWorkspace","legacyToolReferenceFullNames":["new/newWorkspace"],"icon":"$(new-folder)","userDescription":"在 VS Code 中搭建新工作区的基架","when":"config.github.copilot.chat.newWorkspaceCreation.enabled","modelDescription":"Get comprehensive setup steps to help the user create complete project structures in a VS Code workspace. This tool is designed for full project initialization and scaffolding, not for creating individual files.\n\nWhen to use this tool:\n- User wants to create a new complete project from scratch\n- Setting up entire project frameworks (TypeScript projects, React apps, Node.js servers, etc.)\n- Initializing Model Context Protocol (MCP) servers with full structure\n- Creating VS Code extensions with proper scaffolding\n- Setting up Next.js, Vite, or other framework-based projects\n- User asks for \"new project\", \"create a workspace\", \"set up a [framework] project\"\n- Need to establish complete development environment with dependencies, config files, and folder structure\n\nWhen NOT to use this tool:\n- Creating single files or small code snippets\n- Adding individual files to existing projects\n- Making modifications to existing codebases\n- User asks to \"create a file\" or \"add a component\"\n- Simple code examples or demonstrations\n- Debugging or fixing existing code\n\nThis tool provides complete project setup including:\n- Folder structure creation\n- Package.json and dependency management\n- Configuration files (tsconfig, eslint, etc.)\n- Initial boilerplate code\n- Development environment setup\n- Build and run instructions\n\nUse other file creation tools for individual files within existing projects.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"The query to use to generate the new workspace. This should be a clear and concise description of the workspace the user wants to create."}},"required":["query"]},"tags":["enable_other_tool_install_extension"]},{"name":"copilot_installExtension","displayName":"Install Extension in VS Code","when":"!config.github.copilot.chat.installExtensionSkill.enabled","toolReferenceName":"installExtension","legacyToolReferenceFullNames":["new/installExtension"],"modelDescription":"Install an extension in VS Code. Use this tool to install an extension in Visual Studio Code as part of a new workspace creation process only.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the extension to install. This should be in the format <publisher>.<extension>."},"name":{"type":"string","description":"The name of the extension to install. This should be a clear and concise description of the extension."}},"required":["id","name"]},"tags":[]},{"name":"copilot_runVscodeCommand","displayName":"Run VS Code Command","toolReferenceName":"runCommand","legacyToolReferenceFullNames":["new/runVscodeCommand"],"modelDescription":"Run a command in VS Code. Use this tool to run a command in Visual Studio Code as part of a new workspace creation process only.","inputSchema":{"type":"object","properties":{"commandId":{"type":"string","description":"The ID of the command to execute. This should be in the format <command>."},"name":{"type":"string","description":"The name of the command to execute. This should be a clear and concise description of the command."},"args":{"type":"array","description":"The arguments to pass to the command. This should be an array of strings.","items":{"type":"string"}},"skipCheck":{"type":"boolean","description":"If true, skip checking whether the command exists before executing it."}},"required":["commandId","name"]},"tags":[]},{"name":"copilot_createNewJupyterNotebook","displayName":"Create New Jupyter Notebook","icon":"$(notebook)","toolReferenceName":"createJupyterNotebook","legacyToolReferenceFullNames":["newJupyterNotebook"],"modelDescription":"Generates a new Jupyter Notebook (.ipynb) in VS Code. Jupyter Notebooks are interactive documents commonly used for data exploration, analysis, visualization, and combining code with narrative text. Prefer creating plain Python files or similar unless a user explicitly requests creating a new Jupyter Notebook or already has a Jupyter Notebook opened or exists in the workspace.","userDescription":"创建新 Jupyter Notebook","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"The query to use to generate the jupyter notebook. This should be a clear and concise description of the notebook the user wants to create."}},"required":["query"]},"tags":[]},{"name":"copilot_insertEdit","toolReferenceName":"insertEdit","displayName":"编辑文件","modelDescription":"Insert new code into an existing file in the workspace. Use this tool once per file that needs to be modified, even if there are multiple changes for a file. Generate the \"explanation\" property first.\nThe system is very smart and can understand how to apply your edits to the files, you just need to provide minimal hints.\nAvoid repeating existing code, instead use comments to represent regions of unchanged code. Be as concise as possible. For example:\n// ...existing code...\n{ changed code }\n// ...existing code...\n{ changed code }\n// ...existing code...\n\nHere is an example of how you should use format an edit to an existing Person class:\nclass Person {\n\t// ...existing code...\n\tage: number;\n\t// ...existing code...\n\tgetAge() {\n\treturn this.age;\n\t}\n}","tags":[],"inputSchema":{"type":"object","properties":{"explanation":{"type":"string","description":"A short explanation of the edit being made."},"filePath":{"type":"string","description":"An absolute path to the file to edit."},"code":{"type":"string","description":"The code change to apply to the file.\nThe system is very smart and can understand how to apply your edits to the files, you just need to provide minimal hints.\nAvoid repeating existing code, instead use comments to represent regions of unchanged code. Be as concise as possible. For example:\n// ...existing code...\n{ changed code }\n// ...existing code...\n{ changed code }\n// ...existing code...\n\nHere is an example of how you should use format an edit to an existing Person class:\nclass Person {\n\t// ...existing code...\n\tage: number;\n\t// ...existing code...\n\tgetAge() {\n\t\treturn this.age;\n\t}\n}"}},"required":["explanation","filePath","code"]}},{"name":"copilot_createFile","toolReferenceName":"createFile","legacyToolReferenceFullNames":["createFile"],"displayName":"创建文件","userDescription":"创建新文件","modelDescription":"This is a tool for creating a new file in the workspace. The file will be created with the specified content. The directory will be created if it does not already exist. Never use this tool to edit a file that already exists.","tags":[],"inputSchema":{"type":"object","properties":{"filePath":{"type":"string","description":"The absolute path to the file to create."},"content":{"type":"string","description":"The content to write to the file."}},"required":["filePath","content"]}},{"name":"copilot_createDirectory","toolReferenceName":"createDirectory","legacyToolReferenceFullNames":["createDirectory"],"displayName":"创建目录","userDescription":"在工作区中创建新目录","modelDescription":"Create a new directory structure in the workspace. Will recursively create all directories in the path, like mkdir -p. You do not need to use this tool before using create_file, that tool will automatically create the needed directories.","tags":[],"inputSchema":{"type":"object","properties":{"dirPath":{"type":"string","description":"The absolute path to the directory to create."}},"required":["dirPath"]}},{"name":"copilot_replaceString","toolReferenceName":"replaceString","displayName":"替换文件中的字符串","modelDescription":"This is a tool for making edits in an existing file in the workspace. For moving or renaming files, use run in terminal tool with the 'mv' command instead. For larger edits, split them into smaller edits and call the edit tool multiple times to ensure accuracy. Before editing, always ensure you have the context to understand the file's contents and context. To edit a file, provide: 1) filePath (absolute path), 2) oldString (MUST be the exact literal text to replace including all whitespace, indentation, newlines, and surrounding code etc), and 3) newString (MUST be the exact literal text to replace \\`oldString\\` with (also including all whitespace, indentation, newlines, and surrounding code etc.). Ensure the resulting code is correct and idiomatic.). Each use of this tool replaces exactly ONE occurrence of oldString.\n\nCRITICAL for \\`oldString\\`: Must uniquely identify the single instance to change. Include at least 3 lines of context BEFORE and AFTER the target text, matching whitespace and indentation precisely. If this string matches multiple locations, or does not match exactly, the tool will fail. Never use 'Lines 123-456 omitted' from summarized documents or ...existing code... comments in the oldString or newString.","when":"!config.github.copilot.chat.disableReplaceTool","inputSchema":{"type":"object","properties":{"filePath":{"type":"string","description":"An absolute path to the file to edit."},"oldString":{"type":"string","description":"The exact literal text to replace, preferably unescaped. For single replacements (default), include at least 3 lines of context BEFORE and AFTER the target text, matching whitespace and indentation precisely. For multiple replacements, specify expected_replacements parameter. If this string is not the exact literal text (i.e. you escaped it) or does not match exactly, the tool will fail."},"newString":{"type":"string","description":"The exact literal text to replace `old_string` with, preferably unescaped. Provide the EXACT text. Ensure the resulting code is correct and idiomatic."}},"required":["filePath","oldString","newString"]}},{"name":"copilot_multiReplaceString","toolReferenceName":"multiReplaceString","displayName":"文件中的多替换字符串","modelDescription":"This tool allows you to apply multiple replace_string_in_file operations in a single call, which is more efficient than calling replace_string_in_file multiple times. It takes an array of replacement operations and applies them sequentially. Each replacement operation has the same parameters as replace_string_in_file: filePath, oldString, newString, and explanation. This tool is ideal when you need to make multiple edits across different files or multiple edits in the same file. The tool will provide a summary of successful and failed operations.","when":"!config.github.copilot.chat.disableReplaceTool","inputSchema":{"type":"object","properties":{"explanation":{"type":"string","description":"A brief explanation of what the multi-replace operation will accomplish."},"replacements":{"type":"array","description":"An array of replacement operations to apply sequentially.","items":{"type":"object","properties":{"filePath":{"type":"string","description":"An absolute path to the file to edit."},"oldString":{"type":"string","description":"The exact literal text to replace, preferably unescaped. Include at least 3 lines of context BEFORE and AFTER the target text, matching whitespace and indentation precisely. If this string is not the exact literal text or does not match exactly, this replacement will fail."},"newString":{"type":"string","description":"The exact literal text to replace `oldString` with, preferably unescaped. Provide the EXACT text. Ensure the resulting code is correct and idiomatic."}},"required":["filePath","oldString","newString"]},"minItems":1}},"required":["explanation","replacements"]}},{"name":"copilot_editNotebook","toolReferenceName":"editNotebook","icon":"$(pencil)","displayName":"编辑笔记本","userDescription":"编辑工作区中的笔记本文件","modelDescription":"This is a tool for editing an existing Notebook file in the workspace. Generate the \"explanation\" property first.\nThe system is very smart and can understand how to apply your edits to the notebooks.\nWhen updating the content of an existing cell, ensure newCode preserves whitespace and indentation exactly and does NOT include any code markers such as (...existing code...).","tags":["enable_other_tool_copilot_getNotebookSummary"],"inputSchema":{"type":"object","properties":{"filePath":{"type":"string","description":"An absolute path to the notebook file to edit, or the URI of a untitled, not yet named, file, such as `untitled:Untitled-1."},"cellId":{"type":"string","description":"Id of the cell that needs to be deleted or edited. Use the value `TOP`, `BOTTOM` when inserting a cell at the top or bottom of the notebook, else provide the id of the cell after which a new cell is to be inserted. Remember, if a cellId is provided and editType=insert, then a cell will be inserted after the cell with the provided cellId."},"newCode":{"anyOf":[{"type":"string","description":"The code for the new or existing cell to be edited. Code should not be wrapped within <VSCode.Cell> tags. Do NOT include code markers such as (...existing code...) to indicate existing code."},{"type":"array","items":{"type":"string","description":"The code for the new or existing cell to be edited. Code should not be wrapped within <VSCode.Cell> tags"}}]},"language":{"type":"string","description":"The language of the cell. `markdown`, `python`, `javascript`, `julia`, etc."},"editType":{"type":"string","enum":["insert","delete","edit"],"description":"The operation peformed on the cell, whether `insert`, `delete` or `edit`.\nUse the `editType` field to specify the operation: `insert` to add a new cell, `edit` to modify an existing cell's content, and `delete` to remove a cell."}},"required":["filePath","editType","cellId"]}},{"name":"copilot_runNotebookCell","displayName":"运行笔记本单元格","toolReferenceName":"runNotebookCell","legacyToolReferenceFullNames":["runNotebooks/runCell"],"icon":"$(play)","modelDescription":"This is a tool for running a code cell in a notebook file directly in the notebook editor. The output from the execution will be returned. Code cells should be run as they are added or edited when working through a problem to bring the kernel state up to date and ensure the code executes successfully. Code cells are ready to run and don't require any pre-processing. If asked to run the first cell in a notebook, you should run the first code cell since markdown cells cannot be executed. NOTE: Avoid executing Markdown cells or providing Markdown cell IDs, as Markdown cells cannot be  executed.","userDescription":"在笔记本文件中触发单元格执行","tags":["enable_other_tool_copilot_getNotebookSummary"],"inputSchema":{"type":"object","properties":{"filePath":{"type":"string","description":"An absolute path to the notebook file with the cell to run, or the URI of a untitled, not yet named, file, such as `untitled:Untitled-1.ipynb"},"reason":{"type":"string","description":"An optional explanation of why the cell is being run. This will be shown to the user before the tool is run and is not necessary if it's self-explanatory."},"cellId":{"type":"string","description":"The ID for the code cell to execute. Avoid providing markdown cell IDs as nothing will be executed."},"continueOnError":{"type":"boolean","description":"Whether or not execution should continue for remaining cells if an error is encountered. Default to false unless instructed otherwise."}},"required":["filePath","cellId"]}},{"name":"copilot_getNotebookSummary","toolReferenceName":"getNotebookSummary","legacyToolReferenceFullNames":["runNotebooks/getNotebookSummary"],"displayName":"Get the structure of a notebook","modelDescription":"This is a tool returns the list of the Notebook cells along with the id, cell types, line ranges, language, execution information and output mime types for each cell. This is useful to get Cell Ids when executing a notebook or determine what cells have been executed and what order, or what cells have outputs. If required to read contents of a cell use this to determine the line range of a cells, and then use read_file tool to read a specific line range. Requery this tool if the contents of the notebook change.","tags":[],"inputSchema":{"type":"object","properties":{"filePath":{"type":"string","description":"An absolute path to the notebook file with the cell to run, or the URI of a untitled, not yet named, file, such as `untitled:Untitled-1.ipynb"}},"required":["filePath"]}},{"name":"copilot_readNotebookCellOutput","displayName":"获取笔记本单元格输出","toolReferenceName":"readNotebookCellOutput","legacyToolReferenceFullNames":["runNotebooks/readNotebookCellOutput"],"icon":"$(notebook-render-output)","modelDescription":"This tool will retrieve the output for a notebook cell from its most recent execution or restored from disk. The cell may have output even when it has not been run in the current kernel session. This tool has a higher token limit for output length than the runNotebookCell tool.","userDescription":"读取以前执行的单元格的输出","tags":[],"inputSchema":{"type":"object","properties":{"filePath":{"type":"string","description":"An absolute path to the notebook file with the cell to run, or the URI of a untitled, not yet named, file, such as `untitled:Untitled-1.ipynb"},"cellId":{"type":"string","description":"The ID of the cell for which output should be retrieved."}},"required":["filePath","cellId"]}},{"name":"copilot_fetchWebPage","displayName":"提取网页","toolReferenceName":"fetch","legacyToolReferenceFullNames":["fetch"],"when":"!isWeb","icon":"$(globe)","userDescription":"从网页中提取主要内容。应包括要提取页面的 URL。","modelDescription":"Fetches the main content from a web page. This tool is useful for summarizing or analyzing the content of a webpage. You should use this tool when you think the user is looking for information from a specific webpage.","tags":[],"inputSchema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"description":"An array of URLs to fetch content from."},"query":{"type":"string","description":"The query to search for in the web page's content. This should be a clear and concise description of the content you want to find."}},"required":["urls","query"]}},{"name":"copilot_findTestFiles","displayName":"查找测试文件","icon":"$(beaker)","canBeReferencedInPrompt":false,"toolReferenceName":"findTestFiles","userDescription":"对于源代码文件，请查找包含测试的文件。对于测试文件，请查找包含正在测试的代码的文件","modelDescription":"For a source code file, find the file that contains the tests. For a test file find the file that contains the code under test.","tags":[],"inputSchema":{"type":"object","properties":{"filePaths":{"type":"array","items":{"type":"string"}}},"required":["filePaths"]}},{"name":"copilot_githubRepo","toolReferenceName":"githubRepo","legacyToolReferenceFullNames":["githubRepo"],"displayName":"语义搜索 GitHub 存储库","modelDescription":"Searches a GitHub repository for relevant source code snippets. Only use this tool if the user is very clearly asking for code snippets from a specific GitHub repository. Do not use this tool for Github repos that the user has open in their workspace.","userDescription":"对 GitHub 存储库进行语义搜索，以查找相关的源代码片段。可以使用 `owner/repo` 指定存储库","icon":"$(repo)","when":"!config.github.copilot.chat.githubMcpServer.enabled","inputSchema":{"type":"object","properties":{"repo":{"type":"string","description":"The name of the Github repository to search for code in. Should must be formatted as '<owner>/<repo>'."},"query":{"type":"string","description":"The query to search for repo. Should contain all relevant context."}},"required":["repo","query"]}},{"name":"copilot_githubTextSearch","legacyToolReferenceFullNames":["githubTextSearch"],"toolReferenceName":"githubTextSearch","displayName":"GitHub 文本搜索","modelDescription":"Lexically searches a GitHub repository or organization for files containing specific keywords or code patterns. Use this when looking for exact strings, function names, or identifiers in a GitHub repo or org. Unlike the semantic search tool, this uses keyword matching rather than meaning-based search.","userDescription":"对 GitHub 存储库或组织进行文本搜索，以查找包含特定关键字或代码模式的文件。","icon":"$(search)","inputSchema":{"type":"object","properties":{"scope":{"type":"string","description":"The GitHub scope to search. Use 'owner/repo' to search a single repository, or an org name (no slash) to search across an entire organization."},"query":{"type":"string","description":"The keyword search query. Supports GitHub code search syntax such as 'language:typescript', 'extension:ts', 'path:src/', etc."},"maxResults":{"type":"number","description":"Optional. The maximum number of search results to return. Defaults to 100."}},"required":["scope","query"]}},{"name":"copilot_switchAgent","toolReferenceName":"switchAgent","displayName":"切换智能体","userDescription":"切换到其他智能体模式。目前仅支持计划智能体。","modelDescription":"Switch to the Plan agent to align on approach before implementing. Plan will explore the codebase, gathers context, clarifies requirements with the user, and creates an actionable implementation plan.\n\nSWITCH TO PLAN when ANY of these apply:\n1. Adding new functionality - where should it go? What patterns to follow?\n2. Multiple valid approaches exist - choosing between technologies, patterns, or strategies\n3. Modifying existing behavior - unclear what should change or what side effects exist\n4. Architectural decisions required - choosing between design patterns or integration approaches\n5. Changes span multiple files - refactoring, migrations, or cross-cutting concerns\n6. Requirements are underspecified - need to explore before understanding scope\n\nEXAMPLES:\n✓ Switch to Plan:\n- \"Add authentication to the app\" → architectural decisions needed (session vs JWT, middleware)\n- \"Refactor this data flow\" → must understand component dependencies first\n- \"Migrate from X to Y\" → requires understanding current structure\n\n✗ Do NOT switch to Plan:\n- User attached a detailed spec, plan, or requirements doc → context already provided\n- You already started editing files in this conversation → too late to switch\n- Single obvious change like fixing a typo or renaming → just do it\n- User gave explicit step-by-step instructions → follow them directly","when":"config.github.copilot.chat.switchAgent.enabled","icon":"$(arrow-swap)","inputSchema":{"type":"object","properties":{"agentName":{"type":"string","description":"The name of the agent to switch to. Currently only 'Plan' is supported.","enum":["Plan"]}},"required":["agentName"]}},{"name":"copilot_memory","displayName":"Memory","toolReferenceName":"memory","userDescription":"Manage persistent memory across conversations","modelDescription":"Manage a persistent memory system with three scopes for storing notes and information across conversations.\n\nMemory is organized under /memories/ with three tiers:\n- `/memories/` — User memory: persistent notes that survive across all workspaces and conversations. Store preferences, patterns, and general insights here.\n- `/memories/session/` — Session memory: notes scoped to the current conversation. Store task-specific context and in-progress notes here. Cleared after the conversation ends.\n- `/memories/repo/` — Repository memory: repository-scoped notes stored locally in the workspace. Store codebase conventions, build commands, project structure facts, and verified practices here.\n\nIMPORTANT: Before creating new memory files, first view the /memories/ directory to understand what already exists. This helps avoid duplicates and maintain organized notes.\n\nCommands:\n- `view`: View contents of a file or list directory contents. Can be used on files or directories (e.g., \"/memories/\" to see all top-level items).\n- `create`: Create a new file at the specified path with the given content. Fails if the file already exists.\n- `str_replace`: Replace an exact string in a file with a new string. The old_str must appear exactly once in the file.\n- `insert`: Insert text at a specific line number in a file. Line 0 inserts at the beginning.\n- `delete`: Delete a file or directory (and all its contents).\n- `rename`: Rename or move a file or directory from path to new_path. Cannot rename across scopes.","inputSchema":{"type":"object","properties":{"command":{"type":"string","enum":["view","create","str_replace","insert","delete","rename"],"description":"The operation to perform on the memory file system."},"path":{"type":"string","description":"The absolute path to the file or directory inside /memories/, e.g. \"/memories/notes.md\". Used by all commands except `rename`."},"file_text":{"type":"string","description":"Required for `create`. The content of the file to create."},"old_str":{"type":"string","description":"Required for `str_replace`. The exact string in the file to replace. Must appear exactly once."},"new_str":{"type":"string","description":"Required for `str_replace`. The new string to replace old_str with."},"insert_line":{"type":"number","description":"Required for `insert`. The 0-based line number to insert text at. 0 inserts before the first line."},"insert_text":{"type":"string","description":"Required for `insert`. The text to insert at the specified line."},"view_range":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2,"description":"Optional for `view`. A two-element array [start_line, end_line] (1-indexed) to view a specific range of lines."},"old_path":{"type":"string","description":"Required for `rename`. The current path of the file or directory to rename."},"new_path":{"type":"string","description":"Required for `rename`. The new path for the file or directory."}},"required":["command"]}},{"name":"copilot_resolveMemoryFileUri","displayName":"Resolve Memory File URI","toolReferenceName":"resolveMemoryFileUri","userDescription":"Resolve a memory file path to its actual URI","modelDescription":"Resolve a memory file path (like /memories/session/plan.md or /memories/repo/notes.md) to its fully qualified URI. Use this when you need the actual URI for a memory file, for example to pass it to setArtifacts. The path must start with /memories/.","tags":[],"inputSchema":{"type":"object","properties":{"path":{"type":"string","description":"The memory file path to resolve (e.g. /memories/session/plan.md)."}},"required":["path"]}},{"name":"copilot_editFiles","modelDescription":"This is a placeholder tool, do not use","userDescription":"Edit files","icon":"$(pencil)","displayName":"Edit Files","toolReferenceName":"editFiles","legacyToolReferenceFullNames":["editFiles"]},{"name":"copilot_sessionStoreSql","displayName":"Session Store SQL","toolReferenceName":"sessionStoreSql","when":"github.copilot.sessionSearch.enabled","userDescription":"Query your Copilot session history using SQL","modelDescription":"Query the local session store containing history from past coding sessions. Uses SQLite syntax (NOT DuckDB or Postgres). SQL queries are read-only — only SELECT and WITH are allowed. Use `datetime('now', '-1 day')` for date math (NOT `now() - INTERVAL '1 day'`), FTS5 `MATCH` for text search.\n\nTables: `sessions`, `turns`, `session_files`, `session_refs`, `checkpoints`, `search_index`. For column details and query patterns, use the **chronicle** skill.\n\nActions: 'query' (execute SQL — supports JOINs, FTS5 MATCH, aggregations), 'reindex' (rebuild index from debug logs).","tags":[],"canBeReferencedInPrompt":false,"inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["query","reindex"],"description":"The action to perform. 'query' (default) executes a SQL query. 'reindex' rebuilds the local session index and syncs to cloud if enabled."},"query":{"type":"string","description":"A single read-only SQL query to execute. Required when action is 'query'. Supports SELECT, WITH, JOINs, aggregations, and FTS5 MATCH. Only one statement per call — do not combine multiple queries with semicolons."},"force":{"type":"boolean","description":"When true with action 'reindex', re-processes all sessions including already-indexed ones. Default false (skips already-indexed sessions)."},"description":{"type":"string","description":"A 2-5 word summary of what this call does (e.g. 'Recent sessions overview', 'Generate standup', 'Reindex sessions')."},"subcommand":{"type":"string","enum":["standup","tips","cost-tips","search","improve","reindex"],"description":"The chronicle subcommand that triggered this call (e.g. 'tips' for /chronicle tips). Used for telemetry attribution only — pass this whenever the call originates from a /chronicle slash command."}},"required":["description"]}}],"languageModelToolSets":[{"name":"edit","description":"编辑工作区中的文件","icon":"$(pencil)","tools":["createDirectory","createFile","createJupyterNotebook","editFiles","editNotebook","rename"]},{"name":"execute","description":"","tools":["runNotebookCell","executionSubagent"]},{"name":"read","description":"读取工作区中的文件","icon":"$(eye)","tools":["getNotebookSummary","problems","readFile","viewImage","readNotebookCellOutput","skill"]},{"name":"search","description":"搜索工作区中的文件","icon":"$(search)","tools":["changes","codebase","fileSearch","listDirectory","textSearch","searchSubagent","usages"]},{"name":"vscode","description":"","tools":["installExtension","memory","newWorkspace","resolveMemoryFileUri","runCommand","switchAgent","toolSearch","vscodeAPI"]},{"name":"web","description":"从 Web 提取信息","icon":"$(globe)","tools":["fetch","githubRepo","githubTextSearch"]}],"chatParticipants":[{"id":"github.copilot.default","name":"GitHubCopilot","fullName":"GitHub Copilot","description":"在上下文中询问或编辑","isDefault":true,"locations":["panel"],"modes":["ask"],"disambiguation":[{"category":"generate_code_sample","description":"The user wants to generate code snippets without referencing the contents of the current workspace. This category does not include generating entire projects.","examples":["Write an example of computing a SHA256 hash."]},{"category":"add_feature_to_file","description":"The user wants to change code in a file that is provided in their request, without referencing the contents of the current workspace. This category does not include generating entire projects.","examples":["Add a refresh button to the table widget."]},{"category":"question_about_specific_files","description":"The user has a question about a specific file or code snippet that they have provided as part of their query, and the question does not require additional workspace context to answer.","examples":["What does this file do?"]}],"commands":[{"name":"explain","description":"说明活动编辑器中代码的工作原理"},{"name":"review","description":"在活动编辑器中查看所选代码","when":"github.copilot.advanced.review.intent"},{"name":"tests","description":"为所选代码生成单元测试","disambiguation":[{"category":"create_tests","description":"The user wants to generate unit tests.","examples":["Generate tests for my selection using pytest."]}]},{"name":"fix","description":"对所选代码中的问题提出修复建议","sampleRequest":"此代码中存在问题。重写代码以在修复 bug 时显示它。"},{"name":"new","description":"工作区中的新文件或项目的基架代码","sampleRequest":"使用 typescript 创建 RESTful API 服务器","isSticky":true,"disambiguation":[{"category":"create_new_workspace_or_extension","description":"The user wants to create a complete Visual Studio Code workspace from scratch, such as a new application or a Visual Studio Code extension. Use this category only if the question relates to generating or creating new workspaces in Visual Studio Code. Do not use this category for updating existing code or generating sample code snippets","examples":["Scaffold a Node server.","Create a sample project which uses the fileSystemProvider API.","react application"]}]},{"name":"newNotebook","description":"创建新 Jupyter Notebook","sampleRequest":"如何创建笔记本以从 csv 文件加载数据?","disambiguation":[{"category":"create_jupyter_notebook","description":"The user wants to create a new Jupyter notebook in Visual Studio Code.","examples":["Create a notebook to analyze this CSV file."]}]},{"name":"semanticSearch","description":"查找你的查询的相关代码","sampleRequest":"工具栏代码在哪里?","when":"config.github.copilot.semanticSearch.enabled"},{"name":"setupTests","description":"在项目中设置测试(实验性)","sampleRequest":"将 playwright 测试添加到我的项目","when":"config.github.copilot.chat.setupTests.enabled","disambiguation":[{"category":"set_up_tests","description":"The user wants to configure project test setup, framework, or test runner. The user does not want to fix their existing tests.","examples":["Set up tests for this project."]}]}]},{"id":"github.copilot.editingSession","name":"GitHubCopilot","fullName":"GitHub Copilot","description":"编辑工作区中的文件","isDefault":true,"locations":["panel"],"modes":["edit"]},{"id":"github.copilot.editingSessionEditor","name":"GitHubCopilot","fullName":"GitHub Copilot","description":"编辑工作区中的文件","isDefault":true,"locations":["editor"],"commands":[]},{"id":"github.copilot.editsAgent","name":"agent","fullName":"GitHub Copilot","description":"在智能体模式下编辑工作区中的文件","locations":["panel"],"modes":["agent"],"isEngine":true,"isDefault":true,"isAgent":true,"when":"config.chat.agent.enabled","commands":[{"name":"error","description":"Make a model request which will result in an error","when":"github.copilot.chat.debug"},{"name":"compact","description":"通过压缩对话历史记录释放上下文。(可选)包含有关压缩的额外说明。"},{"name":"explain","description":"说明活动编辑器中代码的工作原理"},{"name":"review","description":"在活动编辑器中查看所选代码","when":"github.copilot.advanced.review.intent"},{"name":"tests","description":"为所选代码生成单元测试","disambiguation":[{"category":"create_tests","description":"The user wants to generate unit tests.","examples":["Generate tests for my selection using pytest."]}]},{"name":"fix","description":"对所选代码中的问题提出修复建议","sampleRequest":"此代码中存在问题。重写代码以在修复 bug 时显示它。"},{"name":"new","description":"工作区中的新文件或项目的基架代码","sampleRequest":"使用 typescript 创建 RESTful API 服务器","isSticky":true,"disambiguation":[{"category":"create_new_workspace_or_extension","description":"The user wants to create a complete Visual Studio Code workspace from scratch, such as a new application or a Visual Studio Code extension. Use this category only if the question relates to generating or creating new workspaces in Visual Studio Code. Do not use this category for updating existing code or generating sample code snippets","examples":["Scaffold a Node server.","Create a sample project which uses the fileSystemProvider API.","react application"]}]},{"name":"newNotebook","description":"创建新 Jupyter Notebook","sampleRequest":"如何创建笔记本以从 csv 文件加载数据?","disambiguation":[{"category":"create_jupyter_notebook","description":"The user wants to create a new Jupyter notebook in Visual Studio Code.","examples":["Create a notebook to analyze this CSV file."]}]},{"name":"semanticSearch","description":"查找你的查询的相关代码","sampleRequest":"工具栏代码在哪里?","when":"config.github.copilot.semanticSearch.enabled"},{"name":"setupTests","description":"在项目中设置测试(实验性)","sampleRequest":"将 playwright 测试添加到我的项目","when":"config.github.copilot.chat.setupTests.enabled","disambiguation":[{"category":"set_up_tests","description":"The user wants to configure project test setup, framework, or test runner. The user does not want to fix their existing tests.","examples":["Set up tests for this project."]}]}]},{"id":"github.copilot.notebook","name":"GitHubCopilot","fullName":"GitHub Copilot","description":"在上下文中询问或编辑","isDefault":true,"locations":["notebook"],"when":"!config.inlineChat.notebookAgent","commands":[{"name":"fix","description":"对所选代码中的问题提出修复建议"},{"name":"explain","description":"说明活动编辑器中代码的工作原理"}]},{"id":"github.copilot.notebookEditorAgent","name":"GitHubCopilot","fullName":"GitHub Copilot","description":"在上下文中询问或编辑","isDefault":true,"locations":["notebook"],"when":"config.inlineChat.notebookAgent","commands":[{"name":"fix","description":"对所选代码中的问题提出修复建议"},{"name":"explain","description":"说明活动编辑器中代码的工作原理"}]},{"id":"github.copilot.vscode","name":"vscode","fullName":"VS Code","description":"询问有关 VS Code 的问题","when":"!github.copilot.interactiveSession.disabled","sampleRequest":"打开集成终端的命令是什么?","locations":["panel"],"disambiguation":[{"category":"vscode_configuration_questions","description":"The user wants to learn about, use, or configure the Visual Studio Code. Use this category if the users question is specifically about commands, settings, keybindings, extensions and other features available in Visual Studio Code. Do not use this category to answer questions about generating code or creating new projects including Visual Studio Code extensions.","examples":["Switch to light mode.","Keyboard shortcut to toggle terminal visibility.","Settings to enable minimap.","Whats new in the latest release?"]},{"category":"configure_python_environment","description":"The user wants to set up their Python environment.","examples":["Create a virtual environment for my project."]}],"commands":[{"name":"search","description":"为工作区搜索生成查询参数","sampleRequest":"在我的“src”目录下的所有文件中搜索“foo”"}]},{"id":"github.copilot.terminal","name":"terminal","fullName":"Terminal","description":"询问有关命令的问题","when":"!github.copilot.interactiveSession.disabled","sampleRequest":"如何查看目录(包括子目录)中的所有文件?","isDefault":true,"locations":["terminal"],"commands":[{"name":"explain","description":"解释终端中的内容","sampleRequest":"解释最后一个命令"}]},{"id":"github.copilot.terminalPanel","name":"terminal","fullName":"Terminal","description":"询问如何在终端中执行某项操作","when":"!github.copilot.interactiveSession.disabled","sampleRequest":"如何查看目录(包括子目录)中的所有文件?","locations":["panel"],"commands":[{"name":"explain","description":"解释终端中的内容","sampleRequest":"解释最后一个命令","disambiguation":[{"category":"terminal_state_questions","description":"The user wants to learn about specific state such as the selection, command, or failed command in the integrated terminal in Visual Studio Code.","examples":["Why did the latest terminal command fail?"]}]}]}],"languageModelChatProviders":[{"vendor":"copilot","displayName":"Copilot"},{"vendor":"copilotcli","displayName":"Copilot CLI","when":"false"},{"vendor":"claude-code","displayName":"Claude Code","when":"false"},{"vendor":"anthropic","displayName":"Anthropic","configuration":{"type":"object","properties":{"apiKey":{"type":"string","secret":true,"description":"API key for Anthropic","title":"API Key"}},"required":["apiKey"]}},{"vendor":"xai","displayName":"xAI","configuration":{"type":"object","properties":{"apiKey":{"type":"string","secret":true,"description":"API key for xAI","title":"API Key"}},"required":["apiKey"]}},{"vendor":"gemini","displayName":"Google","configuration":{"type":"object","properties":{"apiKey":{"type":"string","secret":true,"description":"API key for Google Gemini","title":"API Key"}},"required":["apiKey"]}},{"vendor":"openrouter","displayName":"OpenRouter","configuration":{"type":"object","properties":{"apiKey":{"type":"string","secret":true,"description":"API key for OpenRouter","title":"API Key"}},"required":["apiKey"]}},{"vendor":"openai","displayName":"OpenAI","configuration":{"type":"object","properties":{"apiKey":{"type":"string","secret":true,"description":"API key for OpenAI","title":"API Key"}},"required":["apiKey"]}},{"vendor":"ollama","displayName":"Ollama","configuration":{"type":"object","properties":{"url":{"type":"string","description":"The endpoint URL for the Ollama server","default":"http://localhost:11434","title":"URL"}},"required":["url"]}},{"vendor":"customoai","when":"productQualityType != 'stable'","displayName":"OpenAI Compatible (Deprecated)","configuration":{"type":"object","properties":{"apiKey":{"type":"string","secret":true,"description":"API key for the models","title":"API Key","markdownDeprecationMessage":"**Deprecated.** Use the `customendpoint` provider (\"Custom Endpoint\") instead. It supports the Chat Completions API, the Responses API, and the Messages API — selectable per model via the `apiType` property."},"models":{"type":"array","markdownDeprecationMessage":"**Deprecated.** Use the `customendpoint` provider (\"Custom Endpoint\") instead. It supports the Chat Completions API, the Responses API, and the Messages API — selectable per model via the `apiType` property.","defaultSnippets":[{"label":"New Model","description":"Add a new custom model configuration","body":[{"id":"$1","name":"$2","url":"$3","toolCalling":"^${4|true,false|}","vision":"^${5|true,false|}","maxInputTokens":"^${6:128000}","maxOutputTokens":"^${7:16000}"}]}],"items":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the model"},"name":{"type":"string","description":"Display name of the custom OpenAI model"},"url":{"type":"string","markdownDescription":"URL endpoint for the custom OpenAI-compatible model.\n\n**Important:** Base URLs default to Chat Completions API. Explicit API paths including `/responses` or `/chat/completions` are respected."},"toolCalling":{"type":"boolean","description":"Whether the model supports tool calling"},"vision":{"type":"boolean","description":"Whether the model supports vision capabilities"},"maxInputTokens":{"type":"number","description":"Maximum number of input tokens supported by the model"},"maxOutputTokens":{"type":"number","description":"Maximum number of output tokens supported by the model"},"editTools":{"type":"array","description":"List of edit tools supported by the model. If this is not configured, the editor will try multiple edit tools and pick the best one.\n\n- 'find-replace': Find and replace text in a document.\n- 'multi-find-replace': Find and replace text in a document.\n- 'apply-patch': A file-oriented diff format used by some OpenAI models\n- 'code-rewrite': A general but slower editing tool that allows the model to rewrite and code snippet and provide only the replacement to the editor.","items":{"type":"string","enum":["find-replace","multi-find-replace","apply-patch","code-rewrite"]}},"thinking":{"type":"boolean","default":false,"description":"Whether the model supports thinking capabilities"},"streaming":{"type":"boolean","default":true,"description":"Whether the model supports streaming responses. Defaults to true."},"zeroDataRetentionEnabled":{"type":"boolean","default":false,"markdownDescription":"Whether Zero Data Retention (ZDR) is enabled for this endpoint. When `true`, `previous_response_id` will not be sent in requests via Responses API."},"supportsReasoningEffort":{"type":"array","markdownDescription":"Reasoning effort levels the model accepts (e.g. `[\"low\", \"medium\", \"high\"]`). When set, a `Thinking Effort` picker is shown in the model picker and the chosen value is forwarded to the model. Levels supported by mainstream OpenAI-compatible servers are `minimal`, `low`, `medium`, `high`.","items":{"type":"string"}},"reasoningEffortFormat":{"type":"string","enum":["chat-completions","responses"],"markdownDescription":"Body shape used to forward the reasoning effort to the model. `chat-completions` sends a top-level `reasoning_effort` string. `responses` sends a nested `reasoning.effort` object. When unset the format follows the URL: `/responses` → nested, otherwise top-level."},"requestHeaders":{"type":"object","description":"Additional HTTP headers to include with requests to this model. These reserved headers are not allowed and ignored if present: forbidden request headers (https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_request_header), forwarding headers ('forwarded', 'x-forwarded-for', 'x-forwarded-host', 'x-forwarded-proto'), and others ('api-key', 'authorization', 'content-type', 'openai-intent', 'x-github-api-version', 'x-initiator', 'x-interaction-id', 'x-interaction-type', 'x-onbehalf-extension-id', 'x-request-id', 'x-vscode-user-agent-library-version'). Pattern-based forbidden headers ('proxy-*', 'sec-*', 'x-http-method*' with forbidden methods) are also blocked.","additionalProperties":{"type":"string"}}},"required":["id","name","url","toolCalling","vision","maxInputTokens","maxOutputTokens"]}}}}},{"vendor":"customendpoint","displayName":"Custom Endpoint","configuration":{"type":"object","properties":{"apiKey":{"type":"string","secret":true,"minLength":1,"description":"API key for the models","title":"API Key"},"apiType":{"type":"string","enum":["chat-completions","responses","messages"],"enumItemLabels":["Chat Completions","Responses","Messages"],"enumDescriptions":["Chat Completions API","Responses API","Messages API"],"default":"chat-completions","title":"API Type","markdownDescription":"Default request/response format for models in this group. Individual models can override this with their own `apiType` property; when both are unset the type is inferred from the URL path."},"models":{"type":"array","defaultSnippets":[{"label":"New Model","description":"Add a new custom model configuration","body":[{"id":"$1","name":"$2","url":"$3","toolCalling":"^${4|true,false|}","vision":"^${5|true,false|}","maxInputTokens":"^${6:128000}","maxOutputTokens":"^${7:16000}"}]}],"items":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the model"},"name":{"type":"string","description":"Display name of the model"},"url":{"type":"string","pattern":"^https?://.+","patternErrorMessage":"URL must start with http:// or https://","markdownDescription":"URL endpoint for the model.\n\n**Important:** Base URLs default to Chat Completions API. Explicit API paths are respected: `/chat/completions`, `/responses`, and `/v1/messages` (Anthropic-compatible). Use the `apiType` property to override the request/response format independently of the URL."},"apiType":{"type":"string","enum":["chat-completions","responses","messages"],"enumItemLabels":["Chat Completions","Responses","Messages"],"enumDescriptions":["Chat Completions API","Responses API","Messages API"],"title":"API Type","markdownDescription":"Request/response format used to talk to this endpoint:\n- `chat-completions`: Chat Completions API (default).\n- `responses`: Responses API.\n- `messages`: Messages API.\n\nWhen omitted, falls back to the group-level `apiType`, then to the URL path."},"toolCalling":{"type":"boolean","description":"Whether the model supports tool calling"},"vision":{"type":"boolean","description":"Whether the model supports vision capabilities"},"maxInputTokens":{"type":"number","description":"Maximum number of input tokens supported by the model"},"maxOutputTokens":{"type":"number","description":"Maximum number of output tokens supported by the model"},"editTools":{"type":"array","description":"List of edit tools supported by the model. If this is not configured, the editor will try multiple edit tools and pick the best one.\n\n- 'find-replace': Find and replace text in a document.\n- 'multi-find-replace': Find and replace text in a document.\n- 'apply-patch': A file-oriented diff format used by some OpenAI models\n- 'code-rewrite': A general but slower editing tool that allows the model to rewrite and code snippet and provide only the replacement to the editor.","items":{"type":"string","enum":["find-replace","multi-find-replace","apply-patch","code-rewrite"]}},"thinking":{"type":"boolean","default":false,"description":"Whether the model supports thinking capabilities"},"streaming":{"type":"boolean","default":true,"description":"Whether the model supports streaming responses. Defaults to true."},"zeroDataRetentionEnabled":{"type":"boolean","default":false,"markdownDescription":"Whether Zero Data Retention (ZDR) is enabled for this endpoint. When `true`, `previous_response_id` will not be sent in requests via Responses API."},"supportsReasoningEffort":{"type":"array","markdownDescription":"Reasoning effort levels the model accepts (e.g. `[\"low\", \"medium\", \"high\"]`). When set, a `Thinking Effort` picker is shown in the model picker and the chosen value is forwarded to the model. Levels supported by mainstream OpenAI-compatible servers are `minimal`, `low`, `medium`, `high`.","items":{"type":"string"}},"reasoningEffortFormat":{"type":"string","enum":["chat-completions","responses"],"markdownDescription":"Body shape used to forward the reasoning effort to the model. `chat-completions` sends a top-level `reasoning_effort` string. `responses` sends a nested `reasoning.effort` object. When unset the format follows the URL: `/responses` → nested, otherwise top-level."},"requestHeaders":{"type":"object","description":"Additional HTTP headers to include with requests to this model. These reserved headers are not allowed and ignored if present: forbidden request headers (https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_request_header), forwarding headers ('forwarded', 'x-forwarded-for', 'x-forwarded-host', 'x-forwarded-proto'), and others ('api-key', 'authorization', 'content-type', 'openai-intent', 'x-github-api-version', 'x-initiator', 'x-interaction-id', 'x-interaction-type', 'x-onbehalf-extension-id', 'x-request-id', 'x-vscode-user-agent-library-version'). Pattern-based forbidden headers ('proxy-*', 'sec-*', 'x-http-method*' with forbidden methods) are also blocked.","additionalProperties":{"type":"string"}}},"required":["id","name","url","toolCalling","vision","maxInputTokens","maxOutputTokens"]}}}}},{"vendor":"azure","displayName":"Azure","configuration":{"type":"object","properties":{"apiKey":{"type":"string","secret":true,"description":"API key for the models. If not set then Entra ID (Azure AD) authentication with your Microsoft account credentials will be used.","title":"API Key"},"models":{"type":"array","defaultSnippets":[{"label":"New Model","description":"Add a new custom model configuration","body":[{"id":"$1","name":"$2","url":"$3","toolCalling":"^${4|true,false|}","vision":"^${5|true,false|}","maxInputTokens":"^${6:128000}","maxOutputTokens":"^${7:16000}"}]}],"items":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the model"},"name":{"type":"string","description":"Display name of the custom OpenAI model"},"url":{"type":"string","markdownDescription":"URL endpoint for the custom OpenAI-compatible model.\n\n**Important:** Base URLs default to Chat Completions API. Explicit API paths including `/responses` or `/chat/completions` are respected."},"toolCalling":{"type":"boolean","description":"Whether the model supports tool calling"},"vision":{"type":"boolean","description":"Whether the model supports vision capabilities"},"maxInputTokens":{"type":"number","description":"Maximum number of input tokens supported by the model"},"maxOutputTokens":{"type":"number","description":"Maximum number of output tokens supported by the model"},"thinking":{"type":"boolean","default":false,"description":"Whether the model supports thinking capabilities"},"streaming":{"type":"boolean","default":true,"description":"Whether the model supports streaming responses. Defaults to true."},"zeroDataRetentionEnabled":{"type":"boolean","default":false,"markdownDescription":"Whether Zero Data Retention (ZDR) is enabled for this endpoint. When `true`, `previous_response_id` will not be sent in requests via Responses API."},"supportsReasoningEffort":{"type":"array","markdownDescription":"Reasoning effort levels the model accepts (e.g. `[\"low\", \"medium\", \"high\"]`). When set, a `Thinking Effort` picker is shown in the model picker and the chosen value is forwarded to the model. Levels supported by mainstream OpenAI-compatible servers are `minimal`, `low`, `medium`, `high`.","items":{"type":"string"}},"reasoningEffortFormat":{"type":"string","enum":["chat-completions","responses"],"markdownDescription":"Body shape used to forward the reasoning effort to the model. `chat-completions` sends a top-level `reasoning_effort` string. `responses` sends a nested `reasoning.effort` object. When unset the format follows the URL: `/responses` → nested, otherwise top-level."},"requestHeaders":{"type":"object","description":"Additional HTTP headers to include with requests to this model. These reserved headers are not allowed and ignored if present: forbidden request headers (https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_request_header), forwarding headers ('forwarded', 'x-forwarded-for', 'x-forwarded-host', 'x-forwarded-proto'), and others ('api-key', 'authorization', 'content-type', 'openai-intent', 'x-github-api-version', 'x-initiator', 'x-interaction-id', 'x-interaction-type', 'x-onbehalf-extension-id', 'x-request-id', 'x-vscode-user-agent-library-version'). Pattern-based forbidden headers ('proxy-*', 'sec-*', 'x-http-method*' with forbidden methods) are also blocked.","additionalProperties":{"type":"string"}}},"required":["id","name","url","toolCalling","vision","maxInputTokens","maxOutputTokens"]}}}}}],"interactiveSession":[{"label":"GitHub Copilot","id":"copilot","icon":"","when":"!github.copilot.interactiveSession.disabled"}],"mcpServerDefinitionProviders":[{"id":"github","label":"GitHub"}],"viewsWelcome":[{"view":"debug","when":"github.copilot-chat.activated","contents":"使用 [终端命令](command:github.copilot.chat.startCopilotDebugCommand) 或在 [交互式聊天](command:workbench.action.chat.open?%7B%22query%22%3A%22%40vscode%20%2FstartDebugging%20%22%2C%22isPartialQuery%22%3Atrue%7D) 中进行调试。"}],"chatViewsWelcome":[{"icon":"$(chat-sparkle)","title":"使用智能体构建","content":"你的 Copilot 订阅已过期。\n\n[查看 Copilot 设置](https://github.com/settings/copilot?editor=vscode)","when":"github.copilot.interactiveSession.individual.expired && !github.copilot.hasByokModels"},{"icon":"$(chat-sparkle)","title":"使用智能体构建","content":"请与 GitHub 组织管理员联系以启用 Copilot。","when":"github.copilot.interactiveSession.enterprise.disabled && !github.copilot.hasByokModels"},{"icon":"$(chat-sparkle)","title":"使用智能体构建","content":"无法访问 GitHub Copilot 服务器。请检查 Internet 连接，然后重试。\n\n[重试连接](command:github.copilot.refreshToken)\n\n另请参阅 [Copilot 日志](command:github.copilot.debug.showOutputChannel.internal)和[运行诊断](command:github.copilot.debug.collectDiagnostics.internal)。","when":"github.copilot.offline && !github.copilot.hasByokModels"},{"icon":"$(chat-sparkle)","title":"使用智能体构建","content":"你的 GitHub 令牌无效。请重新登录以刷新身份验证。\n\n[登录](command:workbench.action.chat.triggerSetupForceSignIn)\n\n另请参阅 [Copilot 日志](command:github.copilot.debug.showOutputChannel.internal)和[运行诊断](command:github.copilot.debug.collectDiagnostics.internal)。","when":"github.copilot.interactiveSession.invalidToken && !github.copilot.hasByokModels"},{"icon":"$(chat-sparkle)","title":"使用智能体构建","content":"你的帐户已超出 GitHub 的 API 速率限制。请稍等几分钟，然后重试。\n\n[重试](command:github.copilot.refreshToken)\n\n另请参阅 [Copilot 日志](command:github.copilot.debug.showOutputChannel.internal)和[运行诊断](command:github.copilot.debug.collectDiagnostics.internal)。","when":"github.copilot.interactiveSession.rateLimited && !github.copilot.hasByokModels"},{"icon":"$(chat-sparkle)","title":"使用智能体构建","content":"GitHub 登录失败。请登录 GitHub 帐户以使用 Copilot。\n\n[登录](command:workbench.action.chat.triggerSetupForceSignIn)\n\n另请参阅 [Copilot 日志](command:github.copilot.debug.showOutputChannel.internal)和[运行诊断](command:github.copilot.debug.collectDiagnostics.internal)。","when":"github.copilot.interactiveSession.gitHubLoginFailed && !github.copilot.hasByokModels"},{"icon":"$(chat-sparkle)","title":"使用智能体构建","content":"你的帐户似乎存在问题。请联系 GitHub 支持人员。\n\n[联系支持人员](https://support.github.com/?editor=vscode)","when":"github.copilot.interactiveSession.contactSupport && !github.copilot.hasByokModels"},{"icon":"$(chat-sparkle)","title":"使用智能体构建","content":"组织管理员当前已为你的帐户禁用 GitHub Copilot 聊天。请与组织管理员联系以启用聊天。\n\n[了解详细信息](https://docs.github.com/en/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-github-copilot-features-in-your-organization/managing-policies-for-copilot-in-your-organization)","when":"github.copilot.interactiveSession.chatDisabled && !github.copilot.hasByokModels"},{"icon":"$(chat-sparkle)","title":"使用智能体构建","content":"稳定版本的 VS Code 当前不支持 GitHub Copilot Chat 扩展的预发行版本。请切换到 GitHub Copilot Chat 的发行版本，或尝试 VS Code Insiders。\n\n[切换到发行版本并重新加载](command:runCommands?%7B%22commands%22%3A%5B%7B%22command%22%3A%22workbench.extensions.action.switchToRelease%22%2C%22args%22%3A%5B%22GitHub.copilot-chat%22%5D%7D%2C%22workbench.action.reloadWindow%22%5D%7D)\n\n[切换到 VS Code Insiders](https://aka.ms/vscode-insiders)","when":"github.copilot.interactiveSession.switchToReleaseChannel"}],"commands":[{"command":"github.copilot.chat.triggerPermissiveSignIn","title":{"value":"使用完整权限登录到 GitHub","original":"Login to GitHub with Full Permissions"}},{"command":"copilot.claude.agents","title":"Manage Agents","category":"Claude Agent"},{"command":"copilot.claude.hooks","title":"Configure Hooks","category":"Claude Agent"},{"command":"copilot.claude.memory","title":"Open Memory Files","category":"Claude Agent"},{"command":"github.copilot.cli.sessions.delete","title":{"value":"删除...","original":"Delete..."},"icon":"$(close)","category":"Copilot CLI"},{"command":"agents.github.copilot.cli.deleteSessions","title":{"value":"删除...","original":"Delete..."},"category":"Copilot CLI"},{"command":"github.copilot.cli.sessions.resumeInTerminal","title":{"value":"在终端中继续","original":"Resume in Terminal"},"icon":"$(terminal)","category":"Copilot CLI"},{"command":"github.copilot.cli.sessions.rename","title":{"value":"重命名...","original":"Rename..."},"icon":"$(edit)","category":"Copilot CLI"},{"command":"github.copilot.cli.sessions.setTitle","title":{"value":"设置标题","original":"Set Title"},"category":"Copilot CLI"},{"command":"github.copilot.claude.sessions.rename","title":{"value":"重命名...","original":"Rename..."},"icon":"$(edit)","category":"Claude"},{"command":"github.copilot.cli.sessions.openRepository","title":{"value":"打开仓库","original":"Open Repository"},"icon":"$(folder-opened)","category":"Copilot CLI"},{"command":"github.copilot.cli.sessions.openWorktreeInNewWindow","title":{"value":"在新建窗口中打开会话","original":"Open Session in New Window"},"icon":"$(folder-opened)","category":"Copilot CLI"},{"command":"github.copilot.cli.sessions.openWorktreeInTerminal","title":{"value":"在终端中打开会话","original":"Open Session in Terminal"},"icon":"$(terminal)","category":"Copilot CLI"},{"command":"github.copilot.cli.sessions.copyWorktreeBranchName","title":{"value":"复制会话分支名称","original":"Copy Session Branch Name"},"icon":"$(copy)","category":"Copilot CLI"},{"command":"github.copilot.cli.sessions.commitToWorktree","title":{"value":"将文件提交到工作树","original":"Commit File to Worktree"},"icon":"$(git-commit)","category":"Copilot CLI"},{"command":"github.copilot.cli.sessions.commitToRepository","title":{"value":"将文件提交到存储库","original":"Commit File to Repository"},"icon":"$(git-commit)","category":"Copilot CLI"},{"command":"github.copilot.cli.newSession","title":{"value":"新建 Copilot CLI 会话","original":"New Copilot CLI Session"},"icon":"$(terminal)","category":"Chat"},{"command":"github.copilot.cli.newSessionToSide","title":{"value":"新建侧边 Copilot CLI 会话","original":"New Copilot CLI Session to the Side"},"icon":"$(terminal)","category":"Chat"},{"command":"github.copilot.cli.openInCopilotCLI","title":{"value":"在 GitHub Copilot CLI 中打开","original":"Open in GitHub Copilot CLI"},"icon":"$(terminal)","category":"Copilot CLI"},{"command":"github.copilot.chat.compact","title":{"value":"压缩对话","original":"Compact Conversation"}},{"command":"github.copilot.chat.explain","title":{"value":"说明","original":"Explain"},"enablement":"!github.copilot.interactiveSession.disabled","category":"Chat"},{"command":"github.copilot.chat.explain.palette","title":{"value":"说明","original":"Explain"},"enablement":"!github.copilot.interactiveSession.disabled && !editorReadonly","category":"Chat"},{"command":"github.copilot.chat.review","title":{"value":"评审","original":"Review"},"enablement":"config.github.copilot.chat.reviewSelection.enabled && !github.copilot.interactiveSession.disabled","category":"Chat"},{"command":"github.copilot.chat.review.apply","title":{"value":"应用","original":"Apply"},"icon":"$(sparkle)","enablement":"commentThread =~ /hasSuggestion/","category":"Chat"},{"command":"github.copilot.chat.review.applyAndNext","title":{"value":"应用并转到下一步","original":"Apply and Go to Next"},"icon":"$(sparkle)","enablement":"commentThread =~ /hasSuggestion/","category":"Chat"},{"command":"github.copilot.chat.review.discard","title":{"value":"放弃","original":"Discard"},"icon":"$(close)","category":"Chat"},{"command":"github.copilot.chat.review.discardAndNext","title":{"value":"放弃并转到下一步","original":"Discard and Go to Next"},"icon":"$(close)","category":"Chat"},{"command":"github.copilot.chat.review.discardAll","title":{"value":"全部放弃","original":"Discard All"},"icon":"$(close-all)","category":"Chat"},{"command":"github.copilot.chat.review.stagedChanges","title":{"value":"代码评审 - 暂存的更改","original":"Code Review - Staged Changes"},"icon":"$(code-review)","enablement":"github.copilot.chat.reviewDiff.enabled && !github.copilot.interactiveSession.disabled","category":"Chat"},{"command":"github.copilot.chat.review.unstagedChanges","title":{"value":"代码评审 - 未暂存的更改","original":"Code Review - Unstaged Changes"},"icon":"$(code-review)","enablement":"github.copilot.chat.reviewDiff.enabled && !github.copilot.interactiveSession.disabled","category":"Chat"},{"command":"github.copilot.chat.review.changes","title":{"value":"代码评审 - 未提交的更改","original":"Code Review - Uncommitted Changes"},"icon":"$(code-review)","enablement":"github.copilot.chat.reviewDiff.enabled && !github.copilot.interactiveSession.disabled","category":"Chat"},{"command":"github.copilot.chat.review.stagedFileChange","title":{"value":"审阅更改","original":"Review Changes"},"icon":"$(code-review)","enablement":"github.copilot.chat.reviewDiff.enabled && !github.copilot.interactiveSession.disabled","category":"Chat"},{"command":"github.copilot.chat.review.unstagedFileChange","title":{"value":"审阅更改","original":"Review Changes"},"icon":"$(code-review)","enablement":"github.copilot.chat.reviewDiff.enabled && !github.copilot.interactiveSession.disabled","category":"Chat"},{"command":"github.copilot.chat.codeReview.run","title":{"value":"运行代码评审","original":"Run Code Review"},"enablement":"github.copilot.chat.reviewDiff.enabled && !github.copilot.interactiveSession.disabled","category":"Chat"},{"command":"github.copilot.chat.review.previous","title":{"value":"上一条建议","original":"Previous Suggestion"},"icon":"$(arrow-up)","category":"Chat"},{"command":"github.copilot.chat.review.next","title":{"value":"下一条建议","original":"Next Suggestion"},"icon":"$(arrow-down)","category":"Chat"},{"command":"github.copilot.chat.review.continueInInlineChat","title":{"value":"放弃并复制到内联聊天","original":"Discard and Copy to Inline Chat"},"icon":"$(comment-discussion)","category":"Chat"},{"command":"github.copilot.chat.review.continueInChat","title":{"value":"在聊天面板中查看","original":"View in Chat Panel"},"icon":"$(comment-discussion)","category":"Chat"},{"command":"github.copilot.chat.review.markHelpful","title":{"value":"有用","original":"Helpful"},"icon":"$(thumbsup)","enablement":"!(commentThread =~ /markedAsHelpful/)","category":"Chat"},{"command":"github.copilot.chat.openUserPreferences","title":{"value":"打开用户首选项","original":"Open User Preferences"},"category":"Chat","enablement":"config.github.copilot.chat.enableUserPreferences"},{"command":"github.copilot.chat.review.markUnhelpful","title":{"value":"无用","original":"Unhelpful"},"icon":"$(thumbsdown)","enablement":"!(commentThread =~ /markedAsUnhelpful/)","category":"Chat"},{"command":"github.copilot.chat.generate","title":{"value":"生成此","original":"Generate This"},"icon":"$(sparkle)","enablement":"!github.copilot.interactiveSession.disabled && !editorReadonly","category":"Chat"},{"command":"github.copilot.chat.fix","title":{"value":"修复","original":"Fix"},"enablement":"!github.copilot.interactiveSession.disabled && !editorReadonly","category":"Chat"},{"command":"github.copilot.interactiveSession.feedback","title":{"value":"发送聊天反馈","original":"Send Chat Feedback"},"enablement":"github.copilot-chat.activated && !github.copilot.interactiveSession.disabled","icon":"$(feedback)","category":"Chat"},{"command":"github.copilot.debug.workbenchState","title":{"value":"日志工作台状态","original":"Log Workbench State"},"category":"Developer"},{"command":"github.copilot.debug.togglePowerSaveBlocker","title":{"value":"切换节能阻止器","original":"Toggle Power Save Blocker"},"category":"Developer"},{"command":"github.copilot.debug.showChatLogView","title":{"value":"显示聊天调试视图","original":"Show Chat Debug View"},"category":"Developer"},{"command":"github.copilot.debug.showOutputChannel","title":{"value":"显示输出通道","original":"Show Output Channel"},"category":"Developer"},{"command":"github.copilot.debug.showContextInspectorView","title":{"value":"检查语言上下文","original":"Inspect Language Context"},"icon":"$(inspect)","category":"Developer"},{"command":"github.copilot.debug.validateNesRename","title":{"value":"验证 NES 重命名","original":"Validate NES Rename"},"category":"Developer"},{"command":"github.copilot.debug.resetVirtualToolGroups","title":{"value":"重置虚拟工具组","original":"Reset Virtual Tool Groups"},"icon":"$(inspect)","category":"Developer"},{"command":"github.copilot.debug.extensionState","title":{"value":"日志扩展状态","original":"Log Extension State"},"category":"Developer"},{"command":"github.copilot.chat.tools.memory.showMemories","title":{"value":"显示记忆文件","original":"Show Memory Files"},"category":"Chat"},{"command":"github.copilot.chat.tools.memory.clearMemories","title":{"value":"清除所有记忆文件","original":"Clear All Memory Files"},"category":"Chat"},{"command":"github.copilot.terminal.explainTerminalLastCommand","title":{"value":"解释最后一个终端命令","original":"Explain Last Terminal Command"},"category":"Chat"},{"command":"github.copilot.git.generateCommitMessage","title":{"value":"生成提交消息","original":"Generate Commit Message"},"icon":"$(sparkle)","enablement":"!github.copilot.interactiveSession.disabled","category":"Chat"},{"command":"github.copilot.git.resolveMergeConflicts","title":{"value":"使用 AI 解决冲突","original":"Resolve Conflicts with AI"},"icon":"$(chat-sparkle)","enablement":"!github.copilot.interactiveSession.disabled","category":"Chat"},{"command":"github.copilot.devcontainer.generateDevContainerConfig","title":{"value":"生成开发容器配置","original":"Generate Dev Container Configuration"},"category":"Chat"},{"command":"github.copilot.tests.fixTestFailure","icon":"$(sparkle)","title":{"value":"修复测试失败","original":"Fix Test Failure"},"category":"Chat"},{"command":"github.copilot.tests.fixTestFailure.fromInline","icon":"$(sparkle)","title":{"value":"修复测试失败","original":"Fix Test Failure"}},{"command":"github.copilot.chat.attachFile","title":{"value":"将文件添加到聊天","original":"Add File to Chat"},"category":"Chat"},{"command":"github.copilot.chat.attachSelection","title":{"value":"将所选内容添加到聊天","original":"Add Selection to Chat"},"icon":"$(comment-discussion)","category":"Chat"},{"command":"github.copilot.debug.collectDiagnostics","title":{"value":"聊天诊断","original":"Chat Diagnostics"},"category":"Developer"},{"command":"github.copilot.debug.inlineEdit.clearCache","title":{"value":"清除内联建议缓存","original":"Clear Inline Suggestion Cache"},"category":"Developer"},{"command":"github.copilot.debug.inlineEdit.reportNotebookNESIssue","title":{"value":"报告笔记本内联建议问题","original":"Report Notebook Inline Suggestion Issue"},"enablement":"config.github.copilot.chat.advanced.notebook.alternativeNESFormat.enabled || github.copilot.chat.enableEnhancedNotebookNES","category":"Developer"},{"command":"github.copilot.debug.generateSTest","title":{"value":"根据上次聊天请求生成 STest","original":"Generate STest From Last Chat Request"},"enablement":"github.copilot.debugReportFeedback","category":"Developer"},{"command":"github.copilot.open.walkthrough","title":{"value":"打开演练","original":"Open Walkthrough"},"category":"Chat"},{"command":"github.copilot.debug.generateInlineEditTests","title":"Generate Inline Edit Tests","category":"Chat","enablement":"resourceScheme == 'ccreq'"},{"command":"github.copilot.buildRemoteWorkspaceIndex","title":{"value":"构建代码库语义索引","original":"Build Codebase Semantic Index"},"category":"Chat","enablement":"github.copilot-chat.activated"},{"command":"github.copilot.deleteExternalIngestWorkspaceIndex","title":{"value":"删除外部引入代码库索引","original":"Delete External Ingest Codebase Index"},"category":"Developer","enablement":"github.copilot-chat.activated && !github.copilot.blackbirdExternalIndexingDisabled"},{"command":"github.copilot.report","title":"Report Issue","category":"Chat"},{"command":"github.copilot.chat.rerunWithCopilotDebug","title":{"value":"调试上一个终端命令","original":"Debug Last Terminal Command"},"category":"Chat"},{"command":"github.copilot.chat.startCopilotDebugCommand","title":"Start Copilot Debug"},{"command":"github.copilot.chat.clearTemporalContext","title":"Clear Temporal Context","category":"Developer"},{"command":"github.copilot.search.markHelpful","title":"Helpful","icon":"$(thumbsup)","enablement":"!github.copilot.search.feedback.sent"},{"command":"github.copilot.search.markUnhelpful","title":"Unhelpful","icon":"$(thumbsdown)","enablement":"!github.copilot.search.feedback.sent"},{"command":"github.copilot.search.feedback","title":"Feedback","icon":"$(feedback)","enablement":"!github.copilot.search.feedback.sent"},{"command":"github.copilot.chat.debug.showElements","title":"Show Rendered Elements"},{"command":"github.copilot.chat.debug.hideElements","title":"Hide Rendered Elements"},{"command":"github.copilot.chat.debug.showTools","title":"Show Tools"},{"command":"github.copilot.chat.debug.hideTools","title":"Hide Tools"},{"command":"github.copilot.chat.debug.showNesRequests","title":"Show NES Requests"},{"command":"github.copilot.chat.debug.hideNesRequests","title":"Hide NES Requests"},{"command":"github.copilot.chat.debug.showGhostRequests","title":"Show Ghost Requests"},{"command":"github.copilot.chat.debug.hideGhostRequests","title":"Hide Ghost Requests"},{"command":"github.copilot.chat.debug.showRawRequestBody","title":"Show Raw Request Body"},{"command":"github.copilot.chat.debug.exportLogItem","title":"Export as...","icon":"$(export)"},{"command":"github.copilot.chat.debug.exportPromptArchive","title":"Export All as Archive...","icon":"$(archive)"},{"command":"github.copilot.chat.debug.exportPromptLogsAsJson","title":"Export All as JSON...","icon":"$(export)"},{"command":"github.copilot.chat.debug.exportAllPromptLogsAsJson","title":"Export All Prompt Logs as JSON...","icon":"$(export)"},{"command":"github.copilot.chat.otel.exportAgentTracesDB","title":"Export Agent Traces DB","category":"Chat","enablement":"config.github.copilot.chat.otel.dbSpanExporter.enabled"},{"command":"github.copilot.chat.otel.statusActive","title":"OpenTelemetry","category":"Chat","icon":"$(broadcast)"},{"command":"github.copilot.sessionSync.deleteSessions","title":{"value":"删除会话同步数据","original":"Delete Session Sync Data"},"category":"Chat","enablement":"github.copilot.sessionSearch.enabled && config.chat.sessionSync.enabled"},{"command":"github.copilot.chronicle.reindex","title":{"value":"重新编制索引会话","original":"Reindex Sessions"},"category":"Chat","enablement":"github.copilot.sessionSearch.enabled"},{"command":"github.copilot.nes.captureExpected.start","title":"Record Expected Edit (NES)","category":"Copilot"},{"command":"github.copilot.nes.captureExpected.confirm","title":"Confirm and Save Expected Edit Capture","category":"Copilot"},{"command":"github.copilot.nes.captureExpected.abort","title":"Cancel Expected Edit Capture","category":"Copilot"},{"command":"github.copilot.nes.captureExpected.submit","title":"Submit NES Captures","category":"Copilot"},{"command":"github.copilot.debug.collectWorkspaceIndexDiagnostics","title":{"value":"收集工作区索引诊断","original":"Collect Workspace Index Diagnostics"},"category":"Developer"},{"command":"github.copilot.chat.mcp.setup.check","title":"MCP Check: is supported"},{"command":"github.copilot.chat.mcp.setup.validatePackage","title":"MCP Check: validate package"},{"command":"github.copilot.chat.mcp.setup.flow","title":"MCP Check: do prompts"},{"command":"github.copilot.chat.generateAltText","title":"Generate/Refine Alt Text"},{"command":"github.copilot.chat.notebook.enableFollowCellExecution","title":"Enable Follow Cell Execution from Chat","shortTitle":"Follow","icon":"$(pinned)"},{"command":"github.copilot.chat.notebook.disableFollowCellExecution","title":"Disable Follow Cell Execution from Chat","shortTitle":"Unfollow","icon":"$(pinned-dirty)"},{"command":"github.copilot.cloud.resetWorkspaceConfirmations","title":{"value":"重置云代理工作区确认","original":"Reset Cloud Agent Workspace Confirmations"}},{"command":"github.copilot.cloud.sessions.openInBrowser","title":{"value":"在浏览器中打开","original":"Open in Browser"},"icon":"$(link-external)"},{"command":"github.copilot.cloud.sessions.proxy.closeChatSessionPullRequest","title":{"value":"关闭拉取请求","original":"Close Pull Request"}},{"command":"github.copilot.cloud.sessions.installPRExtension","title":{"value":"安装 GitHub 拉取请求扩展","original":"Install GitHub Pull Request Extension"},"icon":"$(extensions)"},{"command":"github.copilot.chat.openSuggestionsPanel","title":"Open Completions Panel","enablement":"github.copilot.extensionUnification.activated && !isWeb","category":"GitHub Copilot"},{"command":"github.copilot.chat.toggleStatusMenu","title":"Open Status Menu","enablement":"github.copilot.extensionUnification.activated","category":"GitHub Copilot"},{"command":"github.copilot.chat.completions.disable","title":"Disable Inline Suggestions","enablement":"github.copilot.extensionUnification.activated && github.copilot.activated && config.editor.inlineSuggest.enabled && github.copilot.completions.enabled","category":"GitHub Copilot"},{"command":"github.copilot.chat.completions.enable","title":"Enable Inline Suggestions","enablement":"github.copilot.extensionUnification.activated && github.copilot.activated && !(config.editor.inlineSuggest.enabled && github.copilot.completions.enabled)","category":"GitHub Copilot"},{"command":"github.copilot.chat.completions.toggle","title":"Toggle (Enable/Disable) Inline Suggestions","enablement":"github.copilot.extensionUnification.activated && github.copilot.activated","category":"GitHub Copilot"},{"command":"github.copilot.chat.openModelPicker","title":"Change Completions Model","category":"GitHub Copilot","enablement":"github.copilot.extensionUnification.activated && !isWeb && github.copilot.completions.hasMultipleModels"},{"command":"github.copilot.chat.applyCopilotCLIAgentSessionChanges","title":{"value":"将更改应用于工作区","original":"Apply Changes to Workspace"},"enablement":"!chatSessionRequestInProgress","category":"GitHub Copilot"},{"command":"github.copilot.chat.applyCopilotCLIAgentSessionChanges.apply","title":{"value":"应用","original":"Apply"},"enablement":"!chatSessionRequestInProgress","icon":"$(git-stash-pop)","category":"GitHub Copilot"},{"command":"github.copilot.chat.mergeCopilotCLIAgentSessionChanges.merge","title":{"value":"合并更改","original":"Merge Changes"},"enablement":"!chatSessionRequestInProgress","icon":"$(git-merge)","category":"GitHub Copilot"},{"command":"github.copilot.chat.mergeCopilotCLIAgentSessionChanges.mergeAndSync","title":{"value":"合并更改并同步","original":"Merge Changes & Sync"},"enablement":"!chatSessionRequestInProgress","icon":"$(sync)","category":"GitHub Copilot"},{"command":"github.copilot.sessions.commit","title":{"value":"提交更改","original":"Commit Changes"},"enablement":"!chatSessionRequestInProgress && !sessions.hasGitOperationInProgress","icon":"$(git-commit)","category":"GitHub Copilot"},{"command":"github.copilot.sessions.commitAndSync","title":{"value":"提交和同步更改","original":"Commit and Sync Changes"},"enablement":"!chatSessionRequestInProgress && !sessions.hasGitOperationInProgress","icon":"$(sync)","category":"GitHub Copilot"},{"command":"github.copilot.sessions.sync","title":{"value":"同步更改","original":"Sync Changes"},"enablement":"!chatSessionRequestInProgress && !sessions.hasGitOperationInProgress","icon":"$(sync)","category":"GitHub Copilot"},{"command":"github.copilot.chat.createPullRequestCopilotCLIAgentSession.createPR","title":{"value":"创建拉取请求","original":"Create Pull Request"},"enablement":"!chatSessionRequestInProgress && !sessions.hasGitOperationInProgress","icon":"$(git-pull-request-create)","category":"GitHub Copilot"},{"command":"github.copilot.chat.createDraftPullRequestCopilotCLIAgentSession.createDraftPR","title":{"value":"创建草稿拉取请求","original":"Create Draft Pull Request"},"enablement":"!chatSessionRequestInProgress && !sessions.hasGitOperationInProgress","icon":"$(git-pull-request-draft)","category":"GitHub Copilot"},{"command":"github.copilot.sessions.discardChanges","title":{"value":"放弃更改","original":"Discard Changes"},"enablement":"!chatSessionRequestInProgress","icon":"$(discard)","category":"GitHub Copilot"},{"command":"github.copilot.chat.copilotCLI.addFileReference","title":{"value":"将文件添加到 Copilot CLI","original":"Add File to Copilot CLI"},"enablement":"github.copilot.chat.copilotCLI.hasSession","category":"Copilot CLI"},{"command":"github.copilot.chat.copilotCLI.addSelection","title":{"value":"将所选内容添加到 Copilot CLI","original":"Add Selection to Copilot CLI"},"enablement":"github.copilot.chat.copilotCLI.hasSession","category":"Copilot CLI"},{"command":"github.copilot.chat.copilotCLI.acceptDiff","title":{"value":"接受更改","original":"Accept Changes"},"enablement":"github.copilot.chat.copilotCLI.hasActiveDiff","icon":"$(check)","category":"Copilot CLI"},{"command":"github.copilot.chat.copilotCLI.rejectDiff","title":{"value":"拒绝更改","original":"Reject Changes"},"enablement":"github.copilot.chat.copilotCLI.hasActiveDiff","icon":"$(close)","category":"Copilot CLI"},{"command":"github.copilot.chat.checkoutPullRequestReroute","title":{"value":"签出","original":"Checkout"},"icon":"$(git-pull-request)","category":"GitHub Pull Request"},{"command":"github.copilot.chat.cloudSessions.createPullRequestForTask","title":"Create Pull Request","icon":"$(git-pull-request-create)","category":"GitHub Pull Request"},{"command":"github.copilot.chat.cloudSessions.openPullRequestForTask","title":"Open Pull Request","icon":"$(git-pull-request)","category":"GitHub Pull Request"},{"command":"github.copilot.chat.cloudSessions.openRepository","title":{"value":"浏览存储库...","original":"Browse repositories..."},"icon":"$(repo)","category":"GitHub Copilot"},{"command":"github.copilot.chat.cloudSessions.clearCaches","title":{"value":"清除云智能体缓存","original":"Clear Cloud Agent Caches"},"category":"GitHub Copilot"},{"command":"github.copilot.sessions.refreshChanges","title":{"value":"刷新","original":"Refresh"},"icon":"$(refresh)","category":"GitHub Copilot"},{"command":"github.copilot.sessions.initializeRepository","title":{"value":"初始化存储库","original":"Initialize Repository"},"enablement":"!chatSessionRequestInProgress","icon":"$(repo)","category":"GitHub Copilot"},{"command":"github.copilot.claude.sessions.commit","title":{"value":"提交","original":"Commit"},"enablement":"!chatSessionRequestInProgress","icon":"$(git-commit)","category":"GitHub Copilot"},{"command":"github.copilot.claude.sessions.commitAndSync","title":{"value":"提交和同步","original":"Commit and Sync"},"enablement":"!chatSessionRequestInProgress","icon":"$(sync)","category":"GitHub Copilot"},{"command":"github.copilot.claude.sessions.sync","title":{"value":"同步更改","original":"Sync Changes"},"enablement":"!chatSessionRequestInProgress","icon":"$(sync)","category":"GitHub Copilot"},{"command":"github.copilot.claude.sessions.initializeRepository","title":{"value":"初始化存储库","original":"Initialize Repository"},"enablement":"!chatSessionRequestInProgress","icon":"$(repo)","category":"GitHub Copilot"}],"configuration":[{"title":"GitHub Copilot Chat","id":"stable","properties":{"github.copilot.chat.backgroundAgent.enabled":{"type":"boolean","default":true,"markdownDescription":"启用 Copilot CLI。禁用后，“继续使用”上下文菜单中将不再显示 Copilot CLI。"},"github.copilot.chat.cloudAgent.enabled":{"type":"boolean","default":true,"markdownDescription":"启用云智能体。禁用后，云智能体在“继续使用”上下文菜单中将不再可用。"},"github.copilot.chat.codeGeneration.useInstructionFiles":{"type":"boolean","default":true,"markdownDescription":"控制是否将来自 `.github/copilot-instructions.md` 的代码说明添加到 Copilot 请求。\n\n注意: 请提供简短且精确的指令。指令不佳可能会降低 Copilot 的质量和效果。[详细了解](https://aka.ms/github-copilot-custom-instructions)如何自定义 Copilot。"},"github.copilot.editor.enableCodeActions":{"type":"boolean","default":true,"description":"控制 Copilot 命令在可用时是否显示为代码操作"},"github.copilot.renameSuggestions.triggerAutomatically":{"type":"boolean","default":true,"description":"控制 Copilot 是否生成重命名建议"},"github.copilot.chat.localeOverride":{"type":"string","enum":["auto","en","fr","it","de","es","ru","zh-CN","zh-TW","ja","ko","cs","pt-br","tr","pl"],"enumDescriptions":["Use VS Code's configured display language","English","français","italiano","Deutsch","español","русский","中文(简体)","中文(繁體)","日本語","한국어","čeština","português","Türkçe","polski"],"default":"auto","markdownDescription":"指定 Copilot 响应应使用的语言区域，例如“en”或“fr”。默认情况下，Copilot 将使用 VS Code 配置的显示语言区域进行响应。"},"github.copilot.chat.terminalChatLocation":{"type":"string","default":"chatView","markdownDescription":"控制应从哪里打开来自终端的聊天查询。","markdownEnumDescriptions":["打开聊天视图。","打开快速聊天。","打开终端内联聊天"],"enum":["chatView","quickChat","terminal"]},"github.copilot.chat.scopeSelection":{"type":"boolean","default":false,"markdownDescription":"如果用户使用 `/explain` 且活动编辑器没有选择，是否提示用户选择特定符号范围。"},"github.copilot.chat.useProjectTemplates":{"type":"boolean","default":true,"markdownDescription":"使用 `/new` 时，将相关 GitHub 项目用作初学者项目"},"github.copilot.nextEditSuggestions.enabled":{"type":"boolean","default":true,"tags":["nextEditSuggestions","onExp"],"markdownDescription":"是否启用下一个编辑建议(NES)。\n\nNES 可以根据最近更改建议下一个编辑。[详细了解](https://aka.ms/vscode-nes)下一个编辑建议。","scope":"language-overridable"},"github.copilot.completions.chat.enabled":{"type":"boolean","default":false,"markdownDescription":"Whether to enable inline completions in chat."},"github.copilot.nextEditSuggestions.extendedRange":{"type":"boolean","default":true,"tags":["nextEditSuggestions","onExp"],"markdownDescription":"是否允许下一个编辑建议(NES)修改远离光标位置的代码。"},"github.copilot.nextEditSuggestions.fixes":{"type":"boolean","default":true,"tags":["nextEditSuggestions","onExp"],"markdownDescription":"是否通过下一个编辑建议(NES)提供诊断的修补程序。","scope":"language-overridable"},"github.copilot.nextEditSuggestions.allowWhitespaceOnlyChanges":{"type":"boolean","default":true,"tags":["nextEditSuggestions","onExp"],"markdownDescription":"是否允许下一个编辑建议(NES)提议仅空格更改。","scope":"language-overridable"},"github.copilot.chat.agent.autoFix":{"type":"boolean","default":false,"description":"自动修复已编辑文件的诊断。","tags":["onExp"]},"github.copilot.chat.rateLimitAutoSwitchToAuto":{"type":"boolean","default":false,"markdownDescription":"自动切换到自动模型，并在达到每个模型速率限制时重试。","tags":["onExp"]},"github.copilot.chat.customInstructionsInSystemMessage":{"type":"boolean","default":true,"description":"启用后，自定义指令和模式说明将会追加到系统消息而不是用户消息中。"},"github.copilot.chat.organizationCustomAgents.enabled":{"type":"boolean","default":true,"description":"启用后，Copilot 会加载由你的 GitHub 组织定义的自定义智能体。"},"github.copilot.chat.organizationInstructions.enabled":{"type":"boolean","default":true,"description":"启用后，Copilot 会加载由你的 GitHub 组织定义的自定义指令。"},"github.copilot.chat.additionalReadAccessPaths":{"type":"array","default":[],"items":{"type":"string"},"markdownDescription":"允许 Copilot 对话助手读取的工作区外绝对文件夹路径列表，无需确认。编辑操作仅限于工作区。","scope":"window"},"github.copilot.chat.agent.currentEditorContext.enabled":{"type":"boolean","default":true,"description":"启用后，Copilot 将在智能体模式的上下文中包含当前活动编辑器的名称。"},"github.copilot.enable":{"type":"object","scope":"window","default":{"*":true,"plaintext":false,"markdown":false,"scminput":false},"additionalProperties":{"type":"boolean"},"markdownDescription":"Enable or disable auto triggering of Copilot completions for specified [languages](https://code.visualstudio.com/docs/languages/identifiers). You can still trigger suggestions manually using `Alt + \\`","agentsWindow":{"default":{"markdown":true,"plaintext":true}}},"github.copilot.selectedCompletionModel":{"type":"string","default":"","markdownDescription":"The currently selected completion model ID. To select from a list of available models, use the __\"Change Completions Model\"__ command or open the model picker (from the Copilot menu in the VS Code title bar, select __\"Configure Code Completions\"__ then __\"Change Completions Model\"__. The value must be a valid model ID. An empty value indicates that the default model will be used."},"github.copilot.chat.claudeAgent.enabled":{"type":"boolean","default":true,"markdownDescription":"在 VS Code 中启用 Claude Agent 会话。直接在编辑器中启动和恢复由 Anthropic 的 Claude Agent SDK 提供支持的智能编码会话。使用你现有的 Copilot 订阅。"},"github.copilot.chat.claudeAgent.allowDangerouslySkipPermissions":{"type":"boolean","default":false,"markdownDescription":"允许绕过权限模式。建议仅用于无 Internet 访问的沙盒。"},"github.copilot.chat.reviewAgent.enabled":{"type":"boolean","default":true,"description":"启用代码评审代理。"},"github.copilot.chat.reviewSelection.enabled":{"type":"boolean","default":true,"description":"对当前选择内容启用代码评审。"},"github.copilot.chat.reviewSelection.instructions":{"type":"array","items":{"oneOf":[{"type":"object","markdownDescription":"将要添加到 Copilot 请求的文件的路径，该请求将为所选内容提供代码评审。可以选择指定指令的语言。","properties":{"file":{"type":"string","examples":[".copilot-review-instructions.md"]},"language":{"type":"string"}},"examples":[{"file":".copilot-review-instructions.md"}],"required":["file"]},{"type":"object","markdownDescription":"将要添加到为当前所选内容提供代码评审的 Copilot 请求的文本指令。可以选择指定指令的语言。","properties":{"text":{"type":"string","examples":["Use underscore for field names."]},"language":{"type":"string"}},"required":["text"],"examples":[{"text":"Use underscore for field names."},{"text":"Resolve all TODO tasks."}]}]},"default":[],"markdownDescription":"将添加到 Copilot 请求的一组指令，该请求为当前所选内容提供代码评审。\n指令可以来自:\n- 工作区中的文件: `{ \"file\": \"fileName\" }`\n- 采用自然语言的文本: `{ \"text\": \"Use underscore for field names.\" }`\n\n注意: 请提供简短且精确的指令。指令不佳可能会降低 Copilot 的效果。","examples":[[{"file":".copilot-review-instructions.md"},{"text":"Resolve all TODO tasks."}]]},"github.copilot.chat.anthropic.useMessagesApi":{"type":"boolean","default":true,"markdownDescription":"如果支持，则使用消息 API 而不是聊天补全 API。","tags":["onExp"]}}},{"id":"preview","properties":{"github.copilot.chat.claudeAgent.allowAutoPermissions":{"type":"boolean","default":false,"tags":["preview","onExp"],"markdownDescription":"允许自动权限模式，该模式使用模型分类器自动批准或拒绝工具操作。[了解详细信息](https://aka.ms/vscode-claude-auto-mode)。"},"github.copilot.chat.claudeAgent.useSdkExtension":{"type":"boolean","default":false,"tags":["preview","onExp"],"markdownDescription":"从 `ms-vscode.vscode-claude-sdk` 扩展(已按需安装)而不是与 Copilot 对话助手捆绑的版本加载 Claude 智能体 SDK。"},"github.copilot.chat.claudeAgent.sdkExtensionInstallTimeout":{"type":"number","default":120000,"minimum":1000,"tags":["preview"],"markdownDescription":"通过市场加载 Claude 智能体 SDK 时，等待安装和检测 `ms-vscode.vscode-claude-sdk` 扩展的最长时间(以毫秒为单位)。"},"github.copilot.chat.copilotDebugCommand.enabled":{"type":"boolean","default":true,"tags":["preview"],"description":"是否在终端中启用 `copilot-debug` 命令。"},"github.copilot.chat.codesearch.enabled":{"type":"boolean","default":false,"tags":["preview"],"markdownDescription":"使用 `#codebase` 时是否启用代理代码搜索。"},"github.copilot.chat.tools.viewImage.enabled":{"type":"boolean","default":true,"markdownDescription":"启用查看图像工具，它让智能体可以查看图像文件，如 png、jpg、jpeg、gif 和 webp。","tags":["preview","onExp"]}}},{"id":"experimental","properties":{"github.copilot.chat.githubMcpServer.enabled":{"type":"boolean","default":false,"markdownDescription":"启用对 GitHub MCP 服务器的内置支持。","tags":["experimental"],"agentsWindow":{"default":true}},"github.copilot.chat.githubMcpServer.toolsets":{"type":"array","default":["default"],"markdownDescription":"指定要从 GitHub MCP 服务器使用的工具集。[了解更多](https://aka.ms/vscode-gh-mcp-toolsets)。","items":{"type":"string"},"tags":["experimental"]},"github.copilot.chat.githubMcpServer.readonly":{"type":"boolean","default":false,"markdownDescription":"启用 GitHub MCP 服务器的只读模式。启用后将只能使用读取工具。[了解更多](https://aka.ms/vscode-gh-mcp-readonly)。","tags":["experimental"]},"github.copilot.chat.githubMcpServer.lockdown":{"type":"boolean","default":false,"markdownDescription":"为 GitHub MCP 服务器启用锁定模式。启用后，隐藏用户在没有推送访问权限的情况下创建的公共问题详细信息。[了解更多](https://aka.ms/vscode-gh-mcp-lockdown)。","tags":["experimental"]},"github.copilot.chat.githubMcpServer.channel":{"type":"string","default":"stable","enum":["stable","insiders"],"enumDescriptions":["使用 GitHub MCP 服务器的稳定版本。","使用实验性功能连接到 GitHub MCP 服务器的预览体验成员版本。"],"markdownDescription":"选择 GitHub MCP 服务器的通道。设置为预览体验成员后，可以访问可能根据社区反馈更改或移除的实验性功能。[详细了解](https://aka.ms/vscode-gh-mcp-channel).","tags":["experimental"]},"github.copilot.chat.cloudAgentBackend.version":{"type":"string","default":"v1","enum":["v1","v2"],"enumDescriptions":["使用旧版作业 API 后端。","使用新的任务控制任务 API 后端。"],"markdownDescription":"选择云智能体创建和管理云会话所使用的后端。此设置是实验性的，并且可能更改。更改将在重新加载窗口后生效。","tags":["experimental","onExp"]},"github.copilot.chat.switchAgent.enabled":{"type":"boolean","default":false,"markdownDescription":"允许智能体切换到计划智能体以执行研究、探索和规划任务。","tags":["experimental","onExp"]},"github.copilot.chat.imageUpload.enabled":{"type":"boolean","default":true,"tags":["experimental","onExp"],"markdownDescription":"支持在聊天请求中使用图像上传 URL，而不是原始 base64 字符串。"},"github.copilot.chat.codeGeneration.instructions":{"markdownDeprecationMessage":"请改用指令文件。有关详细信息，请参阅 https://aka.ms/vscode-ghcp-custom-instructions。","type":"array","items":{"oneOf":[{"type":"object","markdownDescription":"将添加到生成代码的 Copilot 请求的文件路径。或者，可以为说明指定语言。","properties":{"file":{"type":"string","examples":[".copilot-codeGeneration-instructions.md"]},"language":{"type":"string"}},"examples":[{"file":".copilot-codeGeneration-instructions.md"}],"required":["file"]},{"type":"object","markdownDescription":"将添加到生成代码的 Copilot 请求的文件路径。或者，可以为说明指定语言。","properties":{"text":{"type":"string","examples":["Use underscore for field names."]},"language":{"type":"string"}},"required":["text"],"examples":[{"text":"Use underscore for field names."},{"text":"Always add a comment: 'Generated by Copilot'."}]}]},"default":[],"markdownDescription":"将要添加到用于生成代码的 Copilot 请求的一组说明。\n说明可以来自:\n- 工作区中的文件: `{ \"file\": \"fileName\" }`\n- 采用自然语言的文本: `{ \"text\": \"Use underscore for field names.\" }`\n\n注意: 请保持说明简短精确。说明不佳可能会降低 Copilot 的质量和性能。","examples":[[{"file":".copilot-codeGeneration-instructions.md"},{"text":"Always add a comment: 'Generated by Copilot'."}]],"tags":["experimental"]},"github.copilot.chat.testGeneration.instructions":{"markdownDeprecationMessage":"请改用指令文件。有关详细信息，请参阅 https://aka.ms/vscode-ghcp-custom-instructions。","type":"array","items":{"oneOf":[{"type":"object","markdownDescription":"将要添加到生成测试的 Copilot 请求的文件路径。或者，可以指定说明的语言。","properties":{"file":{"type":"string","examples":[".copilot-test-instructions.md"]},"language":{"type":"string"}},"examples":[{"file":".copilot-test-instructions.md"}],"required":["file"]},{"type":"object","markdownDescription":"将要添加到生成测试的 Copilot 请求的文本说明。或者，可以指定说明的语言。","properties":{"text":{"type":"string","examples":["Use suite and test instead of describe and it."]},"language":{"type":"string"}},"required":["text"],"examples":[{"text":"Always try uniting related tests in a suite."}]}]},"default":[],"markdownDescription":"将要添加到用于生成测试的 Copilot 请求的一组说明。\n说明可以来自:\n- 工作区中的文件: `{ \"file\": \"fileName\" }`\n- 采用自然语言的文本: `{ \"text\": \"Use underscore for field names.\" }`\n\n注意: 请保持说明简短精确。说明不佳可能会降低 Copilot 的质量和性能。","examples":[[{"file":".copilot-test-instructions.md"},{"text":"Always try uniting related tests in a suite."}]],"tags":["experimental"]},"github.copilot.chat.commitMessageGeneration.instructions":{"type":"array","items":{"oneOf":[{"type":"object","markdownDescription":"将要添加到用于生成提交消息的 Copilot 请求的指令所在文件的路径。","properties":{"file":{"type":"string","examples":[".copilot-commit-message-instructions.md"]}},"examples":[{"file":".copilot-commit-message-instructions.md"}],"required":["file"]},{"type":"object","markdownDescription":"将要添加到用于生成提交消息的 Copilot 请求的文本指令。","properties":{"text":{"type":"string","examples":["Use conventional commit message format."]}},"required":["text"],"examples":[{"text":"Use conventional commit message format."}]}]},"default":[],"markdownDescription":"将要添加到用于生成提交消息的 Copilot 请求的一组指令。\n指令可以来自:\n- 工作区中的文件: `{ \"file\": \"fileName\" }`\n- 用自然语言编写的文本: `{ \"text\": \"Use conventional commit message format.\" }`\n\n注意: 请提供简短且精确的指令。指令不佳可能会降低 Copilot 的质量和效果。","examples":[[{"file":".copilot-commit-message-instructions.md"},{"text":"Use conventional commit message format."}]],"tags":["experimental"]},"github.copilot.chat.pullRequestDescriptionGeneration.instructions":{"type":"array","items":{"oneOf":[{"type":"object","markdownDescription":"文件的路径，其中包含将添加到 Copilot 请求以生成拉取请求标题和说明的指令。","properties":{"file":{"type":"string","examples":[".copilot-pull-request-description-instructions.md"]}},"examples":[{"file":".copilot-pull-request-description-instructions.md"}],"required":["file"]},{"type":"object","markdownDescription":"将添加到 Copilot 请求的文本指令，用于生成拉取请求标题和说明。","properties":{"text":{"type":"string","examples":["Include every commit message in the pull request description."]}},"required":["text"],"examples":[{"text":"Include every commit message in the pull request description."}]}]},"default":[],"markdownDescription":"将添加到 Copilot 请求的一组指令，用于生成拉取请求标题和说明。\n指令可以来自:\n- 工作区中的文件: `{ \"file\": \"fileName\" }`\n- 采用自然语言的文本: `{ \"text\": \"Always include a list of key changes.\" }`\n\n注意: 请提供简短且精确的指令。指令不佳可能会降低 Copilot 的质量和性能。","examples":[[{"file":".copilot-pull-request-description-instructions.md"},{"text":"Use conventional commit message format."}]],"tags":["experimental"]},"github.copilot.chat.setupTests.enabled":{"type":"boolean","default":true,"markdownDescription":"在 `/tests` 生成中启用 `/setupTests` 意向和提示。","tags":["experimental"]},"github.copilot.chat.languageContext.typescript.enabled":{"type":"boolean","default":true,"scope":"resource","tags":["experimental","onExP"],"markdownDescription":"为内联建议启用 TypeScript 语言上下文提供程序","agentsWindow":{"default":true}},"github.copilot.chat.languageContext.typescript.items":{"type":"string","enum":["minimal","double","fillHalf","fill"],"default":"double","scope":"resource","tags":["experimental","onExP"],"markdownDescription":"控制 TypeScript 语言上下文提供程序中包含的项的类型。"},"github.copilot.chat.languageContext.typescript.includeDocumentation":{"type":"boolean","default":false,"scope":"resource","tags":["experimental","onExP"],"markdownDescription":"控制是否在生成的代码片段中包含文档注释，"},"github.copilot.chat.languageContext.typescript.cacheTimeout":{"type":"number","default":500,"scope":"resource","tags":["experimental","onExP"],"markdownDescription":"TypeScript 语言上下文提供程序的缓存填充超时(以毫秒为单位)。默认值为 500 毫秒。"},"github.copilot.chat.languageContext.fix.typescript.enabled":{"type":"boolean","default":false,"scope":"resource","tags":["experimental","onExP"],"markdownDescription":"为 /fix 命令启用 TypeScript 语言上下文提供程序"},"github.copilot.chat.languageContext.inline.typescript.enabled":{"type":"boolean","default":false,"scope":"resource","tags":["experimental","onExP"],"markdownDescription":"为内联聊天(生成和编辑)启用 TypeScript 语言上下文提供程序"},"github.copilot.chat.newWorkspaceCreation.enabled":{"type":"boolean","default":true,"tags":["experimental"],"description":"是否启用创建新代理工作区的功能。"},"github.copilot.chat.newWorkspace.useContext7":{"type":"boolean","default":false,"tags":["experimental"],"markdownDescription":"是否使用 [Context7](command:github.copilot.mcp.viewContext7) 工具为创建新工作区搭建项目基架。"},"github.copilot.chat.notebook.followCellExecution.enabled":{"type":"boolean","default":false,"tags":["experimental"],"description":"控制从 Copilot 执行时是否将当前正在执行的单元格显示到视区中。"},"github.copilot.chat.notebook.enhancedNextEditSuggestions.enabled":{"type":"boolean","default":false,"tags":["experimental","onExp"],"description":"控制是否使用增强的方法在笔记本单元格中生成下一个编辑建议。"},"github.copilot.chat.summarizeAgentConversationHistory.enabled":{"type":"boolean","default":true,"tags":["experimental"],"description":"是否在上下文窗口填充后自动压缩智能体对话历史记录。"},"github.copilot.chat.virtualTools.threshold":{"type":"number","minimum":0,"maximum":128,"default":128,"tags":["experimental"],"markdownDescription":"此设置定义应使用哪些虚拟工具的工具计数。虚拟工具将类似的工具集组合在一起，并允许模型按需激活它们。某些工具组将乐观地预先激活。我们正在积极开发此功能，你在达到阈值后会遇到工具调用降级的情况。\n\n可以设置为 `0` 以禁用虚拟工具。"},"github.copilot.chat.alternateGptPrompt.enabled":{"type":"boolean","default":false,"tags":["experimental"],"description":"为 GPT 模型启用试验性替代提示，而不是默认提示。"},"github.copilot.chat.alternateGeminiModelFPrompt.enabled":{"type":"boolean","default":false,"tags":["experimental","onExp"],"description":"启用 Gemini 模型 F 的实验性备用提示，而不是默认提示。"},"github.copilot.chat.gemini35FlashReducedToolUsePrompt.enabled":{"type":"boolean","default":false,"tags":["experimental","onExp"],"description":"Enables an experimental prompt for Gemini 3.5 Flash that instructs the model to minimize tool calls to reduce token usage."},"github.copilot.chat.anthropic.contextEditing.mode":{"type":"string","default":"off","markdownDescription":"选择 Anthropic 模型的上下文编辑模式。随着对话上下文的增长而对其进行自动管理，这有助于优化成本并保持在上下文窗口限制内。\n\n- `off`: 禁用上下文编辑。\n- `clear-thinking`: 清除思考块，同时保留工具使用。\n- `clear-tooluse`: 清除工具使用，同时保留思考块。\n- `clear-both`: 同时清除思考块和工具使用。\n\n**注意**: 这是一项实验性功能。上下文编辑可能会导致额外的缓存重写。谨慎启用。","tags":["experimental","onExp"],"enum":["off","clear-thinking","clear-tooluse","clear-both"]},"github.copilot.chat.responsesApiReasoningSummary":{"type":"string","default":"detailed","markdownDescription":"设置用于响应式 API 的推理摘要样式。需要 `#github.copilot.chat.useResponsesApi#`。","tags":["experimental","onExp"],"enum":["off","detailed"]},"github.copilot.chat.responsesApiContextManagement.enabled":{"type":"boolean","default":false,"markdownDescription":"为响应 API 启用上下文管理。需要 `#github.copilot.chat.useResponsesApi#`。","tags":["experimental","onExp"]},"github.copilot.chat.responsesApi.promptCacheKey.enabled":{"type":"boolean","default":false,"markdownDescription":"启用为响应 API 设置的提示缓存密钥。","tags":["experimental","onExp"]},"github.copilot.chat.responsesApi.persistentCoT.enabled":{"type":"boolean","default":false,"markdownDescription":"Enables persistent chain of thought for supported Responses API models.","tags":["experimental","onExp"]},"github.copilot.chat.updated53CodexPrompt.enabled":{"type":"boolean","default":true,"markdownDescription":"启用 gpt-5.3-codex 模型的更新提示。","tags":["experimental","onExp"]},"github.copilot.chat.claude47OpusPrompt.enabled":{"type":"boolean","default":false,"markdownDescription":"启用为 Claude Opus 4.7 模型优化的更新系统提示。","tags":["experimental","onExp"]},"github.copilot.chat.gpt55GetChangedFilesTool.enabled":{"type":"boolean","default":true,"markdownDescription":"为 gpt-5.5 模型启用“获取更改的文件”工具。","tags":["experimental","onExp"]},"github.copilot.chat.gemini3GetChangedFilesTool.enabled":{"type":"boolean","default":true,"markdownDescription":"为 gemini-3 模型启用“获取已更改文件”工具。","tags":["experimental","onExp"]},"github.copilot.chat.gemini3LowReasoningEffort.enabled":{"type":"boolean","default":false,"markdownDescription":"将 gemini-3 模型的推理工作量设置为低。","tags":["experimental","onExp"]},"github.copilot.chat.gpt55ReadFileTool.enabled":{"type":"boolean","default":true,"markdownDescription":"为 gpt-5.5 模型启用“读取文件”工具。","tags":["experimental","onExp"]},"github.copilot.chat.anthropic.tools.websearch.enabled":{"type":"boolean","default":false,"markdownDescription":"为 BYOK Claude 模型启用 Anthropic 原生的网络搜索工具。启用后，Claude 可以在网络上搜索最新信息。\n\n**注意**: 这是一项实验性功能，仅适用于 BYOK Anthropic Claude 模型。","tags":["experimental","onExp"]},"github.copilot.chat.anthropic.tools.websearch.maxUses":{"type":"number","default":5,"markdownDescription":"每个请求允许的最大 Web 搜索数。有效范围为 1 到 20。防止在单个交互中进行过多的 API 调用。如果 Claude 超过此限制，则响应将返回错误。","minimum":1,"maximum":20,"tags":["experimental"]},"github.copilot.chat.anthropic.tools.websearch.allowedDomains":{"type":"array","default":[],"markdownDescription":"要将 Web 搜索结果限制为其中域的域列表(例如，`[\"example.com\", \"docs.example.com\"]`)。域不应包括 HTTP/HTTPS 方案。子域会自动包含在内。不能与 `#github.copilot.chat.anthropic.tools.websearch.blockedDomains#` 一起使用；同时配置两者将导致 Web 搜索请求失败。","items":{"type":"string"},"tags":["experimental"]},"github.copilot.chat.anthropic.tools.websearch.blockedDomains":{"type":"array","default":[],"markdownDescription":"要从 Web 搜索结果中排除的域的列表(例如，`[\"untrustedsource.com\"]`)。域不应包括 HTTP/HTTPS 方案。将自动排除子域。不能与 `#github.copilot.chat.anthropic.tools.websearch.allowedDomains#` 一起使用；同时配置两者将导致 Web 搜索请求失败。","items":{"type":"string"},"tags":["experimental"]},"github.copilot.chat.anthropic.tools.websearch.userLocation":{"type":["object","null"],"default":null,"markdownDescription":"基于地理上下文对 Web 搜索结果进行个性化设置的用户位置。所有字段(城市、地区、国家、时区)均为可选字段。示例: `{\"city\": \"San Francisco\", \"region\": \"California\", \"country\": \"US\", \"timezone\": \"America/Los_Angeles\"}`","properties":{"city":{"type":"string","description":"City name (e.g., 'San Francisco')"},"region":{"type":"string","description":"State or region (e.g., 'California')"},"country":{"type":"string","description":"ISO country code (e.g., 'US')"},"timezone":{"type":"string","description":"IANA timezone identifier (e.g., 'America/Los_Angeles')"}},"tags":["experimental"]},"github.copilot.chat.completionsFetcher":{"type":["string","null"],"markdownDescription":"设置用于内联补全的提取器。","tags":["experimental","onExp"],"enum":["electron-fetch","node-fetch"]},"github.copilot.chat.nesFetcher":{"type":["string","null"],"markdownDescription":"设置用于下一个编辑建议的提取器。","tags":["experimental","onExp"],"enum":["electron-fetch","node-fetch"]},"github.copilot.chat.planAgent.additionalTools":{"type":"array","items":{"type":"string"},"default":[],"scope":"resource","markdownDescription":"在内置工具的基础上为计划智能体启用的其他工具。请使用完全限定的工具名称(例如 `github/issue_read`、`mcp_server/tool_name`)。","tags":["experimental"]},"github.copilot.chat.implementAgent.model":{"type":"string","default":"","scope":"resource","markdownDescription":"在通过计划代理的移交开始实施时，替代所使用的语言模型。使用 `模型名称(供应商)` 格式(例如，`GPT-5 (copilot)`)。留空以使用默认模型。","tags":["experimental"]},"github.copilot.chat.askAgent.additionalTools":{"type":"array","items":{"type":"string"},"default":[],"scope":"resource","markdownDescription":"在内置只读工具的基础上为询问智能体启用的其他工具。请使用完全限定的工具名称(例如 `github/issue_read`、`mcp_server/tool_name`)。","tags":["experimental"]},"github.copilot.chat.askAgent.model":{"type":"string","default":"","scope":"resource","markdownDescription":"替代询问智能体使用的语言模型。留空以使用默认模型。","tags":["experimental"]},"github.copilot.chat.exploreAgent.enabled":{"type":"boolean","default":true,"markdownDescription":"启用 Explore (代码研究)子智能体。","tags":["experimental","onExp"]},"github.copilot.chat.exploreAgent.model":{"type":"string","default":"","scope":"resource","markdownDescription":"替代浏览子智能体使用的语言模型。默认为快速小型模型。留空以使用内置回退列表。","tags":["experimental"]},"github.copilot.chat.localIndex.enabled":{"type":"boolean","default":false,"markdownDescription":"启用本地会话跟踪。启用后，将为 /chronicle 命令在本地跟踪会话数据。","tags":["experimental","onExp"]},"github.copilot.chat.conversationCompaction.usePrismCompaction":{"type":"boolean","default":false,"markdownDescription":"Route conversation-history compaction (both foreground `/compact` and background auto-compaction) to the dedicated `trajectory-compaction` model instead of the main agent model.","tags":["experimental","onExp"]},"github.copilot.chat.conversationCompaction.model":{"type":"string","default":"","markdownDescription":"Override the model used for conversation-history compaction. When `usePrismCompaction` is enabled, defaults to `trajectory-compaction`. When `usePrismCompaction` is disabled, an empty value preserves the main agent model.","tags":["experimental","onExp"]},"github.copilot.chat.conversationCompaction.prismModelFilter":{"type":"string","default":"claude-haiku-4.5,claude-sonnet-4.5,claude-sonnet-4.6,gemini-2.5-pro,gemini-3-flash,gemini-3.5-flash","markdownDescription":"Comma-separated list of CAPI model IDs (case-insensitive, substring matched against the agent endpoint's model and family) that opt into prism compaction. Only takes effect when `usePrismCompaction` is enabled. An empty value applies prism to all models.","tags":["experimental","onExp"]},"github.copilot.chat.tools.grepSearch.outputFormat":{"type":"string","default":"tag","enum":["grep","tag"],"markdownDescription":"The output format for the grep search tool. Can be either 'grep' or 'tag'. The default is 'tag'.","tags":["experimental","onExp"]}}},{"id":"advanced","properties":{"github.copilot.chat.inlineEdits.xtabProvider.modelConfiguration":{"type":["object","null"],"default":null,"markdownDescription":"Advanced model configuration for the next edit suggestions xtab provider.\n\n**Note**: This is an advanced setting.","tags":["advanced","experimental"]},"github.copilot.chat.reasoningEffortOverride":{"type":["string","null"],"default":null,"markdownDescription":"Overrides the reasoning/thinking effort sent to model APIs. The configured value must match a reasoning-effort value supported by the selected model or endpoint (for example, `low`, `medium`, `high`, or other model-specific values). Used by evals.\n\n**Note**: This is an advanced debugging setting.","tags":["advanced"]},"github.copilot.chat.anthropic.promptCaching.extendedTtl":{"type":"boolean","default":false,"tags":["advanced","experimental","onExp"],"description":"将工具和系统块上延长的(1 小时)提示缓存 TTL 用于 Anthropic 消息 API。适用于 Claude Opus 4.5/4.6/4.7 和 Sonnet 4.5/4.6 变体；即使启用此设置，其他模型也将保持默认的 5 分钟 TTL。\n\n**注意**: 这是一项实验性功能。只有主智能体会话才符合条件 - 不包括内联聊天、终端聊天、笔记本聊天和子智能体请求。"},"github.copilot.chat.anthropic.promptCaching.extendedTtlMessages":{"type":"boolean","default":false,"tags":["advanced","experimental","onExp"],"description":"此外，将 1 小时提示缓存 TTL 延长到消息级断点。需要启用 `chat.anthropic.promptCaching.extendedTtl`；对它本身没有影响。\n\n**注意**: 这是一项实验性功能。"},"github.copilot.chat.modelCapabilityOverrides":{"type":"object","default":{},"markdownDescription":"以模型 ID 为索引的按模型功能替代项，旨在根据现有模型的功能配置文件评估预览模型和租户专属模型。对于每个模型 ID，请声明带别名的 `family`。将 `family` 设置为已知生产系列(例如 `\"claude-opus-4.7\"`)可导致模型接收该系列的完整功能配置文件(Anthropic 系列检测、最新的 Opus 提示、多替换工具、工具搜索、上下文编辑、延长缓存 TTL)，而无需更改代码。\n\n**注意**: 这是用于评估用途的高级设置；不适用于常规最终用户配置。","additionalProperties":{"type":"object","properties":{"family":{"type":"string","description":"Alias the model's family for capability routing (e.g. 'claude-opus-4.7')."}},"additionalProperties":false},"tags":["advanced"]},"github.copilot.chat.installExtensionSkill.enabled":{"type":"boolean","default":false,"tags":["advanced","experimental","onExp"],"description":"是否为 Copilot 启用安装扩展技能。"},"github.copilot.chat.debug.promptOverrideString":{"type":["string","null"],"default":null,"markdownDescription":"YAML string that overrides the system prompt and/or tool descriptions sent to the model. When both this setting and `github.copilot.chat.debug.promptOverrideFile` are configured, this setting takes precedence.\n\n**Note**: This is an advanced debugging setting.","tags":["advanced","experimental"]},"github.copilot.chat.debug.promptOverrideFile":{"type":["string","null"],"default":null,"markdownDescription":"Path to a YAML file that overrides the system prompt and/or tool descriptions sent to the model.\n\n**Note**: This is an advanced debugging setting.","tags":["advanced","experimental"]},"github.copilot.chat.edits.gemini3MultiReplaceString":{"type":"boolean","default":false,"markdownDescription":"Enable the modern `multi_replace_string_in_file` edit tool when generating edits with Gemini 3 models.","tags":["advanced","experimental","onExp"]},"github.copilot.chat.edits.batchReplaceStringDescriptions":{"type":"boolean","default":false,"markdownDescription":"Update tool descriptions to promote `multi_replace_string_in_file` as the primary multi-edit tool.","tags":["advanced","experimental","onExp"]},"github.copilot.chat.projectLabels.expanded":{"type":"boolean","default":false,"markdownDescription":"在提示中使用项目标签的展开格式。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.projectLabels.chat":{"type":"boolean","default":false,"markdownDescription":"在聊天请求中添加项目标签。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.projectLabels.inline":{"type":"boolean","default":false,"markdownDescription":"在内联编辑请求中添加项目标签。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.workspace.maxLocalIndexSize":{"type":"number","default":100000,"markdownDescription":"本地工作区索引的最大大小。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.workspace.enableCodeSearch":{"type":"boolean","default":true,"markdownDescription":"在工作区上下文中启用代码搜索。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.workspace.preferredEmbeddingsModel":{"type":"string","default":"","markdownDescription":"语义搜索的首选嵌入模型。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.workspace.prototypeAdoCodeSearchEndpointOverride":{"type":"string","default":"","markdownDescription":"替代 Azure DevOps 代码搜索原型的终结点。","tags":["advanced","experimental"]},"github.copilot.chat.feedback.onChange":{"type":"boolean","default":false,"markdownDescription":"启用配置更改的反馈收集。","tags":["advanced","experimental"]},"github.copilot.chat.review.intent":{"type":"boolean","default":false,"markdownDescription":"为代码评审启用意向检测。","tags":["advanced","experimental"]},"github.copilot.chat.notebook.summaryExperimentEnabled":{"type":"boolean","default":false,"markdownDescription":"启用笔记本摘要实验。","tags":["advanced","experimental"]},"github.copilot.chat.notebook.variableFilteringEnabled":{"type":"boolean","default":false,"markdownDescription":"启用按单元格文档符号筛选变量。","tags":["advanced","experimental"]},"github.copilot.chat.notebook.alternativeFormat":{"type":"string","default":"xml","enum":["xml","markdown"],"markdownDescription":"笔记本的备用文档格式。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.notebook.alternativeNESFormat.enabled":{"type":"boolean","default":false,"markdownDescription":"为笔记本中的“下一个编辑建议”启用备用格式。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.debugTerminalCommandPatterns":{"type":"array","default":[],"items":{"type":"string"},"markdownDescription":"调试终端中应显示“调试命令”快速修复操作的命令列表。","tags":["advanced","experimental"]},"github.copilot.chat.localWorkspaceRecording.enabled":{"type":"boolean","default":false,"markdownDescription":"启用本地工作区记录以进行分析。","tags":["advanced","experimental"]},"github.copilot.chat.editRecording.enabled":{"type":"boolean","default":false,"markdownDescription":"启用编辑记录以进行分析。","tags":["advanced","experimental"]},"github.copilot.chat.inlineChat.reasoningEffort":{"type":"string","default":"low","enum":["none","minimal","low","medium","high"],"markdownDescription":"控制内联聊天请求的推理工作级别。值越低，响应速度越快，推理词元就越少。支持的值取决于模型。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.inlineChat.enableThinking":{"type":"boolean","default":false,"markdownDescription":"控制是否为内联聊天请求启用思考/推理。禁用后，将会抑制推理摘要以加快响应速度。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.debug.requestLogger.maxEntries":{"type":"number","default":100,"markdownDescription":"请求记录器中为调试保留的最大条目数。","tags":["advanced","experimental"]},"github.copilot.chat.inlineEdits.diagnosticsContextProvider.enabled":{"type":"boolean","default":false,"markdownDescription":"为下一个编辑建议启用诊断上下文提供程序。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.inlineEdits.chatSessionContextProvider.enabled":{"type":"boolean","default":false,"markdownDescription":"为下一个编辑建议启用聊天会话上下文提供程序。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.codesearch.agent.enabled":{"type":"boolean","default":true,"markdownDescription":"在智能体模式下启用代码搜索功能。","tags":["advanced","experimental"]},"github.copilot.chat.agent.temperature":{"type":["number","null"],"markdownDescription":"智能体模式请求的温度设置。","tags":["advanced","experimental"]},"github.copilot.chat.agent.omitFileAttachmentContents":{"type":"boolean","default":false,"markdownDescription":"在智能体模式下省略文件附件中的汇总内容，以鼓励智能体正确阅读和浏览。","tags":["advanced","experimental"]},"github.copilot.chat.agent.backgroundTodoAgent.enabled":{"type":"boolean","default":false,"markdownDescription":"启用后台 todo 代理，在智能体会话期间自动维护 todo 列表。\n\n**注意**: 这是一个高级实验性设置。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.agent.longToolCallCachePreservation.enabled":{"type":"boolean","default":false,"markdownDescription":"启用后，将会在长期运行的工具调用期间发送定期保持活动状态探测，以保持服务器端提示缓存处于预热状态。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.agent.longToolCallCachePreservation.maxProbes":{"type":"number","default":1,"markdownDescription":"放弃之前，在长期运行的工具调用期间要发送的保持活动探测的最大数目。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.agent.largeToolResultsToDisk.enabled":{"type":"boolean","default":true,"markdownDescription":"启用后，大型工具结果将写入磁盘，而不是直接包含在上下文中，从而帮助管理上下文窗口使用情况。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.agent.largeToolResultsToDisk.thresholdBytes":{"type":"number","default":8192,"markdownDescription":"工具结果写入磁盘的大小阈值(以字节为单位)。仅当 largeToolResultsToDisk.enabled 为 true 时适用。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.instantApply.shortContextModelName":{"type":"string","default":"gpt-4o-instant-apply-full-ft-v66-short","markdownDescription":"短上下文即时应用的模型名称。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.instantApply.shortContextLimit":{"type":"number","default":8000,"markdownDescription":"短上下文即时应用的词元限制。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.enableUserPreferences":{"type":"boolean","default":false,"markdownDescription":"在智能体模式下启用记住用户首选项。","tags":["advanced","experimental"]},"github.copilot.chat.skillTool.enabled":{"type":"boolean","default":false,"markdownDescription":"在 Copilot 对话助手中启用技能工具。启用后，将会通过专用技能工具(而不是 readFile)调用技能。","tags":["advanced","experimental"]},"github.copilot.chat.getChangedFilesTool.enabled":{"type":"boolean","default":false,"markdownDescription":"在 Copilot 对话助手中启用 Get Changed Files 工具。启用后，智能体可以通过专用工具检索当前更改的 git diff。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.executionSubagent.enabled":{"type":"boolean","default":false,"markdownDescription":"在 Copilot 对话助手中启用执行子智能体工具。执行子智能体旨在运行终端命令以完成基于执行的任务。它由 Google 的 Gemini-3-Flash 模型提供支持。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.executionSubagent.model":{"type":"string","default":"gemini-3-flash","markdownDescription":"用于 Copilot 对话助手中执行子智能体工具的模型。启用 useAgenticProxy 后，默认为 'exec-subagent-router-a'。否则默认为 gemini-3-flash。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.executionSubagent.useAgenticProxy":{"type":"boolean","default":false,"markdownDescription":"对执行子智能体使用智能体代理终结点。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.executionSubagent.toolCallLimit":{"type":"number","default":10,"markdownDescription":"执行子智能体可在执行期间执行的最大工具调用数。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.summarizeAgentConversationHistoryThreshold":{"type":["number","null"],"markdownDescription":"压缩智能体会话历史记录的阈值。指定模型上下文窗口的比率(值大于 `0` 且最多为 `1`，例如 `0.8` 以在 80% 时进行压缩)或绝对令牌计数(值为 `100` 或更高，例如 `60000`)。保留未设置则使用模型的完整上下文窗口。","tags":["advanced","experimental"]},"github.copilot.chat.agentHistorySummarizationMode":{"type":["string","null"],"markdownDescription":"代理历史摘要模式。","tags":["advanced","experimental"]},"github.copilot.chat.useResponsesApiTruncation":{"type":"boolean","default":false,"markdownDescription":"使用响应式 API 进行截断。","tags":["advanced","experimental"]},"github.copilot.chat.omitBaseAgentInstructions":{"type":"boolean","default":false,"markdownDescription":"省略提示中的基础智能体指令。","tags":["advanced","experimental"]},"github.copilot.chat.promptFileContextProvider.enabled":{"type":"boolean","default":true,"markdownDescription":"启用提示文件上下文提供程序。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.tools.defaultToolsGrouped":{"type":"boolean","default":false,"markdownDescription":"在提示中对默认工具进行分组。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.gpt5AlternativePatch":{"type":"boolean","default":false,"markdownDescription":"启用 GPT-5 备用补丁格式。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.inlineEdits.triggerOnEditorChangeAfterSeconds":{"type":["number","null"],"default":10,"markdownDescription":"编辑器空闲指定秒数后触发内联编辑。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.inlineEdits.nextCursorPrediction.displayLine":{"type":"boolean","default":true,"markdownDescription":"显示预测的光标行以提供下一条编辑建议。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.inlineEdits.nextCursorPrediction.currentFileMaxTokens":{"type":"number","default":3000,"markdownDescription":"下一个光标预测中当前文件的最大词元数。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.inlineEdits.renameSymbolSuggestions":{"type":"boolean","default":true,"markdownDescription":"在内联编辑中启用重命名符号建议。","tags":["advanced","experimental","onExp"]},"github.copilot.nextEditSuggestions.preferredModel":{"type":"string","default":"none","markdownDescription":"下一个编辑建议的首选模型。","tags":["advanced","experimental","onExp"]},"github.copilot.nextEditSuggestions.eagerness":{"type":"string","default":"auto","enum":["auto","low","medium","high"],"enumItemLabels":["自动","低","中等","高"],"enumDescriptions":["自动确定渴望程度。","以更长延迟显示更少建议。","均衡的建议频率和延迟。","以最小延迟显示更多建议。"],"markdownDescription":"控制显示下一个编辑建议的积极程度。数值越高，显示的建议越多且延迟越短。","tags":["advanced","experimental"]},"github.copilot.chat.cli.mcp.enabled":{"type":"boolean","default":true,"markdownDescription":"为模型上下文协议(MCP)服务器启用 Copilot CLI。","tags":["advanced","experimental"],"agentsWindow":{"default":true}},"github.copilot.chat.cli.sandbox.enabled":{"type":"string","enum":["off","on","allowNetwork"],"enumDescriptions":["Disable sandboxing for Copilot CLI tools.","Enable sandboxing for Copilot CLI tools.","Enable sandboxing for Copilot CLI tools and allow all network domains."],"default":"off","markdownDescription":"Run Copilot CLI tools (such as the terminal) inside a sandbox to limit what they can access on your system.","tags":["advanced","experimental"]},"github.copilot.chat.cli.branchSupport.enabled":{"type":"boolean","default":false,"markdownDescription":"为 Copilot CLI 启用分支支持。","tags":["advanced"],"agentsWindow":{"default":true}},"github.copilot.chat.cli.showExternalSessions":{"type":"boolean","default":true,"markdownDescription":"显示其他应用程序创建的会话。","tags":["advanced"],"agentsWindow":{"default":false}},"github.copilot.chat.cli.planExitMode.enabled":{"type":"boolean","default":true,"markdownDescription":"在 Copilot CLI 中启用计划模式退出处理。","tags":["advanced"]},"github.copilot.chat.cli.autoModel.enabled":{"type":"boolean","default":true,"markdownDescription":"在 Copilot CLI 中启用“自动模型”选项，这会自动为每个请求选择最佳模型。需要重新加载 VS Code。","tags":["advanced"]},"github.copilot.chat.agent.modelDetails.enabled":{"type":"boolean","default":true,"markdownDescription":"在使用 Copilot CLI 或 Claude 智能体时，在 VS Code 中的智能体聊天响应里显示模型详细信息(模型名称和请求乘数)。需要 VS Code 重新加载才能更新已加载的会话。","tags":["advanced"]},"github.copilot.chat.cli.planCommand.enabled":{"type":"boolean","default":true,"markdownDescription":"在 Copilot CLI 中启用 /plan 命令，以便在编码前创建实施计划。","tags":["advanced"]},"github.copilot.chat.cli.lazyLoadSessionItem.enabled":{"type":"boolean","default":true,"markdownDescription":"在 Copilot CLI 中启用会话项的延迟加载。需要重新加载 VS Code。","tags":["advanced"],"agentsWindow":{"default":false}},"github.copilot.chat.cli.aiGenerateBranchNames.enabled":{"type":"boolean","default":true,"markdownDescription":"在 Copilot CLI 中启用 AI 生成的分支名称。","tags":["advanced"]},"github.copilot.chat.cli.forkSessions.enabled":{"type":"boolean","default":true,"markdownDescription":"在 Copilot CLI 中启用分叉会话。","tags":["advanced"]},"github.copilot.chat.cli.isolationOption.enabled":{"type":"boolean","default":true,"markdownDescription":"为 Copilot CLI 启用隔离模式选项。启用后，用户可以在工作树模式和工作区模式之间进行选择。","tags":["advanced"],"agentsWindow":{"default":true}},"github.copilot.chat.cli.autoCommit.enabled":{"type":"boolean","default":true,"markdownDescription":"为 Copilot CLI 启用自动提交。启用后，Copilot CLI 所做的更改将在每个轮次结束时自动提交到存储库。","tags":["advanced","experimental"],"agentsWindow":{"default":false}},"github.copilot.chat.cli.sessionController.enabled":{"type":"boolean","default":false,"markdownDescription":"为 Copilot CLI 启用新的会话控制器 API。需要重新加载 VS Code。","tags":["advanced"],"agentsWindow":{"default":false,"readOnly":true}},"github.copilot.chat.cli.thinkingEffort.enabled":{"type":"boolean","default":true,"markdownDescription":"在 Copilot CLI 中为语言模型启用思考工作。","tags":["advanced"]},"github.copilot.chat.cli.sessionControllerForSessionsApp.enabled":{"type":"boolean","default":false,"markdownDescription":"为会话应用启用新的会话控制器 API。需要重新加载 VS Code。","tags":["advanced"]},"github.copilot.chat.cli.terminalLinks.enabled":{"type":"boolean","default":true,"markdownDescription":"在 Copilot CLI 终端中启用高级可点击文件链接。针对会话状态目录解析相对路径。需要 VS Code 重新加载。","tags":["advanced"]},"github.copilot.chat.cli.remote.enabled":{"type":"boolean","default":true,"markdownDescription":"为 Copilot CLI 会话启用 /remote 命令，以支持你通过 GitHub.com 和 GitHub 移动应用查看和引导会话。","tags":["advanced"],"agentsWindow":{"default":false}},"github.copilot.chat.searchSubagent.enabled":{"type":"boolean","default":false,"markdownDescription":"启用搜索子智能体工具，以便在工作区中进行迭代代码浏览。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.searchSubagent.useAgenticProxy":{"type":"boolean","default":false,"markdownDescription":"使用智能体代理来搜索子智能体工具。","tags":["advanced"]},"github.copilot.chat.searchSubagent.model":{"type":"string","default":"","markdownDescription":"用于搜索子智能体的模型。启用 useAgenticProxy 后，默认为 'vscode-agentic-search-router-a'。否则，默认为主智能体模型。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.searchSubagent.toolCallLimit":{"type":"number","default":4,"markdownDescription":"搜索子智能体在探索期间可以进行的最大工具调用数。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.searchSubagent.thoroughnessEnabled":{"type":"boolean","default":false,"markdownDescription":"在搜索子智能体工具上启用 thoroughness 参数。启用后，调用方可以传递 'normal' 或 'deep'，以调整允许的工具调用轮数(分别为基准 toolCallLimit 的 1 倍或 2 倍)。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.agentDebugLog.enabled":{"type":"boolean","default":false,"markdownDescription":"已弃用: 请改用 `github.copilot.chat.agentDebugLog.fileLogging.enabled`。","deprecationMessage":"此设置已合并到 `github.copilot.chat.agentDebugLog.fileLogging.enabled`。请改用此设置。","tags":["advanced","experimental"]},"github.copilot.chat.agentDebugLog.fileLogging.enabled":{"type":"boolean","default":false,"markdownDescription":"启用智能体调试日志记录: 将聊天调试事件(工具调用、LLM 请求、词元使用、错误)写入 JSONL 文件，用于调试面板和故障排除技能。需要重新加载窗口才能生效。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.agentDebugLog.fileLogging.flushIntervalMs":{"type":"number","default":4000,"minimum":2000,"markdownDescription":"缓冲调试日志条目刷新到磁盘的频率(以毫秒为单位)。数值越低，日志越及时，但磁盘写入频率也越高。","tags":["advanced","experimental"]},"github.copilot.chat.agentDebugLog.fileLogging.maxRetainedSessionLogs":{"type":"number","default":50,"minimum":1,"markdownDescription":"磁盘上要保留的聊天调试会话日志目录的最大数量。每个聊天会话生成一个目录。超过此限制时，旧会话日志将被自动删除。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.agentDebugLog.fileLogging.maxSessionLogSizeMB":{"type":"number","default":100,"minimum":1,"markdownDescription":"单个聊天调试会话日志文件的最大大小(以兆字节为单位)。当日志超过此大小时，旧条目将被截断以保留最新数据。默认为 100 MB。","tags":["advanced","experimental","onExp"]},"github.copilot.chat.otel.enabled":{"type":"boolean","default":false,"scope":"application","markdownDescription":"Enable OpenTelemetry trace/metric/log emission for Copilot Chat operations. Configurable in user settings only. Env var `COPILOT_OTEL_ENABLED` takes precedence. Requires window reload.","tags":["advanced"]},"github.copilot.chat.otel.exporterType":{"type":"string","enum":["otlp-grpc","otlp-http","console","file"],"default":"otlp-http","scope":"application","markdownDescription":"OTel exporter type for Copilot Chat telemetry. Configurable in user settings only. Requires window reload.","tags":["advanced"]},"github.copilot.chat.otel.otlpEndpoint":{"type":"string","default":"http://localhost:4318","scope":"application","markdownDescription":"OTLP collector endpoint URL for Copilot Chat OTel data. Configurable in user settings only. Env var `OTEL_EXPORTER_OTLP_ENDPOINT` takes precedence. Requires window reload.","tags":["advanced"]},"github.copilot.chat.otel.captureContent":{"type":"boolean","default":false,"scope":"application","markdownDescription":"Capture input/output messages, system instructions, and tool definitions in OTel telemetry. **Contains potentially sensitive data.** Configurable in user settings only. Env var `COPILOT_OTEL_CAPTURE_CONTENT` takes precedence. Requires window reload.","tags":["advanced"]},"github.copilot.chat.otel.maxAttributeSizeChars":{"type":"integer","default":0,"minimum":0,"scope":"application","markdownDescription":"Maximum size **in characters** for free-form OTel content attributes (prompts, responses, tool arguments/results, hook input/output). `0` (the default) disables truncation so backends without per-attribute size limits receive full JSON payloads. Set to a positive value when your OTel backend caps attribute size — consult your backend's documentation for its per-attribute limit. Truncated values are suffixed with `...[truncated, original N chars]`. Configurable in user settings only. Env var `COPILOT_OTEL_MAX_ATTRIBUTE_SIZE_CHARS` takes precedence. Requires window reload.","tags":["advanced"]},"github.copilot.chat.otel.outfile":{"type":"string","default":"","scope":"application","markdownDescription":"File path for file-based OTel exporter output (JSON-lines). When set, overrides exporter type to `file`. Configurable in user settings only. Requires window reload.","tags":["advanced"]},"github.copilot.chat.otel.dbSpanExporter.enabled":{"type":"boolean","default":false,"scope":"application","markdownDescription":"Enable SQLite DB span exporter. Persists OTel spans to a local SQLite database. Automatically enables OTel when set to true. Configurable in user settings only. Requires window reload.","tags":["advanced"]},"github.copilot.chat.workspace.codeSearchExternalIngest.enabled":{"type":"boolean","default":true,"markdownDescription":"为此工作区中的语义代码库搜索启用外部引入。此设置可用于启用/禁用外部引入，但 Copilot Enterprise 或 Copilot 订阅策略将最终控制可用性。[详细了解外部引入策略](https://aka.ms/vscode-external-ingest-policy)。","tags":["advanced","onExp"]}}}],"submenus":[{"id":"copilot/reviewComment/additionalActions/applyAndNext","label":"应用并转到下一步"},{"id":"copilot/reviewComment/additionalActions/discardAndNext","label":"放弃并转到下一步"},{"id":"copilot/reviewComment/additionalActions/discard","label":"放弃"},{"id":"github.copilot.chat.debug.filter","label":"Filter","icon":"$(filter)"},{"id":"github.copilot.chat.debug.exportAllPromptLogsAsJson","label":"Export All Logs as JSON","icon":"$(file-export)"}],"menus":{"editor/title":[{"command":"github.copilot.debug.generateInlineEditTests","when":"resourceScheme == 'ccreq'"},{"command":"github.copilot.chat.notebook.enableFollowCellExecution","when":"config.github.copilot.chat.notebook.followCellExecution.enabled && !github.copilot.notebookFollowInSessionEnabled && github.copilot.notebookAgentModeUsage && !config.notebook.globalToolbar","group":"navigation@10"},{"command":"github.copilot.chat.notebook.disableFollowCellExecution","when":"config.github.copilot.chat.notebook.followCellExecution.enabled && github.copilot.notebookFollowInSessionEnabled && github.copilot.notebookAgentModeUsage && !config.notebook.globalToolbar","group":"navigation@10"},{"command":"github.copilot.chat.copilotCLI.acceptDiff","group":"navigation@1","when":"github.copilot.chat.copilotCLI.hasActiveDiff"},{"command":"github.copilot.chat.copilotCLI.rejectDiff","group":"navigation@2","when":"github.copilot.chat.copilotCLI.hasActiveDiff"}],"editor/title/context":[{"command":"github.copilot.chat.copilotCLI.addFileReference","group":"copilot","when":"github.copilot.chat.copilotCLI.hasSession && !inOutput && resourceScheme != 'vscode-webview' && resourceScheme != 'webview-panel'"}],"explorer/context":[{"command":"github.copilot.chat.copilotCLI.addFileReference","group":"copilot","when":"github.copilot.chat.copilotCLI.hasSession && !explorerResourceIsFolder"}],"editor/context":[{"command":"github.copilot.chat.fix","when":"!github.copilot.interactiveSession.disabled && chatSetupCompleted && !editorReadonly && editorSelectionHasDiagnostics","group":"1_chat@4"},{"command":"github.copilot.chat.explain","when":"!github.copilot.interactiveSession.disabled && chatSetupCompleted","group":"1_chat@5"},{"command":"github.copilot.chat.review","when":"config.github.copilot.chat.reviewSelection.enabled && !github.copilot.interactiveSession.disabled && chatSetupCompleted && resourceScheme != 'vscode-chat-code-block'","group":"1_chat@6"},{"command":"github.copilot.chat.copilotCLI.addFileReference","group":"copilot","when":"github.copilot.chat.copilotCLI.hasSession && !inOutput && resourceScheme != 'vscode-webview' && resourceScheme != 'webview-panel'"},{"command":"github.copilot.chat.copilotCLI.addSelection","group":"copilot","when":"github.copilot.chat.copilotCLI.hasSession && editorHasSelection && !inOutput && resourceScheme != 'vscode-webview' && resourceScheme != 'webview-panel'"}],"chat/editor/inlineGutter":[{"command":"github.copilot.chat.explain","when":"!github.copilot.interactiveSession.disabled && editor.hasSelection && !inlineChatFileBelongsToChat","group":"2_chat@2"},{"command":"github.copilot.chat.review","when":"!github.copilot.interactiveSession.disabled && editor.hasSelection && config.github.copilot.chat.reviewSelection.enabled && !inlineChatFileBelongsToChat","group":"2_chat@3"}],"chat/input/editing/sessionToolbar":[{"command":"github.copilot.chat.applyCopilotCLIAgentSessionChanges.apply","when":"chatSessionType == copilotcli && workbenchState != empty && !isSessionsWindow","group":"navigation@0"},{"command":"github.copilot.chat.checkoutPullRequestReroute","when":"chatSessionType == copilot-cloud-agent && !github.vscode-pull-request-github.activated && gitOpenRepositoryCount != 0","group":"navigation@0"},{"command":"github.copilot.chat.cloudSessions.createPullRequestForTask","when":"chatSessionType == copilot-cloud-agent && github.copilot.chat.cloudTaskCanCreatePullRequest && !isSessionsWindow","group":"navigation@0"},{"command":"github.copilot.chat.cloudSessions.openPullRequestForTask","when":"chatSessionType == copilot-cloud-agent && github.copilot.chat.cloudTaskCanOpenPullRequest && !isSessionsWindow","group":"navigation@0"}],"agents/changes/actions/primary":[{"command":"github.copilot.sessions.initializeRepository","when":"chatSessionType == copilotcli && isSessionsWindow && sessions.isolationMode == workspace && !sessions.hasGitRepository && !sessions.isAgentHostSession","group":"0_init@1"},{"command":"github.copilot.chat.mergeCopilotCLIAgentSessionChanges.merge","when":"chatSessionType == copilotcli && isSessionsWindow && sessions.isolationMode == worktree && sessions.hasGitRepository && !sessions.isMergeBaseBranchProtected && !sessions.hasPullRequest && (sessions.hasUncommittedChanges || sessions.hasOutgoingChanges) && !sessions.isAgentHostSession","group":"1_merge@1"},{"command":"github.copilot.chat.mergeCopilotCLIAgentSessionChanges.mergeAndSync","when":"chatSessionType == copilotcli && isSessionsWindow && sessions.isolationMode == worktree && sessions.hasGitRepository && !sessions.isMergeBaseBranchProtected && !sessions.hasPullRequest && (sessions.hasUncommittedChanges || sessions.hasOutgoingChanges) && !sessions.isAgentHostSession","group":"1_merge@2"},{"command":"github.copilot.chat.createPullRequestCopilotCLIAgentSession.createPR","when":"chatSessionType == copilotcli && isSessionsWindow && sessions.isolationMode == worktree && sessions.hasGitRepository && sessions.hasGitHubRemote && !sessions.hasPullRequest && sessions.hasBranchChanges && !sessions.isAgentHostSession","group":"2_pull_request@1"},{"command":"github.copilot.chat.createDraftPullRequestCopilotCLIAgentSession.createDraftPR","when":"chatSessionType == copilotcli && isSessionsWindow && sessions.isolationMode == worktree && sessions.hasGitRepository && sessions.hasGitHubRemote && !sessions.hasPullRequest && sessions.hasBranchChanges && !sessions.isAgentHostSession","group":"2_pull_request@2"},{"command":"github.copilot.sessions.commit","when":"chatSessionType == copilotcli && isSessionsWindow && sessions.hasGitRepository && sessions.hasUncommittedChanges && !sessions.isAgentHostSession","group":"3_commit@1"},{"command":"github.copilot.sessions.commitAndSync","when":"chatSessionType == copilotcli && isSessionsWindow && sessions.hasGitRepository && sessions.hasUncommittedChanges && !sessions.isAgentHostSession","group":"3_commit@2"},{"command":"github.copilot.sessions.sync","when":"chatSessionType == copilotcli && isSessionsWindow && sessions.hasGitRepository && sessions.hasUpstream && !sessions.hasUncommittedChanges && (sessions.hasIncomingChanges || sessions.hasOutgoingChanges) && !sessions.isAgentHostSession","group":"4_sync@1"},{"command":"github.copilot.claude.sessions.initializeRepository","when":"chatSessionType == claude-code && isSessionsWindow && !sessions.hasGitRepository","group":"init@1"},{"command":"github.copilot.claude.sessions.commit","when":"chatSessionType == claude-code && isSessionsWindow && sessions.hasGitRepository && sessions.hasUncommittedChanges","group":"commit@1"},{"command":"github.copilot.claude.sessions.commitAndSync","when":"chatSessionType == claude-code && isSessionsWindow && sessions.hasGitRepository && sessions.hasUncommittedChanges && sessions.hasUpstream","group":"commit@2"},{"command":"github.copilot.claude.sessions.sync","when":"chatSessionType == claude-code && isSessionsWindow && sessions.hasGitRepository && !sessions.hasUncommittedChanges && sessions.hasUpstream","group":"sync@1"}],"agents/change/inline":[{"command":"github.copilot.sessions.discardChanges","when":"chatSessionType == copilotcli && isSessionsWindow && sessions.hasGitRepository && !isActiveSessionArchived && !sessions.isAgentHostSession","group":"navigation@2"}],"chat/contextUsage/actions":[{"command":"github.copilot.chat.compact","when":"!chatIsAgentHostSession"}],"chat/input/status":[{"command":"github.copilot.chat.otel.statusActive","when":"github.copilot.otel.enabledExplicitly && isSessionsWindow","group":"otel@1"}],"chat/newSession":[{"command":"github.copilot.cli.newSession","group":"4_recommendations@0"}],"testing/item/result":[{"command":"github.copilot.tests.fixTestFailure.fromInline","when":"testResultState == failed && !testResultOutdated","group":"inline@2"}],"testing/item/context":[{"command":"github.copilot.tests.fixTestFailure.fromInline","when":"testResultState == failed && !testResultOutdated","group":"inline@2"}],"commandPalette":[{"command":"github.copilot.cli.openInCopilotCLI","when":"false"},{"command":"github.copilot.debug.extensionState","when":"false"},{"command":"github.copilot.cli.sessions.commitToWorktree","when":"false"},{"command":"github.copilot.cli.sessions.commitToRepository","when":"false"},{"command":"github.copilot.chat.triggerPermissiveSignIn","when":"false"},{"command":"github.copilot.chat.otel.statusActive","when":"false"},{"command":"github.copilot.interactiveSession.feedback","when":"github.copilot-chat.activated && !github.copilot.interactiveSession.disabled"},{"command":"github.copilot.debug.workbenchState","when":"true"},{"command":"github.copilot.chat.rerunWithCopilotDebug","when":"false"},{"command":"github.copilot.chat.startCopilotDebugCommand","when":"false"},{"command":"github.copilot.git.generateCommitMessage","when":"false"},{"command":"github.copilot.git.resolveMergeConflicts","when":"false"},{"command":"github.copilot.chat.explain","when":"false"},{"command":"github.copilot.chat.review","when":"!github.copilot.interactiveSession.disabled"},{"command":"github.copilot.chat.review.apply","when":"false"},{"command":"github.copilot.chat.review.applyAndNext","when":"false"},{"command":"github.copilot.chat.review.discard","when":"false"},{"command":"github.copilot.chat.review.discardAndNext","when":"false"},{"command":"github.copilot.chat.review.discardAll","when":"false"},{"command":"github.copilot.chat.review.stagedChanges","when":"false"},{"command":"github.copilot.chat.review.unstagedChanges","when":"false"},{"command":"github.copilot.chat.review.changes","when":"false"},{"command":"github.copilot.chat.review.stagedFileChange","when":"false"},{"command":"github.copilot.chat.review.unstagedFileChange","when":"false"},{"command":"github.copilot.chat.review.previous","when":"false"},{"command":"github.copilot.chat.review.next","when":"false"},{"command":"github.copilot.chat.review.continueInInlineChat","when":"false"},{"command":"github.copilot.chat.review.continueInChat","when":"false"},{"command":"github.copilot.chat.review.markHelpful","when":"false"},{"command":"github.copilot.chat.review.markUnhelpful","when":"false"},{"command":"github.copilot.devcontainer.generateDevContainerConfig","when":"false"},{"command":"github.copilot.tests.fixTestFailure","when":"false"},{"command":"github.copilot.tests.fixTestFailure.fromInline","when":"false"},{"command":"github.copilot.search.markHelpful","when":"false"},{"command":"github.copilot.search.markUnhelpful","when":"false"},{"command":"github.copilot.search.feedback","when":"false"},{"command":"github.copilot.chat.debug.showElements","when":"false"},{"command":"github.copilot.chat.debug.hideElements","when":"false"},{"command":"github.copilot.chat.debug.showTools","when":"false"},{"command":"github.copilot.chat.debug.hideTools","when":"false"},{"command":"github.copilot.chat.debug.showNesRequests","when":"false"},{"command":"github.copilot.chat.debug.hideNesRequests","when":"false"},{"command":"github.copilot.chat.debug.showGhostRequests","when":"false"},{"command":"github.copilot.chat.debug.hideGhostRequests","when":"false"},{"command":"github.copilot.chat.debug.exportLogItem","when":"false"},{"command":"github.copilot.chat.debug.exportPromptArchive","when":"false"},{"command":"github.copilot.chat.debug.exportPromptLogsAsJson","when":"false"},{"command":"github.copilot.chat.debug.exportAllPromptLogsAsJson","when":"false"},{"command":"github.copilot.chat.mcp.setup.check","when":"false"},{"command":"github.copilot.chat.mcp.setup.validatePackage","when":"false"},{"command":"github.copilot.chat.mcp.setup.flow","when":"false"},{"command":"github.copilot.chat.debug.showRawRequestBody","when":"false"},{"command":"github.copilot.debug.showOutputChannel","when":"false"},{"command":"github.copilot.cli.sessions.delete","when":"false"},{"command":"github.copilot.cli.sessions.resumeInTerminal","when":"false"},{"command":"github.copilot.cli.sessions.rename","when":"false"},{"command":"github.copilot.claude.sessions.rename","when":"false"},{"command":"github.copilot.cli.sessions.setTitle","when":"false"},{"command":"github.copilot.cli.sessions.openRepository","when":"false"},{"command":"github.copilot.cli.sessions.openWorktreeInNewWindow","when":"false"},{"command":"github.copilot.cli.sessions.openWorktreeInTerminal","when":"false"},{"command":"github.copilot.cli.sessions.copyWorktreeBranchName","when":"false"},{"command":"github.copilot.cloud.sessions.openInBrowser","when":"false"},{"command":"github.copilot.cloud.sessions.proxy.closeChatSessionPullRequest","when":"false"},{"command":"github.copilot.cloud.sessions.installPRExtension","when":"false"},{"command":"github.copilot.chat.applyCopilotCLIAgentSessionChanges","when":"false"},{"command":"github.copilot.chat.applyCopilotCLIAgentSessionChanges.apply","when":"false"},{"command":"github.copilot.chat.mergeCopilotCLIAgentSessionChanges.merge","when":"false"},{"command":"github.copilot.chat.mergeCopilotCLIAgentSessionChanges.mergeAndSync","when":"false"},{"command":"github.copilot.chat.createPullRequestCopilotCLIAgentSession.createPR","when":"false"},{"command":"github.copilot.chat.createDraftPullRequestCopilotCLIAgentSession.createDraftPR","when":"false"},{"command":"github.copilot.chat.checkoutPullRequestReroute","when":"false"},{"command":"github.copilot.chat.cloudSessions.openRepository","when":"false"},{"command":"github.copilot.chat.cloudSessions.createPullRequestForTask","when":"false"},{"command":"github.copilot.chat.cloudSessions.openPullRequestForTask","when":"false"},{"command":"github.copilot.nes.captureExpected.start","when":"github.copilot.inlineEditsEnabled"},{"command":"github.copilot.nes.captureExpected.submit","when":"github.copilot.inlineEditsEnabled"},{"command":"github.copilot.sessions.commit","when":"false"},{"command":"github.copilot.sessions.commitAndSync","when":"false"},{"command":"github.copilot.sessions.sync","when":"false"},{"command":"github.copilot.sessions.discardChanges","when":"false"},{"command":"github.copilot.sessions.refreshChanges","when":"false"},{"command":"github.copilot.sessions.initializeRepository","when":"false"},{"command":"github.copilot.claude.sessions.commit","when":"false"},{"command":"github.copilot.claude.sessions.commitAndSync","when":"false"},{"command":"github.copilot.claude.sessions.sync","when":"false"},{"command":"github.copilot.claude.sessions.initializeRepository","when":"false"}],"view/title":[{"submenu":"github.copilot.chat.debug.filter","when":"view == copilot-chat","group":"navigation"},{"command":"github.copilot.chat.debug.exportAllPromptLogsAsJson","when":"view == copilot-chat","group":"export@1"},{"command":"workbench.action.chat.openAgentDebugPanel","when":"view == copilot-chat","group":"3_show@0"},{"command":"github.copilot.debug.showOutputChannel","when":"view == copilot-chat","group":"3_show@1"},{"command":"github.copilot.debug.showChatLogView","when":"view == workbench.panel.chat.view.copilot","group":"3_show"}],"view/item/context":[{"command":"github.copilot.chat.debug.showRawRequestBody","when":"view == copilot-chat && viewItem == request","group":"export@0"},{"command":"github.copilot.chat.debug.exportLogItem","when":"view == copilot-chat && (viewItem == toolcall || viewItem == request)","group":"export@1"},{"command":"github.copilot.chat.debug.exportPromptArchive","when":"view == copilot-chat && viewItem == chatprompt","group":"export@2"},{"command":"github.copilot.chat.debug.exportPromptLogsAsJson","when":"view == copilot-chat && viewItem == chatprompt","group":"export@3"}],"searchPanel/aiResults/commands":[{"command":"github.copilot.search.markHelpful","group":"inline@0","when":"aiResultsTitle && aiResultsRequested"},{"command":"github.copilot.search.markUnhelpful","group":"inline@1","when":"aiResultsTitle && aiResultsRequested"},{"command":"github.copilot.search.feedback","group":"inline@2","when":"aiResultsTitle && aiResultsRequested && github.copilot.debugReportFeedback"}],"comments/comment/title":[{"command":"github.copilot.chat.review.markHelpful","group":"inline@0","when":"commentController == github-copilot-review"},{"command":"github.copilot.chat.review.markUnhelpful","group":"inline@1","when":"commentController == github-copilot-review"}],"commentsView/commentThread/context":[{"command":"github.copilot.chat.review.apply","group":"context@1","when":"commentController == github-copilot-review"},{"command":"github.copilot.chat.review.discard","group":"context@2","when":"commentController == github-copilot-review"},{"command":"github.copilot.chat.review.discardAll","group":"context@3","when":"commentController == github-copilot-review"}],"comments/commentThread/additionalActions":[{"submenu":"copilot/reviewComment/additionalActions/applyAndNext","group":"inline@1","when":"commentController == github-copilot-review && github.copilot.chat.review.numberOfComments > 1"},{"command":"github.copilot.chat.review.apply","group":"inline@1","when":"commentController == github-copilot-review && github.copilot.chat.review.numberOfComments == 1"},{"submenu":"copilot/reviewComment/additionalActions/discardAndNext","group":"inline@2","when":"commentController == github-copilot-review && github.copilot.chat.review.numberOfComments > 1"},{"submenu":"copilot/reviewComment/additionalActions/discard","group":"inline@2","when":"commentController == github-copilot-review && github.copilot.chat.review.numberOfComments == 1"}],"copilot/reviewComment/additionalActions/applyAndNext":[{"command":"github.copilot.chat.review.applyAndNext","group":"inline@1","when":"commentController == github-copilot-review"},{"command":"github.copilot.chat.review.apply","group":"inline@2","when":"commentController == github-copilot-review"}],"copilot/reviewComment/additionalActions/discardAndNext":[{"command":"github.copilot.chat.review.discardAndNext","group":"inline@1","when":"commentController == github-copilot-review"},{"command":"github.copilot.chat.review.discard","group":"inline@2","when":"commentController == github-copilot-review"},{"command":"github.copilot.chat.review.continueInInlineChat","group":"inline@3","when":"commentController == github-copilot-review"}],"copilot/reviewComment/additionalActions/discard":[{"command":"github.copilot.chat.review.discard","group":"inline@2","when":"commentController == github-copilot-review"},{"command":"github.copilot.chat.review.continueInInlineChat","group":"inline@3","when":"commentController == github-copilot-review"}],"comments/commentThread/title":[{"command":"github.copilot.chat.review.previous","group":"inline@1","when":"commentController == github-copilot-review"},{"command":"github.copilot.chat.review.next","group":"inline@2","when":"commentController == github-copilot-review"},{"command":"github.copilot.chat.review.continueInChat","group":"inline@3","when":"commentController == github-copilot-review"},{"command":"github.copilot.chat.review.discardAll","group":"inline@4","when":"commentController == github-copilot-review"}],"scm/title":[{"command":"github.copilot.chat.review.changes","group":"navigation","when":"config.github.copilot.chat.reviewAgent.enabled && github.copilot.chat.reviewDiff.enabled && scmProvider == git && scmProviderRootUri in github.copilot.chat.reviewDiff.enabledRootUris"}],"scm/sourceControl":[{"command":"github.copilot.cli.openInCopilotCLI","group":"3_worktree@1","when":"scmProvider == git"}],"scm/resourceGroup/context":[{"command":"github.copilot.chat.review.stagedChanges","when":"config.github.copilot.chat.reviewAgent.enabled && github.copilot.chat.reviewDiff.enabled && scmProvider == git && scmResourceGroup == index","group":"inline@-3"},{"command":"github.copilot.chat.review.unstagedChanges","when":"config.github.copilot.chat.reviewAgent.enabled && github.copilot.chat.reviewDiff.enabled && scmProvider == git && scmResourceGroup == workingTree","group":"inline@-3"}],"scm/resourceState/context":[{"command":"github.copilot.git.resolveMergeConflicts","when":"scmProvider == git && scmResourceGroup == merge && git.activeResourceHasMergeConflicts","group":"z_chat@1"},{"command":"github.copilot.chat.review.stagedFileChange","group":"3_copilot","when":"config.github.copilot.chat.reviewAgent.enabled && github.copilot.chat.reviewDiff.enabled && scmProvider == git && scmResourceGroup == index"},{"command":"github.copilot.chat.review.unstagedFileChange","group":"3_copilot","when":"config.github.copilot.chat.reviewAgent.enabled && github.copilot.chat.reviewDiff.enabled && scmProvider == git && scmResourceGroup == workingTree"}],"scm/inputBox":[{"command":"github.copilot.git.generateCommitMessage","when":"scmProvider == git && chatSetupCompleted"}],"testing/message/context":[{"command":"github.copilot.tests.fixTestFailure","when":"testing.testItemHasUri","group":"inline@1"}],"issue/reporter":[{"command":"github.copilot.report"}],"github.copilot.chat.debug.filter":[{"command":"github.copilot.chat.debug.showElements","when":"github.copilot.chat.debug.elementsHidden","group":"commands@0"},{"command":"github.copilot.chat.debug.hideElements","when":"!github.copilot.chat.debug.elementsHidden","group":"commands@0"},{"command":"github.copilot.chat.debug.showTools","when":"github.copilot.chat.debug.toolsHidden","group":"commands@1"},{"command":"github.copilot.chat.debug.hideTools","when":"!github.copilot.chat.debug.toolsHidden","group":"commands@1"},{"command":"github.copilot.chat.debug.showNesRequests","when":"github.copilot.chat.debug.nesRequestsHidden","group":"commands@2"},{"command":"github.copilot.chat.debug.hideNesRequests","when":"!github.copilot.chat.debug.nesRequestsHidden","group":"commands@2"},{"command":"github.copilot.chat.debug.showGhostRequests","when":"github.copilot.chat.debug.ghostRequestsHidden","group":"commands@3"},{"command":"github.copilot.chat.debug.hideGhostRequests","when":"!github.copilot.chat.debug.ghostRequestsHidden","group":"commands@3"}],"notebook/toolbar":[{"command":"github.copilot.chat.notebook.enableFollowCellExecution","when":"config.github.copilot.chat.notebook.followCellExecution.enabled && !github.copilot.notebookFollowInSessionEnabled && github.copilot.notebookAgentModeUsage && config.notebook.globalToolbar","group":"navigation/execute@15"},{"command":"github.copilot.chat.notebook.disableFollowCellExecution","when":"config.github.copilot.chat.notebook.followCellExecution.enabled && github.copilot.notebookFollowInSessionEnabled && github.copilot.notebookAgentModeUsage && config.notebook.globalToolbar","group":"navigation/execute@15"}],"editor/content":[{"command":"github.copilot.git.resolveMergeConflicts","group":"z_chat@1","when":"config.git.enabled && !git.missing && !isInDiffEditor && !isMergeEditor && resource in git.mergeChanges && git.activeResourceHasMergeConflicts && chatSetupCompleted"}],"multiDiffEditor/content":[{"command":"github.copilot.chat.applyCopilotCLIAgentSessionChanges","when":"resourceScheme == copilotcli-worktree-changes && workbenchState != empty && !isSessionsWindow"}],"chat/chatSessions":[{"command":"github.copilot.claude.sessions.rename","when":"chatSessionType == claude-code","group":"1_edit@4"},{"command":"github.copilot.cli.sessions.delete","when":"chatSessionType == copilotcli","group":"1_edit@10"},{"command":"github.copilot.cli.sessions.rename","when":"chatSessionType == copilotcli","group":"1_edit@4"},{"command":"github.copilot.cli.sessions.openWorktreeInNewWindow","when":"chatSessionType == copilotcli && !isSessionsWindow","group":"2_open@1"},{"command":"github.copilot.cli.sessions.openWorktreeInTerminal","when":"chatSessionType == copilotcli","group":"2_open@2"},{"command":"github.copilot.cli.sessions.copyWorktreeBranchName","when":"chatSessionType == copilotcli","group":"2_open@3"},{"command":"github.copilot.cli.sessions.resumeInTerminal","when":"chatSessionType == copilotcli","group":"2_open@4"},{"command":"github.copilot.chat.applyCopilotCLIAgentSessionChanges","when":"chatSessionType == copilotcli && workbenchState != empty && !isSessionsWindow","group":"3_apply@0"},{"command":"github.copilot.cloud.sessions.openInBrowser","when":"chatSessionType == copilot-cloud-agent","group":"navigation@10"},{"command":"github.copilot.cloud.sessions.proxy.closeChatSessionPullRequest","when":"chatSessionType == copilot-cloud-agent","group":"1_edit@10"}],"chatSessions/item/context":[{"command":"github.copilot.claude.sessions.rename","when":"chatSessionType == claude-code && chatSessionProviderId == default-copilot","group":"1_edit@4"},{"command":"github.copilot.cli.sessions.rename","when":"chatSessionType == copilotcli && chatSessionProviderId == default-copilot","group":"1_edit@4"}],"chat/multiDiff/context":[{"command":"github.copilot.cloud.sessions.installPRExtension","when":"chatSessionType == copilot-cloud-agent && !github.copilot.prExtensionInstalled","group":"inline@1"}],"chat/input/editing/sessionTitleToolbar":[{"command":"github.copilot.sessions.refreshChanges","when":"chatSessionType == copilotcli && isSessionsWindow && !sessions.isAgentHostSession","group":"9_refresh@1"}],"chat/customizations/create":[{"command":"copilot.claude.agents","when":"chatCustomizationSessionType == claude-code && chatCustomizationSection == agents","group":"navigation@1"},{"command":"copilot.claude.hooks","when":"chatCustomizationSessionType == claude-code && chatCustomizationSection == hooks","group":"navigation@1"},{"command":"copilot.claude.memory","when":"chatCustomizationSessionType == claude-code && chatCustomizationSection == instructions","group":"navigation@1"}]},"icons":{"copilot-logo":{"description":"GitHub Copilot 图标","default":{"fontPath":"assets/copilot.woff","fontCharacter":"\\0041"}},"copilot-warning":{"description":"GitHub Copilot 图标","default":{"fontPath":"assets/copilot.woff","fontCharacter":"\\0042"}},"copilot-notconnected":{"description":"GitHub Copilot 图标","default":{"fontPath":"assets/copilot.woff","fontCharacter":"\\0043"}}},"iconFonts":[{"id":"copilot-font","src":[{"path":"assets/copilot.woff","format":"woff"}]}],"terminalQuickFixes":[{"id":"copilot-chat.fixWithCopilot","commandLineMatcher":".+","commandExitResult":"error","outputMatcher":{"anchor":"bottom","length":1,"lineMatcher":".+","offset":0},"kind":"explain"},{"id":"copilot-chat.generateCommitMessage","commandLineMatcher":"git add .+","commandExitResult":"success","kind":"explain","outputMatcher":{"anchor":"bottom","length":1,"lineMatcher":".+","offset":0}},{"id":"copilot-chat.terminalToDebugging","commandLineMatcher":".+","kind":"explain","commandExitResult":"error","outputMatcher":{"anchor":"bottom","length":1,"lineMatcher":"","offset":0}},{"id":"copilot-chat.terminalToDebuggingSuccess","commandLineMatcher":".+","kind":"explain","commandExitResult":"success","outputMatcher":{"anchor":"bottom","length":1,"lineMatcher":"","offset":0}}],"languages":[{"id":"ignore","filenamePatterns":[".copilotignore"],"aliases":[]},{"id":"markdown","extensions":[".copilotmd"]}],"views":{"copilot-chat":[{"id":"copilot-chat","name":"Chat Debug","icon":"assets/debug-icon.svg","when":"github.copilot.chat.showLogView"}],"context-inspector":[{"id":"context-inspector","name":"Language Context Inspector","icon":"$(inspect)","when":"github.copilot.chat.showContextInspectorView"}]},"viewsContainers":{"activitybar":[{"id":"copilot-chat","title":"Chat Debug","icon":"assets/debug-icon.svg"},{"id":"context-inspector","title":"Language Context Inspector","icon":"$(inspect)"}]},"configurationDefaults":{"workbench.editorAssociations":{"*.copilotmd":"vscode.markdown.preview.editor"}},"keybindings":[{"command":"github.copilot.chat.copilotCLI.addFileReference","key":"ctrl+shift+.","mac":"cmd+shift+.","when":"github.copilot.chat.copilotCLI.hasSession && editorTextFocus"},{"command":"github.copilot.chat.rerunWithCopilotDebug","key":"ctrl+alt+.","mac":"cmd+alt+.","when":"github.copilot-chat.activated && terminalShellIntegrationEnabled && terminalFocus && !terminalAltBufferActive"},{"command":"github.copilot.nes.captureExpected.confirm","key":"ctrl+enter","mac":"cmd+enter","when":"copilotNesCaptureMode && editorTextFocus"},{"command":"github.copilot.nes.captureExpected.abort","key":"escape","when":"copilotNesCaptureMode && editorTextFocus"}],"walkthroughs":[{"id":"copilotWelcome","title":"GitHub Copilot","description":"你的 AI 编程伙伴，助你更快、更智能地编写代码","when":"!isWeb","steps":[{"id":"copilot.setup.signIn","title":"登录以使用免费版 Copilot","description":"可以使用 Copilot 通过自然语言执行跨多个文件生成代码、修复错误、询问代码相关问题等操作。\n 我们现在通过 GitHub 帐户提供 [Copilot 免费版](https://github.com/features/copilot/plans)。\n\n[免费使用 Copilot](command:workbench.action.chat.triggerSetupForceSignIn)","when":"chatEntitlementSignedOut && !view.workbench.panel.chat.view.copilot.visible && !github.copilot-chat.activated && !github.copilot.offline && !github.copilot.interactiveSession.individual.disabled && !github.copilot.interactiveSession.individual.expired && !github.copilot.interactiveSession.enterprise.disabled && !github.copilot.interactiveSession.contactSupport && !github.copilot.interactiveSession.invalidToken && !github.copilot.interactiveSession.rateLimited && !github.copilot.interactiveSession.gitHubLoginFailed","media":{"video":{"dark":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/workspace.mp4","light":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/workspace-light.mp4","hc":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/workspace-hc.mp4","hcLight":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/workspace-hclight.mp4"},"altText":"用户在辅助边栏的聊天面板中调用 @workspace，以了解代码库。Copilot 检索相关信息，并提供包含指向相应文件的链接的响应"}},{"id":"copilot.setup.signInNoAction","title":"登录以使用免费版 Copilot","description":"可以使用 Copilot 通过自然语言跨多个文件生成代码、修复错误、询问代码相关问题等。\n 现在，我们现在通过你的 GitHub 帐户提供 [Copilot 免费版](https://github.com/features/copilot/plans)。","when":"chatEntitlementSignedOut && view.workbench.panel.chat.view.copilot.visible && !github.copilot-chat.activated && !github.copilot.offline && !github.copilot.interactiveSession.individual.disabled && !github.copilot.interactiveSession.individual.expired && !github.copilot.interactiveSession.enterprise.disabled && !github.copilot.interactiveSession.contactSupport && !github.copilot.interactiveSession.invalidToken && !github.copilot.interactiveSession.rateLimited && !github.copilot.interactiveSession.gitHubLoginFailed","media":{"video":{"dark":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/workspace.mp4","light":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/workspace-light.mp4","hc":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/workspace-hc.mp4","hcLight":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/workspace-hclight.mp4"},"altText":"用户在辅助边栏的聊天面板中调用 @workspace，以了解代码库。Copilot 检索相关信息，并提供包含指向相应文件的链接的响应"}},{"id":"copilot.setup.signUp","title":"Copilot 免费版入门","description":"可以使用 Copilot 通过自然语言执行跨多个文件生成代码、修复错误、询问代码相关问题等操作。\n 我们现在通过 GitHub 帐户提供 [Copilot 免费版](https://github.com/features/copilot/plans)。\n\n[免费使用 Copilot](command:workbench.action.chat.triggerSetupForceSignIn)","when":"chatPlanCanSignUp && !view.workbench.panel.chat.view.copilot.visible && !github.copilot-chat.activated && !github.copilot.offline && (github.copilot.interactiveSession.individual.disabled || github.copilot.interactiveSession.individual.expired) && !github.copilot.interactiveSession.enterprise.disabled && !github.copilot.interactiveSession.contactSupport && !github.copilot.interactiveSession.invalidToken && !github.copilot.interactiveSession.rateLimited && !github.copilot.interactiveSession.gitHubLoginFailed","media":{"video":{"dark":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/workspace.mp4","light":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/workspace-light.mp4","hc":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/workspace-hc.mp4","hcLight":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/workspace-hclight.mp4"},"altText":"用户在辅助边栏的聊天面板中调用 @workspace，以了解代码库。Copilot 检索相关信息，并提供包含指向相应文件的链接的响应"}},{"id":"copilot.setup.signUpNoAction","title":"Copilot 免费版入门","description":"可以使用 Copilot 通过自然语言跨多个文件生成代码、修复错误、询问代码相关问题等。\n 现在，我们现在通过你的 GitHub 帐户提供 [Copilot 免费版](https://github.com/features/copilot/plans)。","when":"chatPlanCanSignUp && view.workbench.panel.chat.view.copilot.visible && !github.copilot-chat.activated && !github.copilot.offline && (github.copilot.interactiveSession.individual.disabled || github.copilot.interactiveSession.individual.expired) && !github.copilot.interactiveSession.enterprise.disabled && !github.copilot.interactiveSession.contactSupport && !github.copilot.interactiveSession.invalidToken && !github.copilot.interactiveSession.rateLimited && !github.copilot.interactiveSession.gitHubLoginFailed","media":{"video":{"dark":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/workspace.mp4","light":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/workspace-light.mp4","hc":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/workspace-hc.mp4","hcLight":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/workspace-hclight.mp4"},"altText":"用户在辅助边栏的聊天面板中调用 @workspace，以了解代码库。Copilot 检索相关信息，并提供包含指向相应文件的链接的响应"}},{"id":"copilot.panelChat","title":"聊聊你的代码","description":"使用 **@workspace** 询问 Copilot 编程问题或获取代码方面的帮助。\n 键入 **@** 以查看你可以直接与其聊天的所有可用聊天参与者，每个参与者都有自己的专业知识。\n[与 Copilot 聊天](command:workbench.action.chat.open?%7B%22mode%22%3A%22ask%22%7D)","when":"!chatEntitlementSignedOut || chatIsEnabled ","media":{"video":{"dark":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/workspace.mp4","light":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/workspace-light.mp4","hc":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/workspace-hc.mp4","hcLight":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/workspace-hclight.mp4"},"altText":"用户在辅助边栏的聊天面板中调用 @workspace，以了解代码库。Copilot 检索相关信息，并提供包含指向相应文件的链接的响应"}},{"id":"copilot.edits","title":"使用自然语言进行更改","description":"使用**Copilot 编辑**选择要使用的文件，并描述要进行的更改。Copilot 将它们直接应用到文件。\n[使用 Copilot 编辑](command:workbench.action.chat.open?%7B%22mode%22%3A%22edit%22%7D)","when":"!chatEntitlementSignedOut || chatIsEnabled ","media":{"video":{"dark":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/edits.mp4","light":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/edits-light.mp4","hc":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/edits-hc.mp4","hcLight":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/edits-hclight.mp4"},"altText":"视频展示了用户如何将文件拖放到位于辅助边栏的 Copilot Edits 输入框中。Copilot 随后根据用户的请求更新了文件"}},{"id":"copilot.firstSuggest","title":"AI 建议的内联建议","description":"在编辑器中键入时，Copilot 会建议代码以帮助你完成启动的操作。","when":"!chatEntitlementSignedOut || chatIsEnabled ","media":{"video":{"dark":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/ghost-text.mp4","light":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/ghost-text-light.mp4","hc":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/ghost-text-hc.mp4","hcLight":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/ghost-text-hclight.mp4"},"altText":"该视频显示了不同的 Copilot 内联建议，其中 Copilot 提供了建议代码以帮助用户完成其代码"}},{"id":"copilot.inlineChatNotMac","title":"在文件中使用自然语言","description":"有时，直接在文件中描述要编写的代码会更容易。\n放置光标或进行选择，并使用 **“Ctrl+I'”** 打开**“内联聊天”**。","when":"!isMac && (!chatEntitlementSignedOut || chatIsEnabled )","media":{"video":{"dark":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/inline.mp4","light":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/inline-light.mp4","hc":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/inline-hc.mp4","hcLight":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/inline-hclight.mp4"},"altText":"编辑器中的内联聊天视图。视频展示了用户如何调用内联聊天小组件，并使用自然语言请求 Copilot 对文件进行更改。Copilot 随后执行了请求的更改"}},{"id":"copilot.inlineChatMac","title":"在文件中使用自然语言","description":"有时，直接在文件中描述要编写的代码会更容易。\n放置光标或进行选择，并使用“'Cmd+I'”** 打开**内联聊天**。","when":"isMac && (!chatEntitlementSignedOut || chatIsEnabled )","media":{"video":{"dark":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/inline.mp4","light":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/inline-light.mp4","hc":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/inline-hc.mp4","hcLight":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/inline-hclight.mp4"},"altText":"视频展示了用户如何调用内联聊天小组件，并使用自然语言请求 Copilot 对文件进行更改。Copilot 随后执行了请求的更改"}},{"id":"copilot.sparkle","title":"注意智能操作","description":"Copilot 通过 AI 支持的智能操作在整个 VS Code 界面上增强编码体验。\n查找 $（sparkle） 图标，如 [源代码管理视图](command:workbench.view.scm)，其中 Copilot 会根据代码更改生成提交消息和 PR 说明。\n\n[发现提示和技巧](https://code.visualstudio.com/docs/copilot/copilot-vscode-features)","when":"!chatEntitlementSignedOut || chatIsEnabled","media":{"video":{"dark":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/git-commit.mp4","light":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/git-commit-light.mp4","hc":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/git-commit-hc.mp4","hcLight":"https://vscodewalkthroughs.z1.web.core.windows.net/v0.26/git-commit-hclight.mp4"},"altText":"视频展示了在源代码管理输入框中单击火花图标，触发 GitHub Copilot 自动生成提交消息"}}]}],"jsonValidation":[{"fileMatch":"settings.json","url":"ccsettings://root/schema.json"}],"typescriptServerPlugins":[{"name":"@vscode/copilot-typescript-server-plugin","enableForWorkspaceTypeScriptVersions":true}],"chatSessions":[{"type":"claude-code","name":"claude","displayName":"Claude","icon":"$(claude)","welcomeTitle":"Claude Agent","welcomeMessage":"Powered by the same agent as Claude Code","inputPlaceholder":"Run local tasks with Claude, type `#` for adding context","order":3,"description":"将任务委托给计算机上本地运行的 Claude SDK。智能体通过聊天循环访问，并异步工作以实现更改。","when":"config.github.copilot.chat.claudeAgent.enabled && ((isSessionsWindow && !config.chat.agents.claude.preferAgentHost) || (!isSessionsWindow && !config.chat.editor.claude.preferAgentHost))","canDelegate":true,"requiresCustomModels":true,"supportsAutoModel":false,"capabilities":{"supportsFileAttachments":true,"supportsImageAttachments":true},"commands":[{"name":"init","description":"Initialize a new CLAUDE.md file with codebase documentation"},{"name":"pr-comments","description":"Get comments from a GitHub pull request"},{"name":"review","description":"Review a pull request"},{"name":"security-review","description":"Complete a security review of the pending changes on the current branch"},{"name":"simplify","description":"Review changed code for reuse, quality, and efficiency"},{"name":"claude-api","description":"Help building with Claude API or Anthropic SDK"},{"name":"agents","description":"Create and manage specialized Claude agents"},{"name":"hooks","description":"Configure Claude Code hooks for tool execution and events"},{"name":"memory","description":"Open memory files (CLAUDE.md) for editing"},{"name":"compact","description":"Compact the conversation history to save context tokens"}]},{"type":"copilotcli","name":"cli","displayName":"Copilot CLI","icon":"$(copilot)","welcomeTitle":"Copilot CLI","welcomeMessage":"Run tasks in the background with the Copilot CLI","inputPlaceholder":"Run tasks in the background with the Copilot CLI, type `#` for adding context","order":1,"canDelegate":true,"description":"将任务委托给在计算机上本地运行的后台代理程序。智能体通过聊天循环访问，并在 Git 工作树中异步工作，以使用 GitHub Copilot CLI 实现与主工作区隔离的更改。","when":"config.github.copilot.chat.backgroundAgent.enabled","supportsAutoModel":true,"capabilities":{"supportsFileAttachments":true,"supportsProblemAttachments":true,"supportsToolAttachments":false,"supportsImageAttachments":true,"supportsSymbolAttachments":true,"supportsSearchResultAttachments":true,"supportsSourceControlAttachments":true,"supportsPromptAttachments":true,"supportsHandOffs":true},"commands":[{"name":"delegate","description":"Delegate chat session to cloud agent and create associated PR","when":"config.github.copilot.chat.cloudAgent.enabled"},{"name":"compact","description":"通过压缩对话历史记录释放上下文"},{"name":"plan","description":"在编码前创建实现计划","when":"config.github.copilot.chat.cli.planCommand.enabled"},{"name":"fleet","description":"启用群体模式以实现并行子智能体执行","when":"false"},{"name":"remote","description":"显示远程控制状态，或使用 /remote 开和 /remote 关","when":"config.github.copilot.chat.cli.remote.enabled"}],"customAgentTarget":"github-copilot","requiresCustomModels":true,"autoAttachReferences":true,"useRequestToPopulateBuiltInPickers":true},{"type":"copilot-cloud-agent","alternativeIds":["copilot-swe-agent"],"name":"cloud","displayName":"Cloud","icon":"$(cloud)","welcomeTitle":"Cloud Agent","welcomeMessage":"Delegate tasks to the cloud","inputPlaceholder":"Delegate tasks to the cloud, type `#` for adding context","order":2,"canDelegate":true,"description":"将任务委托给 GitHub Copilot 编码智能体。智能体通过聊天循环访问，并在云中异步工作，以根据需要实现更改和拉取请求。","when":"config.github.copilot.chat.cloudAgent.enabled","supportsAutoModel":false,"capabilities":{"supportsFileAttachments":true},"autoAttachReferences":true}],"chatAgents":[],"chatPromptFiles":[{"path":"./assets/prompts/plan.prompt.md","sessionTypes":["local"]},{"path":"./assets/prompts/chronicle-standup.prompt.md","when":"github.copilot.sessionSearch.enabled","sessionTypes":["local"]},{"path":"./assets/prompts/chronicle-tips.prompt.md","when":"github.copilot.sessionSearch.enabled","sessionTypes":["local"]},{"path":"./assets/prompts/chronicle-cost-tips.prompt.md","when":"github.copilot.sessionSearch.enabled","sessionTypes":["local"]},{"path":"./assets/prompts/chronicle-improve.prompt.md","when":"github.copilot.sessionSearch.enabled","sessionTypes":["local"]},{"path":"./assets/prompts/chronicle-reindex.prompt.md","when":"github.copilot.sessionSearch.enabled","sessionTypes":["local"]},{"path":"./assets/prompts/chronicle-search.prompt.md","when":"github.copilot.sessionSearch.enabled","sessionTypes":["local"]}],"chatSkills":[{"path":"./assets/prompts/skills/project-setup-info-local/SKILL.md","when":"!config.github.copilot.chat.newWorkspace.useContext7","sessionTypes":["local"]},{"path":"./assets/prompts/skills/project-setup-info-context7/SKILL.md","when":"config.github.copilot.chat.newWorkspace.useContext7","sessionTypes":["local"]},{"path":"./assets/prompts/skills/install-vscode-extension/SKILL.md","when":"config.github.copilot.chat.installExtensionSkill.enabled && config.github.copilot.chat.newWorkspaceCreation.enabled","sessionTypes":["local"]},{"path":"./assets/prompts/skills/get-search-view-results/SKILL.md","sessionTypes":["local"]},{"path":"./assets/prompts/skills/troubleshoot/SKILL.md","sessionTypes":["local","copilotcli"]},{"path":"./assets/prompts/skills/agent-customization/SKILL.md","sessionTypes":["local","copilotcli"]},{"path":"./assets/prompts/skills/init/SKILL.md","sessionTypes":["local"]},{"path":"./assets/prompts/skills/create-prompt/SKILL.md","sessionTypes":["local"]},{"path":"./assets/prompts/skills/create-instructions/SKILL.md","sessionTypes":["local"]},{"path":"./assets/prompts/skills/create-skill/SKILL.md","sessionTypes":["local"]},{"path":"./assets/prompts/skills/create-agent/SKILL.md","sessionTypes":["local"]},{"path":"./assets/prompts/skills/create-hook/SKILL.md","sessionTypes":["local"]},{"path":"./assets/prompts/skills/chronicle/SKILL.md","when":"github.copilot.sessionSearch.enabled","sessionTypes":["local"]}],"terminal":{"profiles":[{"icon":"copilot","id":"copilot-cli","title":"GitHub Copilot CLI","titleTemplate":"${sequence}"}]}},"prettier":{"useTabs":true,"tabWidth":4,"singleQuote":true},"scripts":{"postinstall":"tsx ./script/postinstall.ts","build":"node .esbuild.mts --sourcemaps","compile":"node .esbuild.mts --dev","watch":"npm-run-all -lp watch:esbuild watch:typecheck","watch:esbuild":"node .esbuild.mts --watch --dev","watch:typecheck":"npx tsgo --noEmit --watch --preserveWatchOutput --project tsconfig.json","watch:typecheck-extension":"npx tsgo --noEmit --watch --project tsconfig.json","watch:typecheck-extension-web":"npx tsgo --noEmit --watch --project tsconfig.worker.json","watch:typecheck-simulation-workbench":"npx tsgo --noEmit --watch --project test/simulation/workbench/tsconfig.json","typecheck":"npx tsgo --noEmit --project tsconfig.json && npx tsgo --noEmit --project test/simulation/workbench/tsconfig.json && npx tsgo --noEmit --project tsconfig.worker.json && npx tsgo --noEmit --project src/extension/completions-core/vscode-node/extension/src/copilotPanel/webView/tsconfig.json","lint":"npx eslint . --max-warnings=0","lint-staged":"npx eslint --max-warnings=0","tsfmt":"npx tsfmt -r --verify","test":"npm-run-all test:*","test:extension":"vscode-test","test:sanity":"vscode-test --sanity","test:unit":"vitest --run --pool=forks","vitest":"vitest","bench":"vitest bench","get_env":"tsx script/setup/getEnv.mts","get_token":"tsx script/setup/getToken.mts","prettier":"prettier --list-different --write --cache .","simulate":"node dist/simulationMain.js","simulate-require-cache":"node dist/simulationMain.js --require-cache","simulate-ci":"node dist/simulationMain.js --ci --require-cache","simulate-update-baseline":"node dist/simulationMain.js --update-baseline","simulate-gc":"node dist/simulationMain.js --require-cache --gc","setup":"npm run get_env && npm run get_token","setup:dotnet":"run-script-os","setup:dotnet:darwin:linux":"curl -O https://raw.githubusercontent.com/dotnet/install-scripts/main/src/dotnet-install.sh && chmod u+x dotnet-install.sh && ./dotnet-install.sh --channel 10.0 && rm dotnet-install.sh","setup:dotnet:win32":"powershell.exe -NoProfile -ExecutionPolicy Bypass -Command \"Invoke-WebRequest -Uri https://raw.githubusercontent.com/dotnet/install-scripts/main/src/dotnet-install.ps1 -OutFile dotnet-install.ps1; ./dotnet-install.ps1 -channel 10.0; Remove-Item dotnet-install.ps1\"","analyze-edits":"tsx script/analyzeEdits.ts","extract-chat-lib":"tsx script/build/extractChatLib.ts","create_venv":"tsx script/setup/createVenv.mts","package":"vsce package","web":"vscode-test-web --headless --extensionDevelopmentPath=. .","test:prompt":"mocha \"src/extension/completions-core/vscode-node/prompt/**/test/**/*.test.{ts,tsx}\"","test:completions-core":"tsx src/extension/completions-core/vscode-node/extension/test/runTest.ts"},"devDependencies":{"@azure/identity":"4.9.1","@azure/keyvault-secrets":"^4.10.0","@azure/msal-node":"^3.6.3","@c4312/scip":"^0.1.0","@fluentui/react-components":"^9.66.6","@fluentui/react-icons":"^2.0.305","@hediet/node-reload":"^0.8.0","@octokit/types":"^14.1.0","@stylistic/eslint-plugin":"^3.0.1","@types/eslint":"^9.0.0","@types/express":"^5.0.6","@types/google-protobuf":"^3.15.12","@types/js-yaml":"^4.0.9","@types/markdown-it":"^14.0.0","@types/minimist":"^1.2.5","@types/mocha":"^10.0.10","@types/node":"^22.16.3","@types/picomatch":"^4.0.0","@types/react":"17.0.44","@types/react-dom":"^18.2.17","@types/sinon":"^17.0.4","@types/source-map-support":"^0.5.10","@types/tar":"^6.1.13","@types/vinyl":"^2.0.12","@types/vscode-webview":"^1.57.5","@types/ws":"^8.5.3","@types/yargs":"^17.0.24","@typescript-eslint/eslint-plugin":"^8.35.0","@typescript-eslint/parser":"^8.32.0","@typescript-eslint/typescript-estree":"^8.26.1","@typescript/native-preview":"^7.0.0-dev.20260429","@vitest/coverage-v8":"^4.1.8","@vitest/snapshot":"^1.5.0","@vscode/debugadapter":"^1.68.0","@vscode/debugprotocol":"^1.68.0","@vscode/dts":"^0.4.1","@vscode/lsif-language-service":"^0.1.0-pre.4","@vscode/test-cli":"^0.0.11","@vscode/test-electron":"^2.5.2","@vscode/test-web":"^0.0.80","@vscode/vsce":"3.6.0","copyfiles":"^2.4.1","csv-parse":"^6.0.0","dotenv":"^17.2.0","electron":"^39.8.5","esbuild":"0.28.1","fastq":"^1.19.1","glob":"^11.1.0","js-yaml":"^4.1.1","minimist":"^1.2.8","mobx":"^6.13.7","mobx-react-lite":"^4.1.0","mocha":"^11.7.1","mocha-junit-reporter":"^2.2.1","mocha-multi-reporters":"^1.5.1","monaco-editor":"0.44.0","npm-run-all":"^4.1.5","open":"^10.1.2","openai":"^6.7.0","outdent":"^0.8.0","picomatch":"^4.0.4","playwright":"^1.58.2","prettier":"^3.6.2","react":"^17.0.2","react-dom":"17.0.2","rimraf":"^6.0.1","run-script-os":"^1.1.6","shiki":"~1.15.0","sinon":"^21.0.0","source-map-support":"^0.5.21","tar":"^7.5.16","ts-dedent":"^2.2.0","tsx":"^4.22.4","typescript":"^5.8.3","vite-plugin-wasm":"^3.6.0","vitest":"^4.1.8","vscode-languageserver-protocol":"^3.17.5","vscode-languageserver-textdocument":"^1.0.12","vscode-languageserver-types":"^3.17.5","yaml":"^2.8.0","yargs":"^17.7.2","zod":"3.25.76"},"dependencies":{"@anthropic-ai/claude-agent-sdk":"0.2.112","@anthropic-ai/sdk":"^0.82.0","@github/blackbird-external-ingest-utils":"^0.3.0","@github/copilot":"^1.0.64-0","@google/genai":"^1.22.0","@humanwhocodes/gitignore-to-minimatch":"1.0.2","@microsoft/tiktokenizer":"^1.0.10","@modelcontextprotocol/sdk":"^1.25.2","@opentelemetry/api":"^1.9.0","@opentelemetry/api-logs":"^0.212.0","@opentelemetry/exporter-logs-otlp-grpc":"^0.214.0","@opentelemetry/exporter-logs-otlp-http":"^0.214.0","@opentelemetry/exporter-metrics-otlp-grpc":"^0.214.0","@opentelemetry/exporter-metrics-otlp-http":"^0.214.0","@opentelemetry/exporter-trace-otlp-grpc":"^0.214.0","@opentelemetry/exporter-trace-otlp-http":"^0.214.0","@opentelemetry/resources":"^2.5.1","@opentelemetry/sdk-logs":"^0.212.0","@opentelemetry/sdk-metrics":"^2.5.1","@opentelemetry/sdk-trace-node":"^2.5.1","@opentelemetry/semantic-conventions":"^1.39.0","@sinclair/typebox":"^0.34.41","@vscode/copilot-api":"^0.4.3","@vscode/extension-telemetry":"^1.5.1","@vscode/l10n":"^0.0.18","@vscode/prompt-tsx":"^0.4.0-alpha.8","@vscode/tree-sitter-wasm":"0.0.5-php.2","@vscode/webview-ui-toolkit":"^1.3.1","@xterm/headless":"^5.5.0","ajv":"^8.18.0","applicationinsights":"^2.9.7","best-effort-json-parser":"^1.2.1","diff":"^8.0.3","express":"^5.2.1","ignore":"^7.0.5","isbinaryfile":"^5.0.4","jsonc-parser":"^3.3.1","lru-cache":"^11.1.0","markdown-it":"^14.1.1","minimatch":"^10.2.1","undici":"^7.24.1","vscode-tas-client":"^0.1.84","web-tree-sitter":"^0.23.0"},"overrides":{"string_decoder":"npm:string_decoder@1.2.0","zod":"3.25.76"},"vscodeCommit":"94c8e2adc50e26ef70af85a0de3a9efed757acaa","isPreRelease":false,"originalEnabledApiProposals":["agentSessionsWorkspace","agentsWindowConfiguration","chatDebug","chatHooks","extensionsAny","newSymbolNamesProvider","interactive","codeActionAI","activeComment","commentReveal","contribCommentThreadAdditionalMenu","contribCommentsViewThreadMenus","contribChatEditorInlineGutterMenu","documentFiltersExclusive","embeddings","findTextInFiles","findTextInFiles2","languageModelToolSupportsModel","findFiles2","textSearchProvider","terminalDataWriteEvent","terminalExecuteCommandEvent","terminalSelection","terminalQuickFixProvider","mappedEditsProvider","aiRelatedInformation","aiSettingsSearch","chatParticipantAdditions","defaultChatParticipant","contribSourceControlInputBoxMenu","authLearnMore","testObserver","aiTextSearchProvider","chatParticipantPrivate","chatProvider","contribDebugCreateConfiguration","chatReferenceDiagnostic","textSearchProvider2","chatReferenceBinaryData","languageModelSystem","languageModelCapabilities","languageModelPricing","inlineCompletionsAdditions","chatStatusItem","chatInputNotification","taskProblemMatcherStatus","contribLanguageModelToolSets","textDocumentChangeReason","resolvers","taskExecutionTerminal","dataChannels","languageModelThinkingPart","chatSessionsProvider","devDeviceId","contribEditorContentMenu","chatPromptFiles","mcpServerDefinitions","tabInputMultiDiff","workspaceTrust","environmentPower","terminalTitle","toolInvocationApproveCombination","chatSessionCustomizationProvider"]},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/copilot","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","metadata":{},"isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":true},{"type":0,"identifier":{"id":"vscode.cpp"},"manifest":{"name":"cpp","displayName":"C/C++ 语言基础功能","description":"在 C/C++ 文件中提供代码片段、语法高亮、括号匹配和折叠功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ./build/update-grammars.js"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"c","extensions":[".c",".i"],"aliases":["C","c"],"configuration":"./language-configuration.json"},{"id":"cpp","extensions":[".cpp",".cppm",".cc",".ccm",".cxx",".cxxm",".c++",".c++m",".hpp",".hh",".hxx",".h++",".h",".ii",".ino",".inl",".ipp",".ixx",".tpp",".txx",".hpp.in",".h.in"],"aliases":["C++","Cpp","cpp"],"configuration":"./language-configuration.json"},{"id":"cuda-cpp","extensions":[".cu",".cuh"],"aliases":["CUDA C++"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"c","scopeName":"source.c","path":"./syntaxes/c.tmLanguage.json"},{"language":"cpp","scopeName":"source.cpp.embedded.macro","path":"./syntaxes/cpp.embedded.macro.tmLanguage.json"},{"language":"cpp","scopeName":"source.cpp","path":"./syntaxes/cpp.tmLanguage.json"},{"scopeName":"source.c.platform","path":"./syntaxes/platform.tmLanguage.json"},{"language":"cuda-cpp","scopeName":"source.cuda-cpp","path":"./syntaxes/cuda-cpp.tmLanguage.json"}],"problemPatterns":[{"name":"nvcc-location","regexp":"^(.*)\\((\\d+)\\):\\s+(warning|error):\\s+(.*)","kind":"location","file":1,"location":2,"severity":3,"message":4}],"problemMatchers":[{"name":"nvcc","owner":"cuda-cpp","fileLocation":["relative","${workspaceFolder}"],"pattern":"$nvcc-location"}],"snippets":[{"language":"c","path":"./snippets/c.code-snippets"},{"language":"cpp","path":"./snippets/cpp.code-snippets"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/cpp","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.csharp"},"manifest":{"name":"csharp","displayName":"C# 语言基础功能","description":"在 C# 文件中提供代码片段、语法高亮、括号匹配和折叠功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"0.10.x"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin dotnet/csharp-tmLanguage grammars/csharp.tmLanguage ./syntaxes/csharp.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"configurationDefaults":{"[csharp]":{"editor.maxTokenizationLineLength":2500}},"languages":[{"id":"csharp","extensions":[".cs",".csx",".cake"],"aliases":["C#","csharp"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"csharp","scopeName":"source.cs","path":"./syntaxes/csharp.tmLanguage.json","tokenTypes":{"meta.interpolation":"other"},"unbalancedBracketScopes":["keyword.operator.relational.cs","keyword.operator.arrow.cs","punctuation.accessor.pointer.cs","keyword.operator.bitwise.shift.cs","keyword.operator.assignment.compound.bitwise.cs"]}],"snippets":[{"language":"csharp","path":"./snippets/csharp.code-snippets"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/csharp","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.css"},"manifest":{"name":"css","displayName":"CSS 语言基础功能","description":"为 CSS、LESS 和 SCSS 文件中提供语法高亮和括号匹配功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"0.10.x"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin microsoft/vscode-css grammars/css.cson ./syntaxes/css.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"css","aliases":["CSS","css"],"extensions":[".css"],"mimetypes":["text/css"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"css","scopeName":"source.css","path":"./syntaxes/css.tmLanguage.json","tokenTypes":{"meta.function.url string.quoted":"other"}}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/css","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.css-language-features"},"manifest":{"name":"css-language-features","displayName":"CSS 语言功能","description":"为 CSS、LESS 和 SCSS 文件提供丰富的语言支持。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"^1.77.0"},"icon":"icons/css.png","activationEvents":["onLanguage:css","onLanguage:less","onLanguage:scss"],"main":"./client/dist/node/cssClientMain","browser":"./client/dist/browser/cssClientMain","capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"categories":["Programming Languages"],"contributes":{"configuration":[{"order":22,"id":"css","title":"CSS","properties":{"css.customData":{"type":"array","markdownDescription":"一个相对文件路径列表，这些路径指向采用[自定义数据格式](https://github.com/microsoft/vscode-css-languageservice/blob/master/docs/customData.md)的 JSON 文件。\r\n\r\nVS Code 在启动时会加载自定义数据，从而增强它对你在 JSON 文件中指定的自定义 CSS 属性（变量）、at 规则、伪类和伪元素的 CSS 支持。\r\n\r\n这些文件路径与工作区相对，且只考虑工作区文件夹设置。","default":[],"items":{"type":"string"},"scope":"resource"},"css.completion.triggerPropertyValueCompletion":{"type":"boolean","scope":"resource","default":true,"description":"默认情况下，VS Code 在选择 CSS 属性后触发属性值完成。使用此设置可禁用此行为。"},"css.completion.completePropertyWithSemicolon":{"type":"boolean","scope":"resource","default":true,"description":"补全 CSS 属性时在行尾插入分号。"},"css.validate":{"type":"boolean","scope":"resource","default":true,"description":"启用或禁用所有验证。"},"css.hover.documentation":{"type":"boolean","scope":"resource","default":true,"description":"在 CSS 悬停中显示属性和值文档。"},"css.hover.references":{"type":"boolean","scope":"resource","default":true,"description":"在 CSS 悬停时显示 MDN 的引用。"},"css.lint.compatibleVendorPrefixes":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"使用厂商特定的前缀时，同时添加所有其他厂商特定的属性。"},"css.lint.vendorPrefix":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","description":"使用厂商特定的前缀时，同时添加标准属性。"},"css.lint.duplicateProperties":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"不要使用重复的样式定义。"},"css.lint.emptyRules":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","description":"不要使用空规则集。"},"css.lint.importStatement":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"import 语句没有并行加载。"},"css.lint.boxModel":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","markdownDescription":"在使用 `padding` 或 `border` 时，不要使用 `width` 或 `height`。"},"css.lint.universalSelector":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","markdownDescription":"通配选择符 (`*`) 的运行效率低。"},"css.lint.zeroUnits":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"零不需要单位。"},"css.lint.fontFaceProperties":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","markdownDescription":"`@font-face` 规则必须定义 `src` 和 `font-family` 属性。"},"css.lint.hexColorLength":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"error","description":"十六进制颜色必须包含 3、4、6 或 8 个十六进制数字。"},"css.lint.argumentsInColorFunction":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"error","description":"参数数目无效。"},"css.lint.unknownProperties":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","description":"未知的属性。"},"css.lint.validProperties":{"type":"array","uniqueItems":true,"items":{"type":"string"},"scope":"resource","default":[],"markdownDescription":"不根据 \"unknownProperties\" 规则进行验证的属性列表。"},"css.lint.ieHack":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"仅在需要支持 IE7 及更低版本时，才需要 IE hack。"},"css.lint.unknownVendorSpecificProperties":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"未知的供应商特定属性。"},"css.lint.propertyIgnoredDueToDisplay":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","markdownDescription":"由于 `display` 属性值，属性被忽略。例如，使用 `display: inline` 时，`width`、`height`、`margin-top`、`margin-bottom` 和 `float` 属性将不起作用。"},"css.lint.important":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","markdownDescription":"避免使用 `!important`。它表明整个 CSS 的优先级已经失去控制且需要进行重构。"},"css.lint.float":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","markdownDescription":"避免使用 `float`。浮动会使 CSS 变得脆弱。即使只更改了一部分布局，也很容易造成破坏。"},"css.lint.idSelector":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"选择器不应包含 ID，因为这些规则与 HTML 的耦合过于紧密。"},"css.lint.unknownAtRules":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","description":"未知的 @ 规则。"},"css.trace.server":{"type":"string","scope":"window","enum":["off","messages","verbose"],"default":"off","description":"跟踪 VS Code 与 CSS 语言服务器之间的通信。"},"css.format.enable":{"type":"boolean","scope":"window","default":true,"description":"启用/禁用默认的 CSS 格式化程序。"},"css.format.newlineBetweenSelectors":{"type":"boolean","scope":"resource","default":true,"markdownDescription":"用新行分隔选择器。"},"css.format.newlineBetweenRules":{"type":"boolean","scope":"resource","default":true,"markdownDescription":"用空白行分隔规则集。"},"css.format.spaceAroundSelectorSeparator":{"type":"boolean","scope":"resource","default":false,"markdownDescription":"确保选择器分隔符 `>`、`+`、`~` 周围有空格字符(例如 `a > b`)。"},"css.format.braceStyle":{"type":"string","scope":"resource","default":"collapse","enum":["collapse","expand"],"markdownDescription":"将大括号放在规则的同一行(`折叠`)或将大括号放在自己所在行上(`展开`)。"},"css.format.preserveNewLines":{"type":"boolean","scope":"resource","default":true,"markdownDescription":"是否应保留规则和声明之前的现有换行符。"},"css.format.maxPreserveNewLines":{"type":["number","null"],"scope":"resource","default":null,"markdownDescription":"启用 `#css.format.preserveNewLines#` 后要在一个区块中保留的最大换行符数。"}}},{"id":"scss","order":24,"title":"SCSS (Sass)","properties":{"scss.completion.triggerPropertyValueCompletion":{"type":"boolean","scope":"resource","default":true,"description":"默认情况下，VS Code 在选择 CSS 属性后触发属性值完成。使用此设置可禁用此行为。"},"scss.completion.completePropertyWithSemicolon":{"type":"boolean","scope":"resource","default":true,"description":"补全 CSS 属性时在行尾插入分号。"},"scss.validate":{"type":"boolean","scope":"resource","default":true,"description":"启用或禁用所有验证。"},"scss.hover.documentation":{"type":"boolean","scope":"resource","default":true,"description":"在 SCSS 悬停中显示属性和值文档。"},"scss.hover.references":{"type":"boolean","scope":"resource","default":true,"description":"在 SCSS 悬停时显示 MDN 的引用。"},"scss.lint.compatibleVendorPrefixes":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"使用厂商特定的前缀时，同时添加所有其他厂商特定的属性。"},"scss.lint.vendorPrefix":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","description":"使用厂商特定的前缀时，同时添加标准属性。"},"scss.lint.duplicateProperties":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"不要使用重复的样式定义。"},"scss.lint.emptyRules":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","description":"不要使用空规则集。"},"scss.lint.importStatement":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"import 语句没有并行加载。"},"scss.lint.boxModel":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","markdownDescription":"在使用 `padding` 或 `border` 时，不要使用 `width` 或 `height`。"},"scss.lint.universalSelector":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","markdownDescription":"通配选择符 (`*`) 的运行效率低。"},"scss.lint.zeroUnits":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"零不需要单位。"},"scss.lint.fontFaceProperties":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","markdownDescription":"`@font-face` 规则必须定义 `src` 和 `font-family` 属性。"},"scss.lint.hexColorLength":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"error","description":"十六进制颜色必须包含 3、4、6 或 8 个十六进制数字。"},"scss.lint.argumentsInColorFunction":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"error","description":"参数数目无效。"},"scss.lint.unknownProperties":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","description":"未知的属性。"},"scss.lint.validProperties":{"type":"array","uniqueItems":true,"items":{"type":"string"},"scope":"resource","default":[],"markdownDescription":"不根据 \"unknownProperties\" 规则进行验证的属性列表。"},"scss.lint.ieHack":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"仅在需要支持 IE7 及更低版本时，才需要 IE hack。"},"scss.lint.unknownVendorSpecificProperties":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"未知的供应商特定属性。"},"scss.lint.propertyIgnoredDueToDisplay":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","markdownDescription":"由于 `display` 属性值，属性被忽略。例如，使用 `display: inline` 时，`width`、`height`、`margin-top`、`margin-bottom` 和 `float` 属性将不起作用。"},"scss.lint.important":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","markdownDescription":"避免使用 `!important`。它表明整个 CSS 的优先级已经失去控制且需要进行重构。"},"scss.lint.float":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","markdownDescription":"避免使用 `float`。浮动会使 CSS 变得脆弱。即使只更改了一部分布局，也很容易造成破坏。"},"scss.lint.idSelector":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"选择器不应包含 ID，因为这些规则与 HTML 的耦合过于紧密。"},"scss.lint.unknownAtRules":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","description":"未知的 @ 规则。"},"scss.format.enable":{"type":"boolean","scope":"window","default":true,"description":"启用/禁用默认的 SCSS 格式化程序。"},"scss.format.newlineBetweenSelectors":{"type":"boolean","scope":"resource","default":true,"markdownDescription":"用新行分隔选择器。"},"scss.format.newlineBetweenRules":{"type":"boolean","scope":"resource","default":true,"markdownDescription":"用空白行分隔规则集。"},"scss.format.spaceAroundSelectorSeparator":{"type":"boolean","scope":"resource","default":false,"markdownDescription":"确保选择器分隔符 `>`、`+`、`~` 周围有空格字符(例如 `a > b`)。"},"scss.format.braceStyle":{"type":"string","scope":"resource","default":"collapse","enum":["collapse","expand"],"markdownDescription":"将大括号放在规则的同一行(`折叠`)或将大括号放在自己所在行上(`展开`)。"},"scss.format.preserveNewLines":{"type":"boolean","scope":"resource","default":true,"markdownDescription":"是否应保留规则和声明之前的现有换行符。"},"scss.format.maxPreserveNewLines":{"type":["number","null"],"scope":"resource","default":null,"markdownDescription":"启用 `#scss.format.preserveNewLines#` 后要在一个区块中保留的最大换行符数。"}}},{"id":"less","order":23,"type":"object","title":"LESS","properties":{"less.completion.triggerPropertyValueCompletion":{"type":"boolean","scope":"resource","default":true,"description":"默认情况下，VS Code 在选择 CSS 属性后触发属性值完成。使用此设置可禁用此行为。"},"less.completion.completePropertyWithSemicolon":{"type":"boolean","scope":"resource","default":true,"description":"补全 CSS 属性时在行尾插入分号。"},"less.validate":{"type":"boolean","scope":"resource","default":true,"description":"启用或禁用所有验证。"},"less.hover.documentation":{"type":"boolean","scope":"resource","default":true,"description":"在 LESS 悬停中显示属性和值文档。"},"less.hover.references":{"type":"boolean","scope":"resource","default":true,"description":"在 LESS 悬停时显示 MDN 的引用。"},"less.lint.compatibleVendorPrefixes":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"使用厂商特定的前缀时，同时添加所有其他厂商特定的属性。"},"less.lint.vendorPrefix":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","description":"使用厂商特定的前缀时，同时添加标准属性。"},"less.lint.duplicateProperties":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"不要使用重复的样式定义。"},"less.lint.emptyRules":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","description":"不要使用空规则集。"},"less.lint.importStatement":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"import 语句没有并行加载。"},"less.lint.boxModel":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","markdownDescription":"在使用 `padding` 或 `border` 时，不要使用 `width` 或 `height`。"},"less.lint.universalSelector":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","markdownDescription":"通配选择符 (`*`) 的运行效率低。"},"less.lint.zeroUnits":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"零不需要单位。"},"less.lint.fontFaceProperties":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","markdownDescription":"`@font-face` 规则必须定义 `src` 和 `font-family` 属性。"},"less.lint.hexColorLength":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"error","description":"十六进制颜色必须包含 3、4、6 或 8 个十六进制数字。"},"less.lint.argumentsInColorFunction":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"error","description":"参数数目无效。"},"less.lint.unknownProperties":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","description":"未知的属性。"},"less.lint.validProperties":{"type":"array","uniqueItems":true,"items":{"type":"string"},"scope":"resource","default":[],"markdownDescription":"不根据 \"unknownProperties\" 规则进行验证的属性列表。"},"less.lint.ieHack":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"仅在需要支持 IE7 及更低版本时，才需要 IE hack。"},"less.lint.unknownVendorSpecificProperties":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"未知的供应商特定属性。"},"less.lint.propertyIgnoredDueToDisplay":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","markdownDescription":"由于 `display` 属性值，属性被忽略。例如，使用 `display: inline` 时，`width`、`height`、`margin-top`、`margin-bottom` 和 `float` 属性将不起作用。"},"less.lint.important":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","markdownDescription":"避免使用 `!important`。它表明整个 CSS 的优先级已经失去控制且需要进行重构。"},"less.lint.float":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","markdownDescription":"避免使用 `float`。浮动会使 CSS 变得脆弱。即使只更改了一部分布局，也很容易造成破坏。"},"less.lint.idSelector":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"ignore","description":"选择器不应包含 ID，因为这些规则与 HTML 的耦合过于紧密。"},"less.lint.unknownAtRules":{"type":"string","scope":"resource","enum":["ignore","warning","error"],"default":"warning","description":"未知的 @ 规则。"},"less.format.enable":{"type":"boolean","scope":"window","default":true,"description":"启用/禁用默认的 LESS 格式化程序。"},"less.format.newlineBetweenSelectors":{"type":"boolean","scope":"resource","default":true,"markdownDescription":"用新行分隔选择器。"},"less.format.newlineBetweenRules":{"type":"boolean","scope":"resource","default":true,"markdownDescription":"用空白行分隔规则集。"},"less.format.spaceAroundSelectorSeparator":{"type":"boolean","scope":"resource","default":false,"markdownDescription":"确保选择器分隔符 `>`、`+`、`~` 周围有空格字符(例如 `a > b`)。"},"less.format.braceStyle":{"type":"string","scope":"resource","default":"collapse","enum":["collapse","expand"],"markdownDescription":"将大括号放在规则的同一行(`折叠`)或将大括号放在自己所在行上(`展开`)。"},"less.format.preserveNewLines":{"type":"boolean","scope":"resource","default":true,"markdownDescription":"是否应保留规则和声明之前的现有换行符。"},"less.format.maxPreserveNewLines":{"type":["number","null"],"scope":"resource","default":null,"markdownDescription":"启用 `#less.format.preserveNewLines#` 后要在一个区块中保留的最大换行符数。"}}}],"configurationDefaults":{"[css]":{"editor.suggest.insertMode":"replace"},"[scss]":{"editor.suggest.insertMode":"replace"},"[less]":{"editor.suggest.insertMode":"replace"}},"jsonValidation":[{"fileMatch":"*.css-data.json","url":"https://raw.githubusercontent.com/microsoft/vscode-css-languageservice/master/docs/customData.schema.json"},{"fileMatch":"package.json","url":"./schemas/package.schema.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/css-language-features","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.dart"},"manifest":{"name":"dart","displayName":"Dart 语言基本信息","description":"在 Dart 文件中提供语法突出显示和括号匹配功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"0.10.x"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin dart-lang/dart-syntax-highlight grammars/dart.json ./syntaxes/dart.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"dart","extensions":[".dart"],"aliases":["Dart"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"dart","scopeName":"source.dart","path":"./syntaxes/dart.tmLanguage.json"}]}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/dart","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.debug-auto-launch"},"manifest":{"name":"debug-auto-launch","displayName":"Node 调试自动附加","description":"当 node-debug 扩展未启用时提供自动附加的辅助程序。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"^1.5.0"},"icon":"media/icon.png","capabilities":{"virtualWorkspaces":false,"untrustedWorkspaces":{"supported":true}},"activationEvents":["onStartupFinished"],"main":"./dist/extension","contributes":{"commands":[{"command":"extension.node-debug.toggleAutoAttach","title":{"value":"切换开关自动附加","original":"Toggle Auto Attach"},"category":"Debug"}]},"prettier":{"printWidth":100,"trailingComma":"all","singleQuote":true,"arrowParens":"avoid"},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/debug-auto-launch","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.debug-server-ready"},"manifest":{"name":"debug-server-ready","displayName":"服务器就绪操作","description":"如果正在调试的服务器已准备就绪，在浏览器中打开 URI。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"^1.32.0"},"icon":"media/icon.png","activationEvents":["onDebugResolve"],"capabilities":{"virtualWorkspaces":false,"untrustedWorkspaces":{"supported":true}},"enabledApiProposals":["terminalDataWriteEvent"],"main":"./dist/extension","contributes":{"debuggers":[{"type":"*","configurationAttributes":{"launch":{"properties":{"serverReadyAction":{"oneOf":[{"type":"object","additionalProperties":false,"markdownDescription":"当正在调试的服务器程序准备就绪时，执行URI (通过 \"listening on port 3000\" 或 \"Now listening on: https://localhost:5001\" 的形式发送至调试控制台 )。","default":{"action":"openExternally","killOnServerStop":false},"properties":{"action":{"type":"string","enum":["openExternally","openIntegratedBrowser"],"enumDescriptions":["使用默认应用程序在外部打开 URI。","在集成浏览器中打开 URI。"],"markdownDescription":"当服务器准备就绪时，如何处理 URI。","default":"openExternally"},"pattern":{"type":"string","markdownDescription":"此模式出现在调试控制台上表示服务器已准备就绪。首个捕获组必须包含一个 URI 或端口号。","default":"listening on port ([0-9]+)"},"uriFormat":{"type":"string","markdownDescription":"从端口号构造 URI 时使用的格式字符串。第一个 \"%s\" 将替换为端口号。","default":"http://localhost:%s"},"killOnServerStop":{"type":"boolean","markdownDescription":"在父会话停止时停止子会话。","default":false}}},{"type":"object","additionalProperties":false,"markdownDescription":"当正在调试的服务器程序准备就绪时，执行URI (通过 \"listening on port 3000\" 或 \"Now listening on: https://localhost:5001\" 的形式发送至调试控制台 )。","default":{"action":"debugWithEdge","pattern":"listening on port ([0-9]+)","uriFormat":"http://localhost:%s","webRoot":"${workspaceFolder}","killOnServerStop":false},"properties":{"action":{"type":"string","enum":["debugWithChrome","debugWithEdge"],"enumDescriptions":["开始使用 \"Debugger for Chrome\" 进行调试。"],"markdownDescription":"当服务器准备就绪时，如何处理 URI。","default":"debugWithEdge"},"pattern":{"type":"string","markdownDescription":"此模式出现在调试控制台上表示服务器已准备就绪。首个捕获组必须包含一个 URI 或端口号。","default":"listening on port ([0-9]+)"},"uriFormat":{"type":"string","markdownDescription":"从端口号构造 URI 时使用的格式字符串。第一个 \"%s\" 将替换为端口号。","default":"http://localhost:%s"},"webRoot":{"type":"string","markdownDescription":"传递给 \"Debugger for Chrome\" 调试配置的值。","default":"${workspaceFolder}"},"killOnServerStop":{"type":"boolean","markdownDescription":"在父会话停止时停止子会话。","default":false}}},{"type":"object","additionalProperties":false,"markdownDescription":"当正在调试的服务器程序准备就绪时，执行URI (通过 \"listening on port 3000\" 或 \"Now listening on: https://localhost:5001\" 的形式发送至调试控制台 )。","default":{"action":"startDebugging","name":"<launch browser config name>","killOnServerStop":false},"required":["name"],"properties":{"action":{"type":"string","enum":["startDebugging"],"enumDescriptions":["运行另一启动配置。"],"markdownDescription":"当服务器准备就绪时，如何处理 URI。","default":"startDebugging"},"pattern":{"type":"string","markdownDescription":"此模式出现在调试控制台上表示服务器已准备就绪。首个捕获组必须包含一个 URI 或端口号。","default":"listening on port ([0-9]+)"},"name":{"type":"string","markdownDescription":"要运行的启动配置的名称。","default":"Launch Browser"},"killOnServerStop":{"type":"boolean","markdownDescription":"在父会话停止时停止子会话。","default":false}}},{"type":"object","additionalProperties":false,"markdownDescription":"当正在调试的服务器程序准备就绪时，执行URI (通过 \"listening on port 3000\" 或 \"Now listening on: https://localhost:5001\" 的形式发送至调试控制台 )。","default":{"action":"startDebugging","config":{"type":"node","request":"launch"},"killOnServerStop":false},"required":["config"],"properties":{"action":{"type":"string","enum":["startDebugging"],"enumDescriptions":["运行另一启动配置。"],"markdownDescription":"当服务器准备就绪时，如何处理 URI。","default":"startDebugging"},"pattern":{"type":"string","markdownDescription":"此模式出现在调试控制台上表示服务器已准备就绪。首个捕获组必须包含一个 URI 或端口号。","default":"listening on port ([0-9]+)"},"config":{"type":"object","markdownDescription":"要运行的调试配置。","default":{}},"killOnServerStop":{"type":"boolean","markdownDescription":"在父会话停止时停止子会话。","default":false}}}]}}}}}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"},"originalEnabledApiProposals":["terminalDataWriteEvent"]},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/debug-server-ready","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.diff"},"manifest":{"name":"diff","displayName":"差异语言基础知识","description":"在差异文件中提供语法突出显示和括号匹配。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"0.10.x"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin textmate/diff.tmbundle Syntaxes/Diff.plist ./syntaxes/diff.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"diff","aliases":["Diff","diff"],"extensions":[".diff",".patch",".rej"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"diff","scopeName":"source.diff","path":"./syntaxes/diff.tmLanguage.json"}]}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/diff","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.docker"},"manifest":{"name":"docker","displayName":"Docker 语言基础功能","description":"在 Docker 文件中提供语法高亮和括号匹配功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"dockerfile","extensions":[".dockerfile",".containerfile"],"filenames":["Dockerfile","Containerfile"],"filenamePatterns":["Dockerfile.*","Containerfile.*"],"aliases":["Docker","Dockerfile","Containerfile"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"dockerfile","scopeName":"source.dockerfile","path":"./syntaxes/docker.tmLanguage.json"}],"configurationDefaults":{"[dockerfile]":{"editor.quickSuggestions":{"strings":true}}}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/docker","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.dotenv"},"manifest":{"name":"dotenv","displayName":"Dotenv 语言基础","description":"在 dotenv 文件中提供语法高亮和括号匹配功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin dotenv-org/dotenv-vscode syntaxes/dotenv.tmLanguage.json ./syntaxes/dotenv.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"dotenv","extensions":[".env"],"filenames":[".env",".flaskenv","user-dirs.dirs"],"filenamePatterns":[".env.*"],"aliases":["Dotenv"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"dotenv","scopeName":"source.dotenv","path":"./syntaxes/dotenv.tmLanguage.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/dotenv","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.emmet"},"manifest":{"name":"emmet","displayName":"Emmet","description":"适用于 VS Code 的 Emmet 支持","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"^1.13.0"},"icon":"images/icon.png","categories":["Other"],"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"},"activationEvents":["onCommand:emmet.expandAbbreviation","onLanguage"],"main":"./dist/node/emmetNodeMain","browser":"./dist/browser/emmetBrowserMain","contributes":{"configuration":{"type":"object","title":"Emmet","properties":{"emmet.showExpandedAbbreviation":{"type":["string"],"enum":["never","always","inMarkupAndStylesheetFilesOnly"],"default":"always","markdownDescription":"以建议的形式显示展开的 Emmet 缩写。\r\n选项 `\"inMarkupAndStylesheetFilesOnly\"` 适用于 html、haml、jade、slim、xml、xsl、css、scss、sass、less 和 stylus。\r\n无论 markup/css 如何，选项 `\"always\"` 都适用于文件的各个部分。"},"emmet.showAbbreviationSuggestions":{"type":"boolean","default":true,"scope":"language-overridable","markdownDescription":"将可能的 Emmet 缩写作为建议进行显示。当在样式表中或 emmet.showExpandedAbbreviation 设置为 `\"never\"` 时不适用。"},"emmet.includeLanguages":{"type":"object","additionalProperties":{"type":"string"},"default":{},"markdownDescription":"在默认不受支持的语言中启用 Emmet 缩写。在此语言和 Emmet 支持的语言之间添加映射。\r\n 例如: `{\"vue-html\": \"html\", \"javascript\": \"javascriptreact\"}`"},"emmet.variables":{"type":"object","properties":{"lang":{"type":"string","default":"en"},"charset":{"type":"string","default":"UTF-8"}},"additionalProperties":{"type":"string"},"default":{},"markdownDescription":"用于 Emmet 代码片段的变量。"},"emmet.syntaxProfiles":{"type":"object","default":{},"markdownDescription":"为指定的语法定义配置文件或使用带有特定规则的配置文件。"},"emmet.excludeLanguages":{"type":"array","items":{"type":"string"},"default":["markdown"],"markdownDescription":"不应展开 Emmet 缩写的语言数组。"},"emmet.extensionsPath":{"type":"array","items":{"type":"string","markdownDescription":"包含 Emmet syntaxProfiles 和/或片段的路径。"},"default":[],"scope":"machine-overridable","markdownDescription":"一组路径，其中每个路径都可以包含 Emmet syntaxProfiles 和/或代码片段。\r\n发生冲突时，后面路径的配置文件/代码段将重写以前的路径。\r\n有关详细信息和示例片段文件，请参见 https://code.visualstudio.com/docs/editor/emmet。"},"emmet.triggerExpansionOnTab":{"type":"boolean","default":false,"scope":"language-overridable","markdownDescription":"启用后，在按 Tab 时会展开 Emmet 缩写，即使未显示完成。禁用后，仍可通过按 TAB 接受显示的完成。"},"emmet.useInlineCompletions":{"type":"boolean","default":false,"markdownDescription":"如果为 `true`，Emmet 将使用内联完成来建议扩展。如果要防止非内联完成项提供程序在此设置为 `true` 时频繁显示，请将 `other` 项的 `#editor.quickSuggestions#` 转换为 `inline` 或 `off`。"},"emmet.preferences":{"type":"object","default":{},"markdownDescription":"用于修改 Emmet 某些操作和解析程序的行为的首选项。","properties":{"css.intUnit":{"type":"string","default":"px","markdownDescription":"整数值的默认单位。"},"css.floatUnit":{"type":"string","default":"em","markdownDescription":"浮点数值的默认单位。"},"css.propertyEnd":{"type":"string","default":";","markdownDescription":"展开 CSS 缩写时在 CSS 属性末尾放置的符号。"},"sass.propertyEnd":{"type":"string","default":"","markdownDescription":"在 Sass 文件中展开 CSS 缩写时在 CSS 属性末尾放置的符号。"},"stylus.propertyEnd":{"type":"string","default":"","markdownDescription":"在 Stylus 文件中展开 CSS 缩写时在 CSS 属性末尾放置的符号。"},"css.valueSeparator":{"type":"string","default":": ","markdownDescription":"展开 CSS 缩写时在 CSS 属性之间放置的符号。"},"sass.valueSeparator":{"type":"string","default":": ","markdownDescription":"在 Sass 文件中展开 CSS 缩写时在 CSS 属性之间放置的符号。"},"stylus.valueSeparator":{"type":"string","default":" ","markdownDescription":"在 Stylus 文件中展开 CSS 缩写时在 CSS 属性之间放置的符号。"},"bem.elementSeparator":{"type":"string","default":"__","markdownDescription":"在使用 BEM 过滤器时，类名使用的元素分隔符。"},"bem.modifierSeparator":{"type":"string","default":"_","markdownDescription":"在使用 BEM 过滤器时，类名使用的修饰符分隔符。"},"filter.commentBefore":{"type":"string","default":"","markdownDescription":"使用注释过滤器时，应置于匹配元素前注释的定义。"},"filter.commentAfter":{"type":"string","default":"\n<!-- /[#ID][.CLASS] -->","markdownDescription":"使用注释过滤器时，应置于匹配元素后注释的定义。"},"filter.commentTrigger":{"type":"array","default":["id","class"],"markdownDescription":"用半角逗号(“,”)隔开的属性名缩写的数组，将由注释筛选器应用。"},"format.noIndentTags":{"type":"array","default":["html"],"markdownDescription":"从不应向内缩进的标记名称数组。"},"format.forceIndentationForTags":{"type":"array","default":["body"],"markdownDescription":"表示应始终向内缩进的标记名称数组。"},"profile.allowCompactBoolean":{"type":"boolean","default":false,"markdownDescription":"若为“true”，将生成紧凑型布尔属性。"},"css.webkitProperties":{"type":"string","default":null,"markdownDescription":"Emmet 缩写中使用的由 `-` 打头有 `webkit` 前缀的 CSS 属性，使用半角逗号(,)进行分隔。若要始终避免 `webkit` 前缀，请设为空字符串。"},"css.mozProperties":{"type":"string","default":null,"markdownDescription":"Emmet 缩写中使用的由 `-` 打头有 `moz` 前缀的 CSS 属性，使用半角逗号(,)进行分隔。若要始终避免 `moz` 前缀，请设为空字符串。"},"css.oProperties":{"type":"string","default":null,"markdownDescription":"Emmet 缩写中使用的由 `-` 打头有 `o` 前缀的 CSS 属性，使用半角逗号(,)进行分隔。若要始终避免 `o` 前缀，请设为空字符串。"},"css.msProperties":{"type":"string","default":null,"markdownDescription":"Emmet 缩写中使用的由 `-` 打头有 `ms` 前缀的 CSS 属性，使用半角逗号(,)进行分隔。若要始终避免 `ms` 前缀，请设为空字符串。"},"css.fuzzySearchMinScore":{"type":"number","default":0.3,"markdownDescription":"显示的缩写模糊匹配应达到的最低分数 (0 到 1 之间)。较低的值可能使匹配错误变多，较高的值可能将不会显示应有的匹配项。"},"output.inlineBreak":{"type":"number","default":0,"markdownDescription":"要在这些元素之间放置换行符时所需的同级内联元素的数量。如果为 \"0\"，则内联元素始终扩展到一行。"},"output.reverseAttributes":{"type":"boolean","default":false,"markdownDescription":"如果为 \"true\"，则在解析代码片段时反转属性合并方向。"},"output.selfClosingStyle":{"type":"string","enum":["html","xhtml","xml"],"default":"html","markdownDescription":"自结束标记的样式: html (`<br>`)、xml (`<br/>`) 或 xhtml (`<br />`)。"},"css.color.short":{"type":"boolean","default":true,"markdownDescription":"如果为 \"true\"，则 `#f` 之类的颜色值将扩展为 `#fff` 而不是 `#ffffff`。"}}},"emmet.showSuggestionsAsSnippets":{"type":"boolean","default":false,"markdownDescription":"若为 `true`，Emmet 建议将显示为代码片段。可以在 `#editor.snippetSuggestions#` 设置中排列其顺序。"},"emmet.optimizeStylesheetParsing":{"type":"boolean","default":true,"markdownDescription":"当设置为 `false` 时，将分析整个文件并确定当前位置能否展开 Emmet 缩写。当设置为 `true` 时，将仅在 CSS/SCSS/LESS 文件中分析当前位置周围的内容。"}}},"commands":[{"command":"editor.emmet.action.wrapWithAbbreviation","title":{"value":"使用缩写包围","original":"Wrap with Abbreviation"},"category":"Emmet"},{"command":"editor.emmet.action.removeTag","title":{"value":"删除标记","original":"Remove Tag"},"category":"Emmet"},{"command":"editor.emmet.action.updateTag","title":{"value":"更新标记","original":"Update Tag"},"category":"Emmet"},{"command":"editor.emmet.action.matchTag","title":{"value":"转至匹配对","original":"Go to Matching Pair"},"category":"Emmet"},{"command":"editor.emmet.action.balanceIn","title":{"value":"平衡(向内)","original":"Balance (inward)"},"category":"Emmet"},{"command":"editor.emmet.action.balanceOut","title":{"value":"平衡(向外)","original":"Balance (outward)"},"category":"Emmet"},{"command":"editor.emmet.action.prevEditPoint","title":{"value":"转到上一编辑点","original":"Go to Previous Edit Point"},"category":"Emmet"},{"command":"editor.emmet.action.nextEditPoint","title":{"value":"转到下一编辑点","original":"Go to Next Edit Point"},"category":"Emmet"},{"command":"editor.emmet.action.mergeLines","title":{"value":"合并行","original":"Merge Lines"},"category":"Emmet"},{"command":"editor.emmet.action.selectPrevItem","title":{"value":"选择上一项","original":"Select Previous Item"},"category":"Emmet"},{"command":"editor.emmet.action.selectNextItem","title":{"value":"选择下一项","original":"Select Next Item"},"category":"Emmet"},{"command":"editor.emmet.action.splitJoinTag","title":{"value":"分离/联接标记","original":"Split/Join Tag"},"category":"Emmet"},{"command":"editor.emmet.action.toggleComment","title":{"value":"切换注释","original":"Toggle Comment"},"category":"Emmet"},{"command":"editor.emmet.action.evaluateMathExpression","title":{"value":"求数学表达式的值","original":"Evaluate Math Expression"},"category":"Emmet"},{"command":"editor.emmet.action.updateImageSize","title":{"value":"更新图像大小","original":"Update Image Size"},"category":"Emmet"},{"command":"editor.emmet.action.incrementNumberByOneTenth","title":{"value":"增加 0.1","original":"Increment by 0.1"},"category":"Emmet"},{"command":"editor.emmet.action.incrementNumberByOne","title":{"value":"增加 1","original":"Increment by 1"},"category":"Emmet"},{"command":"editor.emmet.action.incrementNumberByTen","title":{"value":"增加 10","original":"Increment by 10"},"category":"Emmet"},{"command":"editor.emmet.action.decrementNumberByOneTenth","title":{"value":"减少 0.1","original":"Decrement by 0.1"},"category":"Emmet"},{"command":"editor.emmet.action.decrementNumberByOne","title":{"value":"减少 1","original":"Decrement by 1"},"category":"Emmet"},{"command":"editor.emmet.action.decrementNumberByTen","title":{"value":"减少 10","original":"Decrement by 10"},"category":"Emmet"},{"command":"editor.emmet.action.reflectCSSValue","title":{"value":"映射 CSS 值","original":"Reflect CSS Value"},"category":"Emmet"},{"command":"workbench.action.showEmmetCommands","title":{"value":"显示 Emmet 命令","original":"Show Emmet Commands"},"category":""}],"menus":{"commandPalette":[{"command":"editor.emmet.action.wrapWithAbbreviation","when":"activeEditor && !activeEditorIsReadonly"},{"command":"editor.emmet.action.removeTag","when":"activeEditor && !activeEditorIsReadonly"},{"command":"editor.emmet.action.updateTag","when":"activeEditor && !activeEditorIsReadonly"},{"command":"editor.emmet.action.matchTag","when":"activeEditor && !activeEditorIsReadonly"},{"command":"editor.emmet.action.balanceIn","when":"activeEditor && !activeEditorIsReadonly"},{"command":"editor.emmet.action.balanceOut","when":"activeEditor && !activeEditorIsReadonly"},{"command":"editor.emmet.action.prevEditPoint","when":"activeEditor && !activeEditorIsReadonly"},{"command":"editor.emmet.action.nextEditPoint","when":"activeEditor && !activeEditorIsReadonly"},{"command":"editor.emmet.action.mergeLines","when":"activeEditor && !activeEditorIsReadonly"},{"command":"editor.emmet.action.selectPrevItem","when":"activeEditor && !activeEditorIsReadonly"},{"command":"editor.emmet.action.selectNextItem","when":"activeEditor && !activeEditorIsReadonly"},{"command":"editor.emmet.action.splitJoinTag","when":"activeEditor && !activeEditorIsReadonly"},{"command":"editor.emmet.action.toggleComment","when":"activeEditor && !activeEditorIsReadonly"},{"command":"editor.emmet.action.evaluateMathExpression","when":"activeEditor && !activeEditorIsReadonly"},{"command":"editor.emmet.action.updateImageSize","when":"activeEditor && !activeEditorIsReadonly"},{"command":"editor.emmet.action.incrementNumberByOneTenth","when":"activeEditor && !activeEditorIsReadonly"},{"command":"editor.emmet.action.incrementNumberByOne","when":"activeEditor && !activeEditorIsReadonly"},{"command":"editor.emmet.action.incrementNumberByTen","when":"activeEditor && !activeEditorIsReadonly"},{"command":"editor.emmet.action.decrementNumberByOneTenth","when":"activeEditor && !activeEditorIsReadonly"},{"command":"editor.emmet.action.decrementNumberByOne","when":"activeEditor && !activeEditorIsReadonly"},{"command":"editor.emmet.action.decrementNumberByTen","when":"activeEditor && !activeEditorIsReadonly"},{"command":"editor.emmet.action.reflectCSSValue","when":"activeEditor && !activeEditorIsReadonly"}]}},"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/emmet","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.extension-editing"},"manifest":{"name":"extension-editing","displayName":"扩展创建","description":"在创建扩展时提供 linting 功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"^1.4.0"},"icon":"images/icon.png","activationEvents":["onLanguage:json","onLanguage:markdown"],"main":"./dist/extensionEditingMain","browser":"./dist/browser/extensionEditingBrowserMain","capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"contributes":{"jsonValidation":[{"fileMatch":"package.json","url":"vscode://schemas/vscode-extensions"},{"fileMatch":"*language-configuration.json","url":"vscode://schemas/language-configuration"},{"fileMatch":["*icon-theme.json","!*product-icon-theme.json"],"url":"vscode://schemas/icon-theme"},{"fileMatch":"*product-icon-theme.json","url":"vscode://schemas/product-icon-theme"},{"fileMatch":"*color-theme.json","url":"vscode://schemas/color-theme"}],"languages":[{"id":"ignore","filenames":[".vscodeignore"]}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/extension-editing","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.fsharp"},"manifest":{"name":"fsharp","displayName":"F# 语言基础功能","description":"在 F# 文件中提供代码片段、语法高亮、括号匹配和折叠功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin ionide/ionide-fsgrammar grammars/fsharp.json ./syntaxes/fsharp.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"fsharp","extensions":[".fs",".fsi",".fsx",".fsscript"],"aliases":["F#","FSharp","fsharp"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"fsharp","scopeName":"source.fsharp","path":"./syntaxes/fsharp.tmLanguage.json"}],"snippets":[{"language":"fsharp","path":"./snippets/fsharp.code-snippets"}],"configurationDefaults":{"[fsharp]":{"diffEditor.ignoreTrimWhitespace":false}}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/fsharp","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.git"},"manifest":{"name":"git","displayName":"Git","description":"Git 源代码管理集成","publisher":"vscode","license":"MIT","version":"10.0.0","engines":{"vscode":"^1.5.0"},"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","enabledApiProposals":["agentSessionsWorkspace","agentsWindowConfiguration","canonicalUriProvider","contribEditSessions","contribEditorContentMenu","contribMergeEditorMenus","contribMultiDiffEditorMenus","contribDiffEditorGutterToolBarMenus","contribSourceControlArtifactGroupMenu","contribSourceControlArtifactMenu","contribSourceControlHistoryItemMenu","contribSourceControlHistoryTitleMenu","contribSourceControlInputBoxMenu","contribSourceControlTitleMenu","contribViewsWelcome","editSessionIdentityProvider","envIsConnectionMetered","findFiles2","quickDiffProvider","quickPickSortByLabel","scmActionButton","scmArtifactProvider","scmHistoryProvider","scmMultiDiffEditor","scmProviderOptions","scmSelectedProvider","scmTextDocument","scmValidation","statusBarItemTooltip","taskRunOptions","tabInputMultiDiff","tabInputTextMerge","textEditorDiffInformation","timeline","workspaceTrust"],"categories":["Other"],"activationEvents":["*","onEditSession:file","onFileSystem:git","onFileSystem:git-show"],"extensionDependencies":["vscode.git-base"],"main":"./dist/main","icon":"resources/icons/git.png","capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":false}},"contributes":{"commands":[{"command":"git.continueInLocalClone","title":{"value":"在本地克隆存储库并在桌面上打开...","original":"Clone Repository Locally and Open on Desktop..."},"category":"Git","icon":"$(repo-clone)","enablement":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && remoteName"},{"command":"git.clone","title":{"value":"克隆","original":"Clone"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.cloneRecursive","title":{"value":"克隆(递归)","original":"Clone (Recursive)"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.init","title":{"value":"初始化仓库","original":"Initialize Repository"},"category":"Git","icon":"$(add)","enablement":"!operationInProgress"},{"command":"git.openRepository","title":{"value":"打开仓库","original":"Open Repository"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.reopenClosedRepositories","title":{"value":"重新打开已关闭的存储库...","original":"Reopen Closed Repositories..."},"icon":"$(repo)","category":"Git","enablement":"!operationInProgress && git.closedRepositoryCount != 0"},{"command":"git.close","title":{"value":"关闭仓库","original":"Close Repository"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.closeOtherRepositories","title":{"value":"关闭其他存储库","original":"Close Other Repositories"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.openWorktree","title":{"value":"在当前窗口中打开工作树","original":"Open Worktree in Current Window"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.openWorktreeInNewWindow","title":{"value":"在新窗口中打开工作树","original":"Open Worktree in New Window"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.refresh","title":{"value":"刷新","original":"Refresh"},"category":"Git","icon":"$(refresh)","enablement":"!operationInProgress"},{"command":"git.compareWithWorkspace","title":{"value":"与工作区进行比较","original":"Compare with Workspace"},"category":"Git"},{"command":"git.openChange","title":{"value":"打开更改","original":"Open Changes"},"category":"Git","icon":"$(compare-changes)"},{"command":"git.openAllChanges","title":{"value":"打开所有更改","original":"Open All Changes"},"category":"Git"},{"command":"git.openFile","title":{"value":"打开文件","original":"Open File"},"category":"Git","icon":"$(go-to-file)"},{"command":"git.openFile2","title":{"value":"打开文件","original":"Open File"},"category":"Git","icon":"$(go-to-file)"},{"command":"git.openHEADFile","title":{"value":"打开文件 (HEAD)","original":"Open File (HEAD)"},"category":"Git"},{"command":"git.stage","title":{"value":"暂存更改","original":"Stage Changes"},"category":"Git","icon":"$(add)","enablement":"!operationInProgress"},{"command":"git.stageAll","title":{"value":"暂存所有更改","original":"Stage All Changes"},"category":"Git","icon":"$(add)","enablement":"!operationInProgress"},{"command":"git.stageAllTracked","title":{"value":"暂存所有跟踪的更改","original":"Stage All Tracked Changes"},"category":"Git","icon":"$(add)","enablement":"!operationInProgress"},{"command":"git.stageAllUntracked","title":{"value":"暂存所有未跟踪的更改","original":"Stage All Untracked Changes"},"category":"Git","icon":"$(add)","enablement":"!operationInProgress"},{"command":"git.stageAllMerge","title":{"value":"暂存所有合并更改","original":"Stage All Merge Changes"},"category":"Git","icon":"$(add)","enablement":"!operationInProgress"},{"command":"git.stageSelectedRanges","title":{"value":"暂存所选范围","original":"Stage Selected Ranges"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.diff.stageHunk","title":{"value":"暂存块","original":"Stage Block"},"category":"Git","icon":"$(plus)"},{"command":"git.diff.stageSelection","title":{"value":"暂存选择","original":"Stage Selection"},"category":"Git","icon":"$(plus)"},{"command":"git.revertSelectedRanges","title":{"value":"还原所选更改","original":"Revert Selected Ranges"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.stageChange","title":{"value":"暂存更改","original":"Stage Change"},"category":"Git","icon":"$(add)","enablement":"!operationInProgress"},{"command":"git.stageFile","title":{"value":"暂存更改","original":"Stage Changes"},"category":"Git","icon":"$(add)","enablement":"!operationInProgress"},{"command":"git.revertChange","title":{"value":"还原更改","original":"Revert Change"},"category":"Git","icon":"$(discard)","enablement":"!operationInProgress"},{"command":"git.unstage","title":{"value":"取消暂存更改","original":"Unstage Changes"},"category":"Git","icon":"$(remove)","enablement":"!operationInProgress"},{"command":"git.unstageAll","title":{"value":"取消暂存所有更改","original":"Unstage All Changes"},"category":"Git","icon":"$(remove)","enablement":"!operationInProgress"},{"command":"git.unstageSelectedRanges","title":{"value":"取消暂存所选范围","original":"Unstage Selected Ranges"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.unstageChange","title":{"value":"取消暂存更改","original":"Unstage Change"},"category":"Git","icon":"$(remove)","enablement":"!operationInProgress"},{"command":"git.unstageFile","title":{"value":"取消暂存更改","original":"Unstage Changes"},"category":"Git","icon":"$(remove)","enablement":"!operationInProgress"},{"command":"git.clean","title":{"value":"放弃更改","original":"Discard Changes"},"category":"Git","icon":"$(discard)","enablement":"!operationInProgress"},{"command":"git.cleanAll","title":{"value":"放弃所有更改","original":"Discard All Changes"},"category":"Git","icon":"$(discard)","enablement":"!operationInProgress"},{"command":"git.cleanAllTracked","title":{"value":"放弃所有跟踪的更改","original":"Discard All Tracked Changes"},"category":"Git","icon":"$(discard)","enablement":"!operationInProgress"},{"command":"git.cleanAllUntracked","title":{"value":"放弃所有未跟踪的更改","original":"Discard All Untracked Changes"},"category":"Git","icon":"$(discard)","enablement":"!operationInProgress"},{"command":"git.rename","title":{"value":"重命名","original":"Rename"},"category":"Git","icon":"$(discard)","enablement":"!operationInProgress"},{"command":"git.delete","title":{"value":"删除","original":"Delete"},"category":"Git","icon":"$(trash)","enablement":"!operationInProgress"},{"command":"git.commit","title":{"value":"提交","original":"Commit"},"category":"Git","icon":"$(check)","enablement":"!operationInProgress"},{"command":"git.commitAmend","title":{"value":"提交(修改)","original":"Commit (Amend)"},"category":"Git","icon":"$(check)","enablement":"!operationInProgress"},{"command":"git.commitSigned","title":{"value":"提交(已签收)","original":"Commit (Signed Off)"},"category":"Git","icon":"$(check)","enablement":"!operationInProgress"},{"command":"git.commitStaged","title":{"value":"提交已暂存文件","original":"Commit Staged"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.commitEmpty","title":{"value":"创建空提交","original":"Commit Empty"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.commitStagedSigned","title":{"value":"提交已暂存文件(已署名)","original":"Commit Staged (Signed Off)"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.commitStagedAmend","title":{"value":"提交已暂存文件(修改)","original":"Commit Staged (Amend)"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.commitAll","title":{"value":"全部提交","original":"Commit All"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.commitAllSigned","title":{"value":"全部提交(已署名)","original":"Commit All (Signed Off)"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.commitAllAmend","title":{"value":"全部提交(修改)","original":"Commit All (Amend)"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.commitNoVerify","title":{"value":"提交(不验证)","original":"Commit (No Verify)"},"category":"Git","icon":"$(check)","enablement":"!operationInProgress"},{"command":"git.commitStagedNoVerify","title":{"value":"提交已暂存内容(不验证)","original":"Commit Staged (No Verify)"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.commitEmptyNoVerify","title":{"value":"空提交(不验证)","original":"Commit Empty (No Verify)"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.commitStagedSignedNoVerify","title":{"value":"提交已暂存内容(已签收，不验证)","original":"Commit Staged (Signed Off, No Verify)"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.commitAmendNoVerify","title":{"value":"提交(修改，不验证)","original":"Commit (Amend, No Verify)"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.commitSignedNoVerify","title":{"value":"提交(已签收，不验证)","original":"Commit (Signed Off, No Verify)"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.commitStagedAmendNoVerify","title":{"value":"提交已暂存内容(修正，不验证)","original":"Commit Staged (Amend, No Verify)"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.commitAllNoVerify","title":{"value":"全部提交(不验证)","original":"Commit All (No Verify)"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.commitAllSignedNoVerify","title":{"value":"全部提交(已签收，不验证)","original":"Commit All (Signed Off, No Verify)"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.commitAllAmendNoVerify","title":{"value":"全部提交(修正，不验证)","original":"Commit All (Amend, No Verify)"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.commitMessageAccept","title":{"value":"提交","original":"Commit"},"category":"Git"},{"command":"git.commitMessageDiscard","title":{"value":"取消","original":"Cancel"},"icon":"$(close)","category":"Git"},{"command":"git.restoreCommitTemplate","title":{"value":"还原提交模板","original":"Restore Commit Template"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.undoCommit","title":{"value":"撤消上次提交","original":"Undo Last Commit"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.checkout","title":{"value":"签出到...","original":"Checkout to..."},"category":"Git","enablement":"!operationInProgress"},{"command":"git.graph.checkout","title":{"value":"签出","original":"Checkout"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.checkoutDetached","title":{"value":"签出到(已分离)...","original":"Checkout to (Detached)..."},"category":"Git","enablement":"!operationInProgress"},{"command":"git.graph.checkoutDetached","title":{"value":"签出(已分离)","original":"Checkout (Detached)"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.branch","title":{"value":"创建分支...","original":"Create Branch..."},"category":"Git","enablement":"!operationInProgress"},{"command":"git.branchFrom","title":{"value":"从现有来源创建新的分支...","original":"Create Branch From..."},"category":"Git","enablement":"!operationInProgress"},{"command":"git.deleteBranch","title":{"value":"删除分支...","original":"Delete Branch..."},"category":"Git","enablement":"!operationInProgress"},{"command":"git.graph.deleteBranch","title":{"value":"删除分支","original":"Delete Branch"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.deleteRemoteBranch","title":{"value":"删除远程分支...","original":"Delete Remote Branch..."},"category":"Git","enablement":"!operationInProgress"},{"command":"git.renameBranch","title":{"value":"重命名分支...","original":"Rename Branch..."},"category":"Git","enablement":"!operationInProgress"},{"command":"git.merge","title":{"value":"合并...","original":"Merge..."},"category":"Git","enablement":"!operationInProgress"},{"command":"git.mergeAbort","title":{"value":"中止合并","original":"Abort Merge"},"category":"Git","enablement":"gitMergeInProgress"},{"command":"git.rebase","title":{"value":"变基分支…","original":"Rebase Branch..."},"category":"Git","enablement":"!operationInProgress"},{"command":"git.createTag","title":{"value":"创建标记...","original":"Create Tag..."},"icon":"$(plus)","category":"Git","enablement":"!operationInProgress"},{"command":"git.deleteTag","title":{"value":"删除标签...","original":"Delete Tag..."},"category":"Git","enablement":"!operationInProgress"},{"command":"git.migrateWorktreeChanges","title":{"value":"迁移工作树更改...","original":"Migrate Worktree Changes..."},"category":"Git","enablement":"!operationInProgress"},{"command":"git.createWorktree","title":{"value":"创建工作树...","original":"Create Worktree..."},"category":"Git","enablement":"!operationInProgress"},{"command":"git.deleteWorktree","title":{"value":"删除工作树...","original":"Delete Worktree..."},"category":"Git","enablement":"!operationInProgress"},{"command":"git.deleteWorktree2","title":{"value":"删除工作树","original":"Delete Worktree"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.graph.deleteTag","title":{"value":"删除标签","original":"Delete Tag"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.deleteRemoteTag","title":{"value":"删除远程标记...","original":"Delete Remote Tag..."},"category":"Git","enablement":"!operationInProgress"},{"command":"git.fetch","title":{"value":"抓取","original":"Fetch"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.fetchPrune","title":{"value":"抓取(删除)","original":"Fetch (Prune)"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.fetchAll","title":{"value":"从所有远程存储库中抓取","original":"Fetch From All Remotes"},"icon":"$(git-fetch)","category":"Git","enablement":"!operationInProgress"},{"command":"git.fetchRef","title":{"value":"抓取","original":"Fetch"},"icon":"$(git-fetch)","category":"Git","enablement":"!operationInProgress"},{"command":"git.pull","title":{"value":"拉取","original":"Pull"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.pullRebase","title":{"value":"拉取(变基)","original":"Pull (Rebase)"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.pullFrom","title":{"value":"拉取自...","original":"Pull from..."},"category":"Git","enablement":"!operationInProgress"},{"command":"git.pullRef","title":{"value":"拉取","original":"Pull"},"icon":"$(repo-pull)","category":"Git","enablement":"!operationInProgress && scmCurrentHistoryItemRefInFilter && scmCurrentHistoryItemRefHasRemote"},{"command":"git.push","title":{"value":"推送","original":"Push"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.pushForce","title":{"value":"推送(强制)","original":"Push (Force)"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.pushTo","title":{"value":"推送到...","original":"Push to..."},"category":"Git","enablement":"!operationInProgress"},{"command":"git.pushToForce","title":{"value":"推送到...(强制)","original":"Push to... (Force)"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.pushTags","title":{"value":"推送标记","original":"Push Tags"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.pushWithTags","title":{"value":"推送(“关注”标记)","original":"Push (Follow Tags)"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.pushWithTagsForce","title":{"value":"推送(“关注”标记，强制)","original":"Push (Follow Tags, Force)"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.pushRef","title":{"value":"推送","original":"Push"},"icon":"$(repo-push)","category":"Git","enablement":"!operationInProgress && scmCurrentHistoryItemRefInFilter && scmCurrentHistoryItemRefHasRemote"},{"command":"git.cherryPick","title":{"value":"挑拣…","original":"Cherry Pick..."},"category":"Git","enablement":"!operationInProgress"},{"command":"git.graph.cherryPick","title":{"value":"挑拣","original":"Cherry Pick"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.cherryPickAbort","title":{"value":"中止挑拣","original":"Abort Cherry Pick"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.addRemote","title":{"value":"添加远程存储库…","original":"Add Remote..."},"category":"Git","enablement":"!operationInProgress"},{"command":"git.removeRemote","title":{"value":"删除远程存储库","original":"Remove Remote"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.sync","title":{"value":"同步","original":"Sync"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.syncRebase","title":{"value":"同步(变基)","original":"Sync (Rebase)"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.publish","title":{"value":"发布分支...","original":"Publish Branch..."},"category":"Git","icon":"$(cloud-upload)","enablement":"!operationInProgress"},{"command":"git.showOutput","title":{"value":"显示 GIT 输出","original":"Show Git Output"},"category":"Git"},{"command":"git.ignore","title":{"value":"添加到 .gitignore","original":"Add to .gitignore"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.revealInExplorer","title":{"value":"在资源管理器视图中显示","original":"Reveal in Explorer View"},"category":"Git"},{"command":"git.revealFileInOS.linux","title":{"value":"打开包含的文件夹","original":"Open Containing Folder"},"category":"Git"},{"command":"git.revealFileInOS.mac","title":{"value":"在访达中显示","original":"Reveal in Finder"},"category":"Git"},{"command":"git.revealFileInOS.windows","title":{"value":"在文件资源管理器中显示","original":"Reveal in File Explorer"},"category":"Git"},{"command":"git.stashIncludeUntracked","title":{"value":"储藏(包含未跟踪)","original":"Stash (Include Untracked)"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.stash","title":{"value":"储藏","original":"Stash"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.stashStaged","title":{"value":"储藏暂存","original":"Stash Staged"},"category":"Git","enablement":"!operationInProgress && gitVersion2.35"},{"command":"git.stashPop","title":{"value":"弹出储藏...","original":"Pop Stash..."},"category":"Git","enablement":"!operationInProgress"},{"command":"git.stashPopLatest","title":{"value":"弹出最新储藏","original":"Pop Latest Stash"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.stashPopEditor","title":{"value":"弹出储藏条目","original":"Pop Stash"},"icon":"$(git-stash-pop)","category":"Git","enablement":"!operationInProgress"},{"command":"git.stashApply","title":{"value":"应用储藏...","original":"Apply Stash..."},"category":"Git","enablement":"!operationInProgress"},{"command":"git.stashApplyLatest","title":{"value":"应用最新储藏","original":"Apply Latest Stash"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.stashApplyEditor","title":{"value":"应用储藏条目","original":"Apply Stash"},"icon":"$(git-stash-apply)","category":"Git","enablement":"!operationInProgress"},{"command":"git.stashDrop","title":{"value":"删除储藏...","original":"Drop Stash..."},"category":"Git","enablement":"!operationInProgress"},{"command":"git.stashDropAll","title":{"value":"删除所有储藏...","original":"Drop All Stashes..."},"category":"Git","enablement":"!operationInProgress"},{"command":"git.stashDropEditor","title":{"value":"删除储藏条目","original":"Drop Stash"},"icon":"$(trash)","category":"Git","enablement":"!operationInProgress"},{"command":"git.stashView","title":{"value":"查看储藏条目...","original":"View Stash..."},"category":"Git","enablement":"!operationInProgress"},{"command":"git.timeline.openDiff","title":{"value":"打开更改","original":"Open Changes"},"icon":"$(compare-changes)","category":"Git"},{"command":"git.timeline.copyCommitId","title":{"value":"复制提交哈希","original":"Copy Commit Hash"},"category":"Git"},{"command":"git.timeline.copyCommitMessage","title":{"value":"复制提交消息","original":"Copy Commit Message"},"category":"Git"},{"command":"git.timeline.selectForCompare","title":{"value":"选择以进行比较","original":"Select for Compare"},"category":"Git"},{"command":"git.timeline.compareWithSelected","title":{"value":"与已选项目进行比较","original":"Compare with Selected"},"category":"Git"},{"command":"git.timeline.viewCommit","title":{"value":"打开提交","original":"Open Commit"},"icon":"$(diff-multiple)","category":"Git"},{"command":"git.rebaseAbort","title":{"value":"中止变基","original":"Abort Rebase"},"category":"Git","enablement":"gitRebaseInProgress"},{"command":"git.closeAllDiffEditors","title":{"value":"关闭所有差异编辑器","original":"Close All Diff Editors"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.closeAllUnmodifiedEditors","title":{"value":"关闭所有未修改的编辑器","original":"Close All Unmodified Editors"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.api.getRepositories","title":{"value":"获取存储库","original":"Get Repositories"},"category":"Git API"},{"command":"git.api.getRepositoryState","title":{"value":"获取仓库状态","original":"Get Repository State"},"category":"Git API"},{"command":"git.api.getRemoteSources","title":{"value":"获取远程源","original":"Get Remote Sources"},"category":"Git API"},{"command":"git.acceptMerge","title":{"value":"完成合并","original":"Complete Merge"},"category":"Git","enablement":"isMergeEditor && mergeEditorResultUri in git.mergeChanges"},{"command":"git.openMergeEditor","title":{"value":"在合并编辑器中解决","original":"Resolve in Merge Editor"},"category":"Git"},{"command":"git.runGitMerge","title":{"value":"计算与 Git 冲突","original":"Compute Conflicts With Git"},"category":"Git","enablement":"isMergeEditor"},{"command":"git.runGitMergeDiff3","title":{"value":"计算与 Git 冲突(Diff3)","original":"Compute Conflicts With Git (Diff3)"},"category":"Git","enablement":"isMergeEditor"},{"command":"git.manageUnsafeRepositories","title":{"value":"管理不安全的存储库","original":"Manage Unsafe Repositories"},"category":"Git"},{"command":"git.openRepositoriesInParentFolders","title":{"value":"在父文件夹中打开存储库","original":"Open Repositories In Parent Folders"},"category":"Git"},{"command":"git.viewChanges","title":{"value":"打开更改","original":"Open Changes"},"icon":"$(diff-multiple)","category":"Git","enablement":"!operationInProgress"},{"command":"git.viewStagedChanges","title":{"value":"打开暂存更改","original":"Open Staged Changes"},"icon":"$(diff-multiple)","category":"Git","enablement":"!operationInProgress"},{"command":"git.viewUntrackedChanges","title":{"value":"打开未跟踪的更改","original":"Open Untracked Changes"},"icon":"$(diff-multiple)","category":"Git","enablement":"!operationInProgress"},{"command":"git.viewCommit","title":{"value":"打开提交","original":"Open Commit"},"icon":"$(diff-multiple)","category":"Git","enablement":"!operationInProgress"},{"command":"git.copyCommitId","title":{"value":"复制提交哈希","original":"Copy Commit Hash"},"category":"Git"},{"command":"git.copyCommitMessage","title":{"value":"复制提交消息","original":"Copy Commit Message"},"category":"Git"},{"command":"git.blame.toggleEditorDecoration","title":{"value":"切换 Git Blame 编辑器效果","original":"Toggle Git Blame Editor Decoration"},"category":"Git"},{"command":"git.blame.toggleStatusBarItem","title":{"value":"切换 Git Blame 状态栏项","original":"Toggle Git Blame Status Bar Item"},"category":"Git"},{"command":"git.graph.compareRef","title":{"value":"相较于...","original":"Compare with..."},"category":"Git","enablement":"!operationInProgress"},{"command":"git.graph.compareWithRemote","title":{"value":"与远程比较","original":"Compare with Remote"},"category":"Git","enablement":"!operationInProgress && scmCurrentHistoryItemRefHasRemote"},{"command":"git.graph.compareWithMergeBase","title":{"value":"与合并基础比较","original":"Compare with Merge Base"},"category":"Git","enablement":"!operationInProgress && scmCurrentHistoryItemRefHasBase"},{"command":"git.repositories.checkout","title":{"value":"签出","original":"Checkout"},"icon":"$(target)","category":"Git","enablement":"!operationInProgress && !scmArtifactIsHistoryItemRef"},{"command":"git.repositories.checkoutDetached","title":{"value":"签出(已分离)","original":"Checkout (Detached)"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.repositories.compareRef","title":{"value":"相较于...","original":"Compare with..."},"category":"Git","enablement":"!operationInProgress"},{"command":"git.repositories.createBranch","title":{"value":"创建分支...","original":"Create Branch..."},"icon":"$(plus)","category":"Git","enablement":"!operationInProgress"},{"command":"git.repositories.createTag","title":{"value":"创建标记...","original":"Create Tag..."},"icon":"$(plus)","category":"Git","enablement":"!operationInProgress"},{"command":"git.repositories.merge","title":{"value":"合并","original":"Merge"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.repositories.rebase","title":{"value":"变基","original":"Rebase"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.repositories.deleteBranch","title":{"value":"删除","original":"Delete"},"category":"Git","enablement":"!operationInProgress && !scmArtifactIsHistoryItemRef"},{"command":"git.repositories.deleteTag","title":{"value":"删除","original":"Delete"},"category":"Git","enablement":"!operationInProgress && !scmArtifactIsHistoryItemRef"},{"command":"git.repositories.createFrom","title":{"value":"创建自...","original":"Create from..."},"category":"Git","enablement":"!operationInProgress"},{"command":"git.repositories.stashView","title":{"value":"查看储藏","original":"View Stash"},"icon":"$(diff-multiple)","category":"Git","enablement":"!operationInProgress"},{"command":"git.repositories.stashApply","title":{"value":"应用储藏条目","original":"Apply Stash"},"icon":"$(git-stash-apply)","category":"Git","enablement":"!operationInProgress"},{"command":"git.repositories.stashPop","title":{"value":"弹出储藏条目","original":"Pop Stash"},"icon":"$(git-stash-pop)","category":"Git","enablement":"!operationInProgress"},{"command":"git.repositories.stashDrop","title":{"value":"删除储藏条目","original":"Drop Stash"},"icon":"$(trash)","category":"Git","enablement":"!operationInProgress"},{"command":"git.repositories.createWorktree","title":{"value":"创建工作树...","original":"Create Worktree..."},"icon":"$(plus)","category":"Git","enablement":"!operationInProgress"},{"command":"git.repositories.openWorktree","title":{"value":"打开","original":"Open"},"icon":"$(folder-opened)","category":"Git","enablement":"!operationInProgress"},{"command":"git.repositories.openWorktreeInNewWindow","title":{"value":"在新窗口中打开","original":"Open in New Window"},"icon":"$(folder-opened)","category":"Git","enablement":"!operationInProgress"},{"command":"git.repositories.deleteWorktree","title":{"value":"删除","original":"Delete"},"category":"Git","enablement":"!operationInProgress"},{"command":"git.repositories.worktreeCopyBranchName","title":{"value":"复制分支名称","original":"Copy Branch Name"},"category":"Git"},{"command":"git.repositories.worktreeCopyCommitHash","title":{"value":"复制提交哈希","original":"Copy Commit Hash"},"category":"Git"},{"command":"git.repositories.worktreeCopyPath","title":{"value":"复制工作树路径","original":"Copy Worktree Path"},"category":"Git"},{"command":"git.repositories.copyCommitHash","title":{"value":"复制提交哈希","original":"Copy Commit Hash"},"category":"Git"},{"command":"git.repositories.copyBranchName","title":{"value":"复制分支名称","original":"Copy Branch Name"},"category":"Git"},{"command":"git.repositories.copyTagName","title":{"value":"复制标记名称","original":"Copy Tag Name"},"category":"Git"},{"command":"git.repositories.copyStashName","title":{"value":"复制储藏名称","original":"Copy Stash Name"},"category":"Git"},{"command":"git.repositories.stashCopyBranchName","title":{"value":"复制分支名称","original":"Copy Branch Name"},"category":"Git"}],"continueEditSession":[{"command":"git.continueInLocalClone","qualifiedName":"继续在新的本地克隆中工作","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && remoteName","remoteGroup":"remote_42_git_0_local@0"}],"keybindings":[{"command":"git.stageSelectedRanges","key":"ctrl+k ctrl+alt+s","mac":"cmd+k cmd+alt+s","when":"editorTextFocus && resourceScheme == file"},{"command":"git.unstageSelectedRanges","key":"ctrl+k ctrl+n","mac":"cmd+k cmd+n","when":"editorTextFocus && isInDiffEditor && isInDiffRightEditor && resourceScheme == git"},{"command":"git.revertSelectedRanges","key":"ctrl+k ctrl+r","mac":"cmd+k cmd+r","when":"editorTextFocus && resourceScheme == file"}],"menus":{"commandPalette":[{"command":"git.continueInLocalClone","when":"false"},{"command":"git.clone","when":"config.git.enabled && !git.missing"},{"command":"git.cloneRecursive","when":"config.git.enabled && !git.missing"},{"command":"git.init","when":"config.git.enabled && !git.missing && remoteName != 'codespaces'"},{"command":"git.openRepository","when":"config.git.enabled && !git.missing"},{"command":"git.close","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.closeOtherRepositories","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount > 1"},{"command":"git.openWorktree","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount > 1"},{"command":"git.openWorktreeInNewWindow","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount > 1"},{"command":"git.refresh","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.openFile","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == file && scmActiveResourceHasChanges"},{"command":"git.openHEADFile","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == file && scmActiveResourceHasChanges"},{"command":"git.openChange","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stage","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stageAll","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stageAllTracked","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stageAllUntracked","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stageAllMerge","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stageSelectedRanges","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == file"},{"command":"git.stageChange","when":"false"},{"command":"git.revertSelectedRanges","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == file"},{"command":"git.revertChange","when":"false"},{"command":"git.openFile2","when":"false"},{"command":"git.unstage","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.unstageAll","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.unstageSelectedRanges","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == git"},{"command":"git.unstageChange","when":"false"},{"command":"git.clean","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.cleanAll","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.cleanAllTracked","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.cleanAllUntracked","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.rename","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == file && scmActiveResourceRepository"},{"command":"git.delete","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == file"},{"command":"git.commit","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.commitAmend","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.commitSigned","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.commitStaged","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.commitEmpty","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.commitStagedSigned","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.commitStagedAmend","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.commitAll","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.commitAllSigned","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.commitAllAmend","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.rebaseAbort","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && gitRebaseInProgress"},{"command":"git.commitNoVerify","when":"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{"command":"git.commitStagedNoVerify","when":"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{"command":"git.commitEmptyNoVerify","when":"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{"command":"git.commitStagedSignedNoVerify","when":"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{"command":"git.commitAmendNoVerify","when":"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{"command":"git.commitSignedNoVerify","when":"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{"command":"git.commitStagedAmendNoVerify","when":"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{"command":"git.commitAllNoVerify","when":"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{"command":"git.commitAllSignedNoVerify","when":"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{"command":"git.commitAllAmendNoVerify","when":"config.git.enabled && !git.missing && config.git.allowNoVerifyCommit && gitOpenRepositoryCount != 0"},{"command":"git.restoreCommitTemplate","when":"false"},{"command":"git.commitMessageAccept","when":"false"},{"command":"git.commitMessageDiscard","when":"false"},{"command":"git.revealInExplorer","when":"false"},{"command":"git.revealFileInOS.linux","when":"false"},{"command":"git.revealFileInOS.mac","when":"false"},{"command":"git.revealFileInOS.windows","when":"false"},{"command":"git.undoCommit","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.checkout","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.branch","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.branchFrom","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.deleteBranch","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.deleteRemoteBranch","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.renameBranch","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.cherryPick","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.cherryPickAbort","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && gitCherryPickInProgress"},{"command":"git.pull","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.pullFrom","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.pullRebase","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.merge","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.mergeAbort","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && gitMergeInProgress"},{"command":"git.rebase","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.createTag","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.deleteTag","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.migrateWorktreeChanges","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.createWorktree","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.openWorktree","when":"false"},{"command":"git.openWorktreeInNewWindow","when":"false"},{"command":"git.deleteWorktree","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.deleteWorktree2","when":"false"},{"command":"git.deleteRemoteTag","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.fetch","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.fetchPrune","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.fetchAll","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.push","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.pushForce","when":"config.git.enabled && !git.missing && config.git.allowForcePush && gitOpenRepositoryCount != 0"},{"command":"git.pushTo","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.pushToForce","when":"config.git.enabled && !git.missing && config.git.allowForcePush && gitOpenRepositoryCount != 0"},{"command":"git.pushWithTags","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.pushWithTagsForce","when":"config.git.enabled && !git.missing && config.git.allowForcePush && gitOpenRepositoryCount != 0"},{"command":"git.pushTags","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.addRemote","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.removeRemote","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.sync","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.syncRebase","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.publish","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.showOutput","when":"config.git.enabled"},{"command":"git.ignore","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && resourceScheme == file && scmActiveResourceRepository"},{"command":"git.stashIncludeUntracked","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stash","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stashStaged","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && gitVersion2.35"},{"command":"git.stashPop","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stashPopLatest","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stashPopEditor","when":"false"},{"command":"git.stashApply","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stashApplyLatest","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stashApplyEditor","when":"false"},{"command":"git.stashDrop","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stashDropAll","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.stashDropEditor","when":"false"},{"command":"git.timeline.openDiff","when":"false"},{"command":"git.timeline.copyCommitId","when":"false"},{"command":"git.timeline.copyCommitMessage","when":"false"},{"command":"git.timeline.selectForCompare","when":"false"},{"command":"git.timeline.compareWithSelected","when":"false"},{"command":"git.timeline.viewCommit","when":"false"},{"command":"git.closeAllDiffEditors","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0"},{"command":"git.api.getRepositories","when":"false"},{"command":"git.api.getRepositoryState","when":"false"},{"command":"git.api.getRemoteSources","when":"false"},{"command":"git.openMergeEditor","when":"false"},{"command":"git.manageUnsafeRepositories","when":"config.git.enabled && !git.missing && git.unsafeRepositoryCount != 0"},{"command":"git.openRepositoriesInParentFolders","when":"config.git.enabled && !git.missing && git.parentRepositoryCount != 0"},{"command":"git.stashView","when":"config.git.enabled && !git.missing"},{"command":"git.viewChanges","when":"config.git.enabled && !git.missing"},{"command":"git.viewStagedChanges","when":"config.git.enabled && !git.missing"},{"command":"git.viewUntrackedChanges","when":"config.git.enabled && !git.missing && config.git.untrackedChanges == separate"},{"command":"git.viewCommit","when":"false"},{"command":"git.stageFile","when":"false"},{"command":"git.unstageFile","when":"false"},{"command":"git.fetchRef","when":"false"},{"command":"git.pullRef","when":"false"},{"command":"git.pushRef","when":"false"},{"command":"git.copyCommitId","when":"false"},{"command":"git.copyCommitMessage","when":"false"},{"command":"git.graph.checkout","when":"false"},{"command":"git.graph.checkoutDetached","when":"false"},{"command":"git.graph.deleteBranch","when":"false"},{"command":"git.graph.compareRef","when":"false"},{"command":"git.graph.deleteTag","when":"false"},{"command":"git.graph.cherryPick","when":"false"},{"command":"git.graph.compareWithMergeBase","when":"false"},{"command":"git.graph.compareWithRemote","when":"false"},{"command":"git.diff.stageHunk","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && diffEditorOriginalUri =~ /^git\\:.*%22ref%22%3A%22~%22%7D$/"},{"command":"git.diff.stageSelection","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && diffEditorOriginalUri =~ /^git\\:.*%22ref%22%3A%22~%22%7D$/"},{"command":"git.repositories.checkout","when":"false"},{"command":"git.repositories.checkoutDetached","when":"false"},{"command":"git.repositories.compareRef","when":"false"},{"command":"git.repositories.createBranch","when":"false"},{"command":"git.repositories.createTag","when":"false"},{"command":"git.repositories.merge","when":"false"},{"command":"git.repositories.rebase","when":"false"},{"command":"git.repositories.deleteBranch","when":"false"},{"command":"git.repositories.deleteTag","when":"false"},{"command":"git.repositories.createFrom","when":"false"},{"command":"git.repositories.stashView","when":"false"},{"command":"git.repositories.stashApply","when":"false"},{"command":"git.repositories.stashPop","when":"false"},{"command":"git.repositories.stashDrop","when":"false"},{"command":"git.repositories.createWorktree","when":"false"},{"command":"git.repositories.openWorktree","when":"false"},{"command":"git.repositories.openWorktreeInNewWindow","when":"false"},{"command":"git.repositories.deleteWorktree","when":"false"},{"command":"git.repositories.worktreeCopyBranchName","when":"false"},{"command":"git.repositories.worktreeCopyCommitHash","when":"false"},{"command":"git.repositories.worktreeCopyPath","when":"false"},{"command":"git.repositories.copyCommitHash","when":"false"},{"command":"git.repositories.copyBranchName","when":"false"},{"command":"git.repositories.copyTagName","when":"false"},{"command":"git.repositories.copyStashName","when":"false"},{"command":"git.repositories.stashCopyBranchName","when":"false"}],"scm/title":[{"command":"git.commit","group":"navigation","when":"scmProvider == git"},{"command":"git.refresh","group":"navigation","when":"scmProvider == git"},{"command":"git.pull","group":"1_header@1","when":"scmProvider == git"},{"command":"git.push","group":"1_header@2","when":"scmProvider == git"},{"command":"git.clone","group":"1_header@3","when":"scmProvider == git"},{"command":"git.checkout","group":"1_header@4","when":"scmProvider == git"},{"command":"git.fetch","group":"1_header@5","when":"scmProvider == git"},{"submenu":"git.commit","group":"2_main@1","when":"scmProvider == git"},{"submenu":"git.changes","group":"2_main@2","when":"scmProvider == git"},{"submenu":"git.pullpush","group":"2_main@3","when":"scmProvider == git"},{"submenu":"git.branch","group":"2_main@4","when":"scmProvider == git"},{"submenu":"git.remotes","group":"2_main@5","when":"scmProvider == git"},{"submenu":"git.stash","group":"2_main@6","when":"scmProvider == git"},{"submenu":"git.tags","group":"2_main@7","when":"scmProvider == git"},{"submenu":"git.worktrees","group":"2_main@8","when":"scmProvider == git"},{"command":"git.showOutput","group":"3_footer","when":"scmProvider == git"}],"scm/repositories/title":[{"command":"git.reopenClosedRepositories","group":"navigation@1","when":"git.closedRepositoryCount > 0"}],"scm/repository":[{"command":"git.pull","group":"1_header@1","when":"scmProvider == git"},{"command":"git.push","group":"1_header@2","when":"scmProvider == git"},{"command":"git.clone","group":"1_header@3","when":"scmProvider == git"},{"command":"git.checkout","group":"1_header@4","when":"scmProvider == git"},{"command":"git.fetch","group":"1_header@5","when":"scmProvider == git"},{"submenu":"git.commit","group":"2_main@1","when":"scmProvider == git"},{"submenu":"git.changes","group":"2_main@2","when":"scmProvider == git"},{"submenu":"git.pullpush","group":"2_main@3","when":"scmProvider == git"},{"submenu":"git.branch","group":"2_main@4","when":"scmProvider == git"},{"submenu":"git.remotes","group":"2_main@5","when":"scmProvider == git"},{"submenu":"git.stash","group":"2_main@6","when":"scmProvider == git"},{"submenu":"git.tags","group":"2_main@7","when":"scmProvider == git"},{"submenu":"git.worktrees","group":"2_main@8","when":"scmProvider == git"},{"command":"git.showOutput","group":"3_footer","when":"scmProvider == git"}],"scm/sourceControl":[{"command":"git.close","group":"navigation@1","when":"scmProvider == git"},{"command":"git.closeOtherRepositories","group":"navigation@2","when":"scmProvider == git && gitOpenRepositoryCount > 1"},{"command":"git.openWorktree","group":"1_worktree@1","when":"scmProvider == git && scmProviderContext == worktree"},{"command":"git.openWorktreeInNewWindow","group":"1_worktree@2","when":"scmProvider == git && scmProviderContext == worktree"},{"command":"git.deleteWorktree2","group":"2_worktree@1","when":"scmProvider == git && scmProviderContext == worktree"}],"scm/artifactGroup/context":[{"command":"git.repositories.createBranch","group":"inline@1","when":"scmProvider == git && scmArtifactGroup == branches"},{"command":"git.repositories.createTag","group":"inline@1","when":"scmProvider == git && scmArtifactGroup == tags"},{"submenu":"git.repositories.stash","group":"inline@1","when":"scmProvider == git && scmArtifactGroup == stashes"},{"command":"git.repositories.createWorktree","group":"inline@1","when":"scmProvider == git && scmArtifactGroup == worktrees"}],"scm/artifact/context":[{"command":"git.repositories.checkout","group":"inline@1","when":"scmProvider == git && (scmArtifactGroupId == branches || scmArtifactGroupId == tags)"},{"command":"git.repositories.stashApply","alt":"git.repositories.stashPop","group":"inline@1","when":"scmProvider == git && scmArtifactGroupId == stashes"},{"command":"git.repositories.stashView","group":"1_view@1","when":"scmProvider == git && scmArtifactGroupId == stashes"},{"command":"git.repositories.stashApply","group":"2_apply@1","when":"scmProvider == git && scmArtifactGroupId == stashes"},{"command":"git.repositories.stashPop","group":"2_apply@2","when":"scmProvider == git && scmArtifactGroupId == stashes"},{"command":"git.repositories.stashDrop","group":"3_drop@3","when":"scmProvider == git && scmArtifactGroupId == stashes"},{"command":"git.repositories.stashCopyBranchName","group":"4_copy@1","when":"scmProvider == git && scmArtifactGroupId == stashes"},{"command":"git.repositories.copyStashName","group":"4_copy@2","when":"scmProvider == git && scmArtifactGroupId == stashes"},{"command":"git.repositories.checkout","group":"1_checkout@1","when":"scmProvider == git && (scmArtifactGroupId == branches || scmArtifactGroupId == tags)"},{"command":"git.repositories.checkoutDetached","group":"1_checkout@2","when":"scmProvider == git && (scmArtifactGroupId == branches || scmArtifactGroupId == tags)"},{"command":"git.repositories.merge","group":"2_modify@1","when":"scmProvider == git && scmArtifactGroupId == branches"},{"command":"git.repositories.rebase","group":"2_modify@2","when":"scmProvider == git && scmArtifactGroupId == branches"},{"command":"git.repositories.createFrom","group":"3_modify@1","when":"scmProvider == git && scmArtifactGroupId == branches"},{"command":"git.repositories.deleteBranch","group":"3_modify@2","when":"scmProvider == git && scmArtifactGroupId == branches"},{"command":"git.repositories.deleteTag","group":"3_modify@1","when":"scmProvider == git && scmArtifactGroupId == tags"},{"command":"git.repositories.compareRef","group":"4_compare@1","when":"scmProvider == git && (scmArtifactGroupId == branches || scmArtifactGroupId == tags)"},{"command":"git.repositories.copyCommitHash","group":"5_copy@2","when":"scmProvider == git && (scmArtifactGroupId == branches || scmArtifactGroupId == tags)"},{"command":"git.repositories.copyBranchName","group":"5_copy@1","when":"scmProvider == git && scmArtifactGroupId == branches"},{"command":"git.repositories.copyTagName","group":"5_copy@2","when":"scmProvider == git && scmArtifactGroupId == tags"},{"command":"git.repositories.openWorktreeInNewWindow","group":"inline@1","when":"scmProvider == git && scmArtifactGroupId == worktrees"},{"command":"git.repositories.openWorktree","group":"1_open@1","when":"scmProvider == git && scmArtifactGroupId == worktrees"},{"command":"git.repositories.openWorktreeInNewWindow","group":"1_open@2","when":"scmProvider == git && scmArtifactGroupId == worktrees"},{"command":"git.repositories.deleteWorktree","group":"2_modify@1","when":"scmProvider == git && scmArtifactGroupId == worktrees"},{"command":"git.repositories.worktreeCopyCommitHash","group":"3_copy@2","when":"scmProvider == git && scmArtifactGroupId == worktrees"},{"command":"git.repositories.worktreeCopyBranchName","group":"3_copy@1","when":"scmProvider == git && scmArtifactGroupId == worktrees"},{"command":"git.repositories.worktreeCopyPath","group":"3_copy@3","when":"scmProvider == git && scmArtifactGroupId == worktrees"}],"scm/resourceGroup/context":[{"command":"git.stageAllMerge","when":"scmProvider == git && scmResourceGroup == merge","group":"1_modification"},{"command":"git.stageAllMerge","when":"scmProvider == git && scmResourceGroup == merge","group":"inline@2"},{"command":"git.unstageAll","when":"scmProvider == git && scmResourceGroup == index","group":"1_modification"},{"command":"git.unstageAll","when":"scmProvider == git && scmResourceGroup == index","group":"inline@2"},{"command":"git.viewStagedChanges","when":"scmProvider == git && scmResourceGroup == index","group":"inline@1"},{"command":"git.viewChanges","when":"scmProvider == git && scmResourceGroup == workingTree","group":"inline@1"},{"command":"git.cleanAll","when":"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges == mixed","group":"1_modification"},{"command":"git.stageAll","when":"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges == mixed","group":"1_modification"},{"command":"git.cleanAll","when":"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges == mixed","group":"inline@2"},{"command":"git.stageAll","when":"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges == mixed","group":"inline@2"},{"command":"git.cleanAllTracked","when":"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges != mixed","group":"1_modification"},{"command":"git.stageAllTracked","when":"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges != mixed","group":"1_modification"},{"command":"git.cleanAllTracked","when":"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges != mixed","group":"inline@2"},{"command":"git.stageAllTracked","when":"scmProvider == git && scmResourceGroup == workingTree && config.git.untrackedChanges != mixed","group":"inline@2"},{"command":"git.cleanAllUntracked","when":"scmProvider == git && scmResourceGroup == untracked","group":"1_modification"},{"command":"git.stageAllUntracked","when":"scmProvider == git && scmResourceGroup == untracked","group":"1_modification"},{"command":"git.viewUntrackedChanges","when":"scmProvider == git && scmResourceGroup == untracked","group":"inline@1"},{"command":"git.cleanAllUntracked","when":"scmProvider == git && scmResourceGroup == untracked","group":"inline@2"},{"command":"git.stageAllUntracked","when":"scmProvider == git && scmResourceGroup == untracked","group":"inline@2"}],"scm/resourceFolder/context":[{"command":"git.stage","when":"scmProvider == git && scmResourceGroup == merge","group":"1_modification"},{"command":"git.stage","when":"scmProvider == git && scmResourceGroup == merge","group":"inline@2"},{"command":"git.unstage","when":"scmProvider == git && scmResourceGroup == index","group":"1_modification"},{"command":"git.unstage","when":"scmProvider == git && scmResourceGroup == index","group":"inline@2"},{"command":"git.stage","when":"scmProvider == git && scmResourceGroup == workingTree","group":"1_modification"},{"command":"git.clean","when":"scmProvider == git && scmResourceGroup == workingTree","group":"1_modification"},{"command":"git.clean","when":"scmProvider == git && scmResourceGroup == workingTree","group":"inline@2"},{"command":"git.stage","when":"scmProvider == git && scmResourceGroup == workingTree","group":"inline@2"},{"command":"git.ignore","when":"scmProvider == git && scmResourceGroup == workingTree","group":"1_modification@3"},{"command":"git.stage","when":"scmProvider == git && scmResourceGroup == untracked","group":"1_modification"},{"command":"git.stage","when":"scmProvider == git && scmResourceGroup == untracked","group":"inline@2"},{"command":"git.clean","when":"scmProvider == git && scmResourceGroup == untracked","group":"1_modification"},{"command":"git.clean","when":"scmProvider == git && scmResourceGroup == untracked","group":"inline@2"},{"command":"git.ignore","when":"scmProvider == git && scmResourceGroup == untracked","group":"1_modification@3"}],"scm/resourceState/context":[{"command":"git.stage","when":"scmProvider == git && scmResourceGroup == merge","group":"1_modification"},{"command":"git.openFile","when":"scmProvider == git && scmResourceGroup == merge","group":"navigation"},{"command":"git.stage","when":"scmProvider == git && scmResourceGroup == merge","group":"inline@2"},{"command":"git.revealFileInOS.linux","when":"scmProvider == git && scmResourceGroup == merge && remoteName == '' && isLinux","group":"2_view@1"},{"command":"git.revealFileInOS.mac","when":"scmProvider == git && scmResourceGroup == merge && remoteName == '' && isMac","group":"2_view@1"},{"command":"git.revealFileInOS.windows","when":"scmProvider == git && scmResourceGroup == merge && remoteName == '' && isWindows","group":"2_view@1"},{"command":"git.revealInExplorer","when":"scmProvider == git && scmResourceGroup == merge","group":"2_view@2"},{"command":"git.openFile2","when":"scmProvider == git && scmResourceGroup == merge && config.git.showInlineOpenFileAction && config.git.openDiffOnClick","group":"inline@1"},{"command":"git.openChange","when":"scmProvider == git && scmResourceGroup == merge && config.git.showInlineOpenFileAction && !config.git.openDiffOnClick","group":"inline@1"},{"command":"git.openChange","when":"scmProvider == git && scmResourceGroup == index","group":"navigation"},{"command":"git.openFile","when":"scmProvider == git && scmResourceGroup == index","group":"navigation"},{"command":"git.openHEADFile","when":"scmProvider == git && scmResourceGroup == index","group":"navigation"},{"command":"git.unstage","when":"scmProvider == git && scmResourceGroup == index","group":"1_modification"},{"command":"git.unstage","when":"scmProvider == git && scmResourceGroup == index","group":"inline@2"},{"command":"git.revealFileInOS.linux","when":"scmProvider == git && scmResourceGroup == index && remoteName == '' && isLinux","group":"2_view@1"},{"command":"git.revealFileInOS.mac","when":"scmProvider == git && scmResourceGroup == index && remoteName == '' && isMac","group":"2_view@1"},{"command":"git.revealFileInOS.windows","when":"scmProvider == git && scmResourceGroup == index && remoteName == '' && isWindows","group":"2_view@1"},{"command":"git.revealInExplorer","when":"scmProvider == git && scmResourceGroup == index","group":"2_view@2"},{"command":"git.compareWithWorkspace","when":"scmProvider == git && scmResourceGroup == index && scmResourceState == worktree","group":"worktree_diff"},{"command":"git.openFile2","when":"scmProvider == git && scmResourceGroup == index && config.git.showInlineOpenFileAction && config.git.openDiffOnClick","group":"inline@1"},{"command":"git.openChange","when":"scmProvider == git && scmResourceGroup == index && config.git.showInlineOpenFileAction && !config.git.openDiffOnClick","group":"inline@1"},{"command":"git.openChange","when":"scmProvider == git && scmResourceGroup == workingTree","group":"navigation"},{"command":"git.openHEADFile","when":"scmProvider == git && scmResourceGroup == workingTree","group":"navigation"},{"command":"git.openFile","when":"scmProvider == git && scmResourceGroup == workingTree","group":"navigation"},{"command":"git.stage","when":"scmProvider == git && scmResourceGroup == workingTree","group":"1_modification"},{"command":"git.clean","when":"scmProvider == git && scmResourceGroup == workingTree","group":"1_modification"},{"command":"git.clean","when":"scmProvider == git && scmResourceGroup == workingTree","group":"inline@2"},{"command":"git.stage","when":"scmProvider == git && scmResourceGroup == workingTree","group":"inline@2"},{"command":"git.compareWithWorkspace","when":"scmProvider == git && scmResourceGroup == workingTree && scmResourceState == worktree","group":"worktree_diff"},{"command":"git.openFile2","when":"scmProvider == git && scmResourceGroup == workingTree && config.git.showInlineOpenFileAction && config.git.openDiffOnClick","group":"inline@1"},{"command":"git.openChange","when":"scmProvider == git && scmResourceGroup == workingTree && config.git.showInlineOpenFileAction && !config.git.openDiffOnClick","group":"inline@1"},{"command":"git.ignore","when":"scmProvider == git && scmResourceGroup == workingTree","group":"1_modification@3"},{"command":"git.revealFileInOS.linux","when":"scmProvider == git && scmResourceGroup == workingTree && remoteName == '' && isLinux","group":"2_view@1"},{"command":"git.revealFileInOS.mac","when":"scmProvider == git && scmResourceGroup == workingTree && remoteName == '' && isMac","group":"2_view@1"},{"command":"git.revealFileInOS.windows","when":"scmProvider == git && scmResourceGroup == workingTree && remoteName == '' && isWindows","group":"2_view@1"},{"command":"git.revealInExplorer","when":"scmProvider == git && scmResourceGroup == workingTree","group":"2_view@2"},{"command":"git.openChange","when":"scmProvider == git && scmResourceGroup == untracked","group":"navigation"},{"command":"git.openHEADFile","when":"scmProvider == git && scmResourceGroup == untracked","group":"navigation"},{"command":"git.openFile","when":"scmProvider == git && scmResourceGroup == untracked","group":"navigation"},{"command":"git.stage","when":"scmProvider == git && scmResourceGroup == untracked","group":"1_modification"},{"command":"git.clean","when":"scmProvider == git && scmResourceGroup == untracked && !gitFreshRepository","group":"1_modification"},{"command":"git.clean","when":"scmProvider == git && scmResourceGroup == untracked && !gitFreshRepository","group":"inline@2"},{"command":"git.stage","when":"scmProvider == git && scmResourceGroup == untracked","group":"inline@2"},{"command":"git.openFile2","when":"scmProvider == git && scmResourceGroup == untracked && config.git.showInlineOpenFileAction && config.git.openDiffOnClick","group":"inline@1"},{"command":"git.openChange","when":"scmProvider == git && scmResourceGroup == untracked && config.git.showInlineOpenFileAction && !config.git.openDiffOnClick","group":"inline@1"},{"command":"git.ignore","when":"scmProvider == git && scmResourceGroup == untracked","group":"1_modification@3"}],"scm/history/title":[{"command":"git.fetchAll","group":"navigation@900","when":"scmProvider == git"},{"command":"git.pullRef","group":"navigation@901","when":"scmProvider == git"},{"command":"git.pushRef","when":"scmProvider == git && scmCurrentHistoryItemRefHasRemote","group":"navigation@902"},{"command":"git.publish","when":"scmProvider == git && !scmCurrentHistoryItemRefHasRemote","group":"navigation@903"}],"scm/historyItem/context":[{"command":"git.graph.checkoutDetached","when":"scmProvider == git","group":"1_checkout@2"},{"command":"git.branch","when":"scmProvider == git","group":"2_branch@2"},{"command":"git.createTag","when":"scmProvider == git","group":"3_tag@1"},{"command":"git.graph.cherryPick","when":"scmProvider == git","group":"4_modify@1"},{"command":"git.graph.compareWithRemote","when":"scmProvider == git","group":"5_compare@1"},{"command":"git.graph.compareWithMergeBase","when":"scmProvider == git","group":"5_compare@2"},{"command":"git.graph.compareRef","when":"scmProvider == git","group":"5_compare@3"},{"command":"git.copyCommitId","when":"scmProvider == git && !listMultiSelection","group":"9_copy@1"},{"command":"git.copyCommitMessage","when":"scmProvider == git && !listMultiSelection","group":"9_copy@2"}],"scm/historyItemRef/context":[{"command":"git.graph.checkout","when":"scmProvider == git","group":"1_checkout@1"},{"command":"git.graph.deleteBranch","when":"scmProvider == git && scmHistoryItemRef =~ /^refs\\/heads\\/|^refs\\/remotes\\//","group":"2_branch@2"},{"command":"git.graph.deleteTag","when":"scmProvider == git && scmHistoryItemRef =~ /^refs\\/tags\\//","group":"3_tag@2"}],"editor/title":[{"command":"git.openFile","group":"navigation","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && resourceScheme =~ /^git$|^file$/"},{"command":"git.openFile","group":"navigation","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInNotebookTextDiffEditor && resourceScheme =~ /^git$|^file$/"},{"command":"git.openFile","group":"navigation","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && !isInDiffEditor && !isInNotebookTextDiffEditor && resourceScheme == git"},{"command":"git.openChange","group":"navigation@2","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && !isInDiffEditor && !isMergeEditor && resourceScheme == file && scmActiveResourceHasChanges && !isSessionsWindow"},{"command":"git.stashApplyEditor","alt":"git.stashPopEditor","group":"navigation@1","when":"config.git.enabled && !git.missing && resourceScheme == git-stash"},{"command":"git.stashDropEditor","group":"navigation@2","when":"config.git.enabled && !git.missing && resourceScheme == git-stash"},{"command":"git.stage","group":"2_git@1","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && !isInDiffEditor && !isMergeEditor && resourceScheme == file && git.activeResourceHasUnstagedChanges && !isSessionsWindow"},{"command":"git.unstage","group":"2_git@2","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && !isInDiffEditor && !isMergeEditor && resourceScheme == file && git.activeResourceHasStagedChanges && !isSessionsWindow"},{"command":"git.stage","group":"2_git@1","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == file && !isSessionsWindow"},{"command":"git.stageSelectedRanges","group":"2_git@2","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == file && !isSessionsWindow"},{"command":"git.unstage","group":"2_git@3","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == git && !isSessionsWindow"},{"command":"git.unstageSelectedRanges","group":"2_git@4","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == git && !isSessionsWindow"},{"command":"git.revertSelectedRanges","group":"2_git@5","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == file && !isSessionsWindow"}],"editor/context":[{"command":"git.stageSelectedRanges","group":"2_git@1","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == file"},{"command":"git.unstageSelectedRanges","group":"2_git@2","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == git"},{"command":"git.revertSelectedRanges","group":"2_git@3","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && isInDiffEditor && isInDiffRightEditor && !isEmbeddedDiffEditor && resourceScheme == file"}],"editor/content":[{"command":"git.acceptMerge","when":"isMergeResultEditor && mergeEditorBaseUri =~ /^(git|file):/ && mergeEditorResultUri in git.mergeChanges"},{"command":"git.openMergeEditor","group":"navigation@-10","when":"config.git.enabled && !git.missing && !isInDiffEditor && !isMergeEditor && resource in git.mergeChanges && git.activeResourceHasMergeConflicts"},{"command":"git.commitMessageAccept","group":"navigation","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && editorLangId == git-commit"},{"command":"git.commitMessageDiscard","group":"secondary","when":"config.git.enabled && !git.missing && gitOpenRepositoryCount != 0 && editorLangId == git-commit"}],"multiDiffEditor/resource/title":[{"command":"git.stageFile","group":"navigation","when":"scmProvider == git && scmResourceGroup == workingTree"},{"command":"git.stageFile","group":"navigation","when":"scmProvider == git && scmResourceGroup == untracked"},{"command":"git.unstageFile","group":"navigation","when":"scmProvider == git && scmResourceGroup == index"}],"diffEditor/gutter/hunk":[{"command":"git.diff.stageHunk","group":"primary@10","when":"diffEditorOriginalUri =~ /^git\\:.*%22ref%22%3A%22~%22%7D$/"}],"diffEditor/gutter/selection":[{"command":"git.diff.stageSelection","group":"primary@10","when":"diffEditorOriginalUri =~ /^git\\:.*%22ref%22%3A%22~%22%7D$/"}],"scm/change/title":[{"command":"git.stageChange","when":"config.git.enabled && !git.missing && originalResource =~ /^git\\:.*%22ref%22%3A%22%22%7D$/"},{"command":"git.revertChange","when":"config.git.enabled && !git.missing && originalResource =~ /^git\\:.*%22ref%22%3A%22%22%7D$/"},{"command":"git.unstageChange","when":"false"}],"timeline/item/context":[{"command":"git.timeline.viewCommit","group":"inline","when":"config.git.enabled && !git.missing && timelineItem =~ /git:file:commit\\b/ && !listMultiSelection"},{"command":"git.timeline.openDiff","group":"1_actions@1","when":"config.git.enabled && !git.missing && timelineItem =~ /git:file\\b/ && !listMultiSelection"},{"command":"git.timeline.viewCommit","group":"1_actions@2","when":"config.git.enabled && !git.missing && timelineItem =~ /git:file:commit\\b/ && !listMultiSelection"},{"command":"git.timeline.compareWithSelected","group":"3_compare@1","when":"config.git.enabled && !git.missing && git.timeline.selectedForCompare && timelineItem =~ /git:file\\b/ && !listMultiSelection"},{"command":"git.timeline.selectForCompare","group":"3_compare@2","when":"config.git.enabled && !git.missing && timelineItem =~ /git:file\\b/ && !listMultiSelection"},{"command":"git.timeline.copyCommitId","group":"5_copy@1","when":"config.git.enabled && !git.missing && timelineItem =~ /git:file:commit\\b/ && !listMultiSelection"},{"command":"git.timeline.copyCommitMessage","group":"5_copy@2","when":"config.git.enabled && !git.missing && timelineItem =~ /git:file:commit\\b/ && !listMultiSelection"}],"git.commit":[{"command":"git.commit","group":"1_commit@1"},{"command":"git.commitStaged","group":"1_commit@2"},{"command":"git.commitAll","group":"1_commit@3"},{"command":"git.undoCommit","group":"1_commit@4"},{"command":"git.rebaseAbort","group":"1_commit@5"},{"command":"git.commitNoVerify","group":"2_commit_noverify@1","when":"config.git.allowNoVerifyCommit"},{"command":"git.commitStagedNoVerify","group":"2_commit_noverify@2","when":"config.git.allowNoVerifyCommit"},{"command":"git.commitAllNoVerify","group":"2_commit_noverify@3","when":"config.git.allowNoVerifyCommit"},{"command":"git.commitAmend","group":"3_amend@1"},{"command":"git.commitStagedAmend","group":"3_amend@2"},{"command":"git.commitAllAmend","group":"3_amend@3"},{"command":"git.commitAmendNoVerify","group":"4_amend_noverify@1","when":"config.git.allowNoVerifyCommit"},{"command":"git.commitStagedAmendNoVerify","group":"4_amend_noverify@2","when":"config.git.allowNoVerifyCommit"},{"command":"git.commitAllAmendNoVerify","group":"4_amend_noverify@3","when":"config.git.allowNoVerifyCommit"},{"command":"git.commitSigned","group":"5_signoff@1"},{"command":"git.commitStagedSigned","group":"5_signoff@2"},{"command":"git.commitAllSigned","group":"5_signoff@3"},{"command":"git.commitSignedNoVerify","group":"6_signoff_noverify@1","when":"config.git.allowNoVerifyCommit"},{"command":"git.commitStagedSignedNoVerify","group":"6_signoff_noverify@2","when":"config.git.allowNoVerifyCommit"},{"command":"git.commitAllSignedNoVerify","group":"6_signoff_noverify@3","when":"config.git.allowNoVerifyCommit"}],"git.changes":[{"command":"git.stageAll","group":"changes@1"},{"command":"git.unstageAll","group":"changes@2"},{"command":"git.cleanAll","group":"changes@3"}],"git.pullpush":[{"command":"git.sync","group":"1_sync@1"},{"command":"git.syncRebase","when":"gitState == idle","group":"1_sync@2"},{"command":"git.pull","group":"2_pull@1"},{"command":"git.pullRebase","group":"2_pull@2"},{"command":"git.pullFrom","group":"2_pull@3"},{"command":"git.push","group":"3_push@1"},{"command":"git.pushForce","when":"config.git.allowForcePush","group":"3_push@2"},{"command":"git.pushTo","group":"3_push@3"},{"command":"git.pushToForce","when":"config.git.allowForcePush","group":"3_push@4"},{"command":"git.fetch","group":"4_fetch@1"},{"command":"git.fetchPrune","group":"4_fetch@2"},{"command":"git.fetchAll","group":"4_fetch@3"}],"git.branch":[{"command":"git.merge","group":"1_merge@1"},{"command":"git.rebase","group":"1_merge@2"},{"command":"git.branch","group":"2_branch@1"},{"command":"git.branchFrom","group":"2_branch@2"},{"command":"git.renameBranch","group":"3_modify@1"},{"command":"git.deleteBranch","group":"3_modify@2"},{"command":"git.deleteRemoteBranch","group":"3_modify@3"},{"command":"git.publish","group":"4_publish@1"}],"git.remotes":[{"command":"git.addRemote","group":"remote@1"},{"command":"git.removeRemote","group":"remote@2"}],"git.stash":[{"command":"git.stash","group":"1_stash@1"},{"command":"git.stashIncludeUntracked","group":"1_stash@2"},{"command":"git.stashStaged","when":"gitVersion2.35","group":"1_stash@3"},{"command":"git.stashApplyLatest","group":"2_apply@1"},{"command":"git.stashApply","group":"2_apply@2"},{"command":"git.stashPopLatest","group":"3_pop@1"},{"command":"git.stashPop","group":"3_pop@2"},{"command":"git.stashDrop","group":"4_drop@1"},{"command":"git.stashDropAll","group":"4_drop@2"},{"command":"git.stashView","group":"5_preview@1"}],"git.repositories.stash":[{"command":"git.stash","group":"1_stash@1"},{"command":"git.stashStaged","when":"gitVersion2.35","group":"2_stash@1"},{"command":"git.stashIncludeUntracked","group":"2_stash@2"}],"git.tags":[{"command":"git.createTag","group":"1_tags@1"},{"command":"git.deleteTag","group":"1_tags@2"},{"command":"git.deleteRemoteTag","group":"1_tags@3"},{"command":"git.pushTags","group":"2_tags@1"}],"git.worktrees":[{"when":"scmProviderContext == worktree","command":"git.openWorktree","group":"openWorktrees@1"},{"when":"scmProviderContext == worktree","command":"git.openWorktreeInNewWindow","group":"openWorktrees@2"},{"when":"scmProviderContext == repository","command":"git.createWorktree","group":"worktrees@1"},{"when":"scmProviderContext == worktree","command":"git.deleteWorktree2","group":"worktrees@2"}]},"submenus":[{"id":"git.commit","label":"提交"},{"id":"git.changes","label":"更改"},{"id":"git.pullpush","label":"拉取，推送"},{"id":"git.branch","label":"分支"},{"id":"git.remotes","label":"远程"},{"id":"git.stash","label":"存储"},{"id":"git.tags","label":"标记"},{"id":"git.worktrees","label":"工作树"},{"id":"git.repositories.stash","label":"存储","icon":"$(plus)"}],"configuration":{"title":"Git","properties":{"git.enabled":{"type":"boolean","scope":"resource","description":"是否启用 Git。","default":true,"agentsWindow":{"default":true,"readOnly":true}},"git.path":{"type":["string","null","array"],"markdownDescription":"Git 可执行文件的路径和文件名，例如 \"C:\\Program Files\\Git\\bin\\git.exe\" (Windows)。这也可以是一个包含多个要查找的路径的字符串值数组。","default":null,"scope":"machine"},"git.autoRepositoryDetection":{"type":["boolean","string"],"enum":[true,false,"subFolders","openEditors"],"enumDescriptions":["扫描当前打开文件夹与当前打开文件所在文件夹的子文件夹。","禁止自动扫描仓库。","扫描当前打开文件夹的子文件夹。","扫描当前打开文件的父文件夹。"],"description":"配置何时自动检测存储库。","default":true},"git.autorefresh":{"type":"boolean","description":"是否启用自动刷新。","default":true,"agentsWindow":{"default":true}},"git.autofetch":{"type":["boolean","string"],"enum":[true,false,"all"],"scope":"resource","markdownDescription":"若设置为 true，则自动从当前 Git 仓库的默认远程仓库抓取提交。若设置为“全部”，则从所有远程仓库进行抓取。","default":false,"tags":["usesOnlineServices"],"agentsWindow":{"default":true}},"git.autofetchPeriod":{"type":"number","scope":"resource","markdownDescription":"在启用“#git.autofetch#”情况下每次自动 git fetch 之间的间隔时间(以秒为单位)。","default":180},"git.defaultBranchName":{"type":"string","markdownDescription":"初始化新的 Git 存储库时默认分支的名称(例如: main、trunk、development)。设置为空时，将使用在 Git 中配置的默认分支名称。**注意:** 需要 Git 版本“2.28.0”或更高版本。","default":"main","scope":"resource"},"git.branchPrefix":{"type":"string","description":"创建新分支时使用的前缀。","default":"","scope":"resource"},"git.branchProtection":{"type":"array","markdownDescription":"受保护分支的列表。默认情况下，在将更改提交到受保护分支之前会显示提示。可以使用 `#git.branchProtectionPrompt#` 设置控制提示。","items":{"type":"string"},"default":[],"scope":"resource"},"git.branchProtectionPrompt":{"type":"string","description":"控制是否在将更改提交到受保护的分支之前显示提示。","enum":["alwaysCommit","alwaysCommitToNewBranch","alwaysPrompt"],"enumDescriptions":["始终将更改提交到受保护分支。","始终将更改提交到新的分支。","始终在将更改提交到受保护分支之前进行提示。"],"default":"alwaysPrompt","scope":"resource"},"git.branchValidationRegex":{"type":"string","description":"用于验证新分支名称的正则表达式。","default":""},"git.branchWhitespaceChar":{"type":"string","description":"用于替换新分支名称中的空格，以及用于分隔随机生成的分支名称区段的字符。","default":"-"},"git.branchRandomName.enable":{"type":"boolean","description":"控制在创建新分支时是否生成随机名称。","default":false,"scope":"resource","agentsWindow":{"default":true}},"git.branchRandomName.dictionary":{"type":"array","markdownDescription":"用于随机生成的分支名称的字典列表。每个值都表示用于生成分支名称段的字典。支持的词典:“形容词”、“动物”、“颜色”和“数字”。","items":{"type":"string","enum":["adjectives","animals","colors","numbers"],"enumDescriptions":["随机形容词","随机动物名称","随机颜色名称","100 和 999 之间的一个随机数"]},"minItems":1,"maxItems":5,"default":["adjectives","animals"],"scope":"resource"},"git.confirmSync":{"type":"boolean","description":"同步 Git 存储库前请先进行确认。","default":true,"agentsWindow":{"default":false,"readOnly":true}},"git.confirmCommittedDelete":{"type":"boolean","description":"在使用 Git 删除提交的文件之前进行确认。","default":true},"git.countBadge":{"type":"string","enum":["all","tracked","off"],"enumDescriptions":["对所有更改计数。","仅对跟踪的更改计数。","关闭计数器。"],"description":"控制 Git 计数徽章。","default":"all","scope":"resource"},"git.checkoutType":{"type":"array","items":{"type":"string","enum":["local","tags","remote"],"enumDescriptions":["本地分支","标记","远程分支"]},"uniqueItems":true,"markdownDescription":"控制在运行 `签出到…` 时列出的 Git 参考类型。","default":["local","remote","tags"]},"git.ignoreLegacyWarning":{"type":"boolean","description":"忽略“旧版 Git”警告。","default":false},"git.ignoreMissingGitWarning":{"type":"boolean","description":"忽略“缺失 Git”的警告。","default":false},"git.ignoreWindowsGit27Warning":{"type":"boolean","description":"如果 Windows 上安装了 Git 2.25 - 2.26，则忽略警告。","default":false},"git.ignoreLimitWarning":{"type":"boolean","description":"忽略“仓库中存在大量更改”的警告。","default":false},"git.ignoreRebaseWarning":{"type":"boolean","description":"忽略拉取时发出的分支似乎已变基的警告。","default":false},"git.defaultCloneDirectory":{"type":["string","null"],"default":null,"scope":"machine","description":"克隆 Git 存储库的默认位置。"},"git.useEditorAsCommitInput":{"type":"boolean","description":"控制当提交输入框中未提供消息时，是否将使用全文编辑器来创作提交消息。","default":true},"git.verboseCommit":{"type":"boolean","scope":"resource","markdownDescription":"启用`#git.useEditorAsCommitInput#`时启用详细输出。","default":false},"git.enableSmartCommit":{"type":"boolean","scope":"resource","description":"在没有暂存的更改时提交所有更改。","default":false},"git.smartCommitChanges":{"type":"string","enum":["all","tracked"],"enumDescriptions":["自动暂存所有更改。","仅自动暂存跟踪的更改。"],"scope":"resource","description":"控制哪些更改由Smart Commit自动暂存。","default":"all"},"git.suggestSmartCommit":{"type":"boolean","scope":"resource","description":"建议启用智能提交(在无暂存更改时提交所有更改)。","default":true},"git.enableCommitSigning":{"type":"boolean","scope":"resource","description":"允许使用 GPG、X.509 或 SSH 提交签名。","default":false},"git.confirmEmptyCommits":{"type":"boolean","scope":"resource","description":"始终确认为 \"Git: Commit Empty\" 命令创建空提交。","default":true},"git.decorations.enabled":{"type":"boolean","default":true,"description":"控制 Git 是否在资源管理器和“打开编辑器”视图中添加颜色和小标。"},"git.enableStatusBarSync":{"type":"boolean","default":true,"description":"控制Git Sync命令是否出现在状态栏中。","scope":"resource"},"git.followTagsWhenSync":{"type":"boolean","scope":"resource","default":false,"description":"运行同步命令时推送附注标签。"},"git.replaceTagsWhenPull":{"type":"boolean","scope":"resource","default":false,"description":"如果在运行拉取命令时发生冲突，自动将本地标记替换为远程标记。"},"git.promptToSaveFilesBeforeStash":{"type":"string","enum":["always","staged","never"],"enumDescriptions":["检查是否有任何未保存的文件。","只检查未保存的已暂存文件。","禁用此检查。"],"scope":"resource","default":"always","description":"控制 Git 是否在储藏更改之前检查未保存的文件。"},"git.promptToSaveFilesBeforeCommit":{"type":"string","enum":["always","staged","never"],"enumDescriptions":["检查是否有任何未保存的文件。","只检查未保存的已暂存文件。","禁用此检查。"],"scope":"resource","default":"always","description":"控制 Git 是否在提交之前检查未保存的文件。"},"git.postCommitCommand":{"type":"string","enum":["none","push","sync"],"enumDescriptions":["提交后不要运行任何命令。","成功提交后运行 'git push'。","成功提交后运行 'git pull' 和 'git push' 命令。"],"markdownDescription":"成功提交后运行 git 命令。","scope":"resource","default":"none","agentsWindow":{"default":"none","readOnly":true}},"git.rememberPostCommitCommand":{"type":"boolean","description":"记住提交后运行的最后一个 git 命令。","scope":"resource","default":false,"agentsWindow":{"default":false,"readOnly":true}},"git.openAfterClone":{"type":"string","enum":["always","alwaysNewWindow","whenNoFolderOpen","prompt"],"enumDescriptions":["始终在当前窗口中打开。","始终在新窗口中打开。","只有在没有打开任何文件夹时，才在当前窗口中打开。","始终提示操作。"],"default":"prompt","description":"控制是否在克隆后自动打开仓库。"},"git.showInlineOpenFileAction":{"type":"boolean","default":true,"description":"控制是否在 Git 更改视图中显示内联“打开文件”操作。"},"git.showPushSuccessNotification":{"type":"boolean","description":"控制在推送成功时是否显示通知。","default":false},"git.inputValidation":{"type":"boolean","default":false,"description":"控制是否显示提交消息输入验证诊断。"},"git.inputValidationLength":{"type":"number","default":72,"description":"控制显示提交消息长度警告的长度阈值。"},"git.inputValidationSubjectLength":{"type":["number","null"],"default":50,"markdownDescription":"控制用于显示警告的提交消息主题长度阈值。请取消设置它以继承 `#git.inputValidationLength#`的值。"},"git.detectSubmodules":{"type":"boolean","scope":"resource","default":true,"description":"控制是否自动检测 Git 子模块。"},"git.detectSubmodulesLimit":{"type":"number","scope":"resource","default":10,"description":"控制可检测到的 Git 子模块的限制。"},"git.detectWorktrees":{"type":"boolean","scope":"resource","default":false,"description":"控制是否自动检测 Git 工作树。","agentsWindow":{"default":false}},"git.detectWorktreesLimit":{"type":"number","scope":"resource","default":50,"description":"控制检测到的 Git 工作树的限制。"},"git.worktreeIncludeFiles":{"type":"array","items":{"type":"string"},"default":[],"markdownDescription":"为创建新工作树时包含的文件和文件夹配置 [glob 模式](https://aka.ms/vscode-glob-patterns)。只有与模式匹配并在 `.gitignore` 中列出的文件和文件夹才会复制到新创建的工作树。","scope":"resource","tags":["experimental"]},"git.alwaysShowStagedChangesResourceGroup":{"type":"boolean","scope":"resource","default":false,"description":"始终显示“暂存的更改”资源组。"},"git.alwaysSignOff":{"type":"boolean","scope":"resource","default":false,"description":"控制所有提交的 signoff 标志。"},"git.addAICoAuthor":{"type":"string","enum":["off","chatAndAgent","all"],"enumDescriptions":["切勿在尾部添加 AI 共同创作者。","当包含聊天或智能体编辑中的代码时，在尾部添加 AI 共同创作者。","当包含任何 AI 生成的代码时(例如内联补全、聊天或智能体编辑)，请在尾部添加 AI 共同创作者。"],"scope":"resource","default":"off","description":"控制当提交内容中包含 AI 生成的代码时，是否自动将“共同创作者”添加到提交消息的尾部。"},"git.ignoreSubmodules":{"type":"boolean","scope":"resource","default":false,"description":"忽略对文件树中子模块的修改。"},"git.ignoredRepositories":{"type":"array","items":{"type":"string"},"default":[],"scope":"window","description":"要忽略的 Git 存储库列表。"},"git.scanRepositories":{"type":"array","items":{"type":"string"},"default":[],"scope":"resource","description":"在其中搜索 Git 存储库的路径的列表。"},"git.showProgress":{"type":"boolean","description":"控制 Git 操作是否显示进度提示。","default":true,"scope":"resource","agentsWindow":{"default":false,"readOnly":true}},"git.rebaseWhenSync":{"type":"boolean","scope":"resource","default":false,"description":"在运行“同步”命令时，强制 Git 使用“变基”。"},"git.pullBeforeCheckout":{"type":"boolean","scope":"resource","default":false,"description":"控制没有传出提交的分支在签出之前是否快速转发。"},"git.fetchOnPull":{"type":"boolean","scope":"resource","default":false,"description":"启用后，在拉取时获取所有分支。否则，仅获取当前。"},"git.pruneOnFetch":{"type":"boolean","scope":"resource","default":false,"description":"提取时修剪。"},"git.pullTags":{"type":"boolean","scope":"resource","default":true,"description":"拉取时提取所有标签。"},"git.autoStash":{"type":"boolean","scope":"resource","default":false,"description":"在拉取前暂存所有更改，在成功拉取后还原这些更改。"},"git.allowForcePush":{"type":"boolean","default":false,"description":"控制是否启用强制推送 (不论 force 还是 force-with-lease)。"},"git.useForcePushWithLease":{"type":"boolean","default":true,"description":"控制是否使用更安全的 force-with-lease 进行强制推送。"},"git.useForcePushIfIncludes":{"type":"boolean","default":true,"markdownDescription":"控制是否使用更安全的 force-if-includes 进行强制推送。注意: 此设置要求启用“#git.useForcePushWithLease#”设置以及 Git 版本“2.30.0”或更高版本。"},"git.confirmForcePush":{"type":"boolean","default":true,"description":"控制在强制推送前是否进行确认。"},"git.allowNoVerifyCommit":{"type":"boolean","default":false,"description":"控制是否允许没有运行 pre-commit 和 commit-msg 挂钩的提交。"},"git.confirmNoVerifyCommit":{"type":"boolean","default":true,"description":"控制是否在提交前要求确认而不进行验证。"},"git.closeDiffOnOperation":{"type":"boolean","scope":"resource","default":false,"description":"控制在储藏、提交、放弃、暂存或取消暂存更改时，是否应自动关闭差异编辑器。"},"git.openDiffOnClick":{"type":"boolean","scope":"resource","default":true,"description":"控制单击更改时是否应打开差异编辑器。否则将打开常规编辑器。"},"git.supportCancellation":{"type":"boolean","scope":"resource","default":false,"description":"控制在运行同步操作时是否出现通知，允许用户取消操作。"},"git.branchSortOrder":{"type":"string","enum":["committerdate","alphabetically"],"default":"committerdate","description":"控制分支的排列顺序。"},"git.untrackedChanges":{"type":"string","enum":["mixed","separate","hidden"],"enumDescriptions":["所有更改，无论是跟踪的还是未跟踪的，都会一起出现并表现出相同的行为。","未跟踪的更改单独显示在“源代码管理”视图中。它们也被排除在几个操作之外。","未跟踪的更改被隐藏，并从多个操作中排除。"],"default":"mixed","description":"控制未跟踪的更改的行为。","scope":"resource"},"git.requireGitUserConfig":{"type":"boolean","description":"控制在是要求进行显式 Git 用户配置，还是允许 Git 在缺少配置时进行猜测。","default":true,"scope":"resource"},"git.showCommitInput":{"type":"boolean","scope":"resource","default":true,"description":"控制是否在 Git 源控制面板中显示提交输入。"},"git.terminalAuthentication":{"type":"boolean","default":true,"description":"控制是否启用 VS Code 作为集成终端中生成的 Git 进程的身份验证处理程序。请注意: 需要重启终端才能选取此设置中的更改。"},"git.terminalGitEditor":{"type":"boolean","default":false,"description":"控制是否使 VS Code 成为集成终端中产生的 Git 进程的 Git 编辑器。请注意: 需要重启终端才能选择此设置中的更改。"},"git.useCommitInputAsStashMessage":{"type":"boolean","scope":"resource","default":false,"description":"控制是否将提交输入框中的消息用作默认储藏消息。"},"git.useIntegratedAskPass":{"type":"boolean","default":true,"description":"控制是否应覆盖 GIT_ASKPASS 以使用集成版本。"},"git.githubAuthentication":{"markdownDeprecationMessage":"This setting is now deprecated, please use `#github.gitAuthentication#` instead."},"git.timeline.date":{"type":"string","enum":["committed","authored"],"enumDescriptions":["使用提交日期","使用创作日期"],"default":"committed","description":"控制在日程表视图中项目使用的日期。","scope":"window"},"git.timeline.showAuthor":{"type":"boolean","default":true,"description":"控制是否在日程表视图中显示提交作者。","scope":"window"},"git.timeline.showUncommitted":{"type":"boolean","default":false,"description":"控制是否在时间线视图中显示未提交的更改。","scope":"window"},"git.showActionButton":{"type":"object","additionalProperties":false,"description":"控制操作按钮是否显示在“源代码管理”视图中。","properties":{"commit":{"type":"boolean","description":"显示一个操作按钮，以便在本地分支已修改文件可供提交时提交更改。"},"publish":{"type":"boolean","description":"显示一个操作按钮，以便在本地分支没有跟踪远程分支时发布该分支。"},"sync":{"type":"boolean","description":"显示一个操作按钮，以便在本地分支位于远程分支前面或后面时同步更改。"}},"default":{"commit":true,"publish":true,"sync":true},"scope":"resource"},"git.statusLimit":{"type":"number","scope":"resource","default":10000,"description":"控制如何限制可从 Git 状态命令分析的更改数。可以设置为 0 表示无限制。"},"git.repositoryScanIgnoredFolders":{"type":"array","items":{"type":"string"},"default":["node_modules"],"scope":"resource","markdownDescription":"当 `#git.autoRepositoryDetection#` 设置为 `true` 或 `subFolders` 时扫描 Git 仓库时忽略的文件夹列表。"},"git.repositoryScanMaxDepth":{"type":"number","scope":"resource","default":1,"markdownDescription":"在将 `#git.autoRepositoryDetection#` 设置为 `true` 或 `subFolders` 时，控制扫描工作区文件夹以查找 Git 仓库时使用的深度。如果不进行限制，可以设置为 `-1`。"},"git.commandsToLog":{"type":"array","items":{"type":"string"},"default":[],"markdownDescription":"GIT 命令列表 (例如: commit、push)，这些命令的 `stdout` 将被记录到 [git 输出](command:git.showOutput)。如果 GIT 命令配置了客户端挂钩，那么客户端挂钩的 `stdout` 也将被记录到 [git 输出](command:git.showOutput)。"},"git.mergeEditor":{"type":"boolean","default":false,"markdownDescription":"打开当前处于冲突状态的文件的合并编辑器。","scope":"window"},"git.optimisticUpdate":{"type":"boolean","default":true,"markdownDescription":"控制是否在运行 git 命令后乐观地更新源代码管理视图的状态。","scope":"resource","tags":["experimental"]},"git.openRepositoryInParentFolders":{"type":"string","enum":["always","never","prompt"],"enumDescriptions":["始终在工作区的父文件夹中打开存储库或打开文件。","切勿在工作区的父文件夹中打开存储库或打开文件。","在打开存储库之前提示工作区的父文件夹或打开文件。"],"default":"prompt","markdownDescription":"控制是应打开工作区父文件夹中的存储库还是打开的文件。","scope":"resource"},"git.similarityThreshold":{"type":"number","default":50,"minimum":0,"maximum":100,"markdownDescription":"控制相似性索引(相比于文件大小添加/删除的量)的阈值，以便将一对已添加/删除的文件中的更改视为重命名。**注意:** 需要 Git“2.18.0”或更高版本。","scope":"resource"},"git.blame.editorDecoration.enabled":{"type":"boolean","default":false,"markdownDescription":"控制是否使用编辑器修饰在编辑器中显示追溯信息。"},"git.blame.editorDecoration.template":{"type":"string","default":"${subject}, ${authorName} (${authorDateAgo})","markdownDescription":"追溯信息编辑器修饰的模板。支持的变量:\r\n\r\n*“hash”: 提交哈希\r\n\r\n*“hashShort”：根据“#git.commitShortHashLength#”的提交哈希的前 N 个字符\r\n\r\n*“subject”: 提交消息的第一行\r\n\r\n*“authorName”: 作者姓名\r\n\r\n*“authorEmail”: 作者电子邮件地址\r\n\r\n*“authorDate”: 作者日期\r\n\r\n*“authorDateAgo”: 现在和作者日期之间的时间差\r\n\r\n"},"git.blame.editorDecoration.disableHover":{"type":"boolean","default":false,"markdownDescription":"控制是否禁用追溯信息编辑器修饰悬停。"},"git.blame.statusBarItem.enabled":{"type":"boolean","default":true,"markdownDescription":"控制是否在状态栏中显示追溯信息。"},"git.blame.statusBarItem.template":{"type":"string","default":"${authorName} (${authorDateAgo})","markdownDescription":"追溯信息状态栏项的模板。支持的变量:\r\n\r\n*“hash”: 提交哈希\r\n\r\n*“hashShort”：根据“#git.commitShortHashLength#”的提交哈希的前 N 个字符\r\n\r\n*“subject”: 提交消息的第一行\r\n\r\n*“authorName”: 作者姓名\r\n\r\n*“authorEmail”: 作者电子邮件地址\r\n\r\n*“authorDate”: 作者日期\r\n\r\n*“authorDateAgo”: 现在和作者日期之间的时间差\r\n\r\n"},"git.blame.ignoreWhitespace":{"type":"boolean","default":false,"markdownDescription":"控制在计算追溯信息时是否忽略空白字符的更改。"},"git.commitShortHashLength":{"type":"number","default":7,"minimum":7,"maximum":40,"markdownDescription":"控制提交短哈希的长度。","scope":"resource"},"git.diagnosticsCommitHook.enabled":{"type":"boolean","default":false,"markdownDescription":"控制是否在提交之前检查未解决的诊断。","scope":"resource"},"git.diagnosticsCommitHook.sources":{"type":"object","additionalProperties":{"type":"string","enum":["error","warning","information","hint","none"]},"default":{"*":"error"},"markdownDescription":"控制在提交之前要考虑的源(项)和最小严重性(值)的列表。注意: 若要忽略特定源的诊断，请将该源添加到列表中，并将最小严重性设置为“无”。","scope":"resource"},"git.discardUntrackedChangesToTrash":{"type":"boolean","default":true,"markdownDescription":"控制放弃未跟踪的更改是否将文件移动到回收站(Windows)、垃圾桶(macOS、Linux)，而不是永久删除它们。**注意:** 连接到远程或在 Linux 中作为快照包运行时，此设置不起作用。"},"git.showReferenceDetails":{"type":"boolean","default":true,"markdownDescription":"控制是否在签出、分支和标记选取器中显示 Git 引用的上次提交详细信息。"}}},"colors":[{"id":"gitDecoration.addedResourceForeground","description":"已添加资源的颜色。","defaults":{"light":"#587c0c","dark":"#81b88b","highContrast":"#a1e3ad","highContrastLight":"#374e06"}},{"id":"gitDecoration.modifiedResourceForeground","description":"已修改资源的颜色。","defaults":{"light":"#895503","dark":"#E2C08D","highContrast":"#E2C08D","highContrastLight":"#895503"}},{"id":"gitDecoration.deletedResourceForeground","description":"已删除资源的颜色。","defaults":{"light":"#ad0707","dark":"#c74e39","highContrast":"#c74e39","highContrastLight":"#ad0707"}},{"id":"gitDecoration.renamedResourceForeground","description":"重命名或复制的资源的颜色。","defaults":{"light":"#007100","dark":"#73C991","highContrast":"#73C991","highContrastLight":"#007100"}},{"id":"gitDecoration.untrackedResourceForeground","description":"未跟踪资源的颜色。","defaults":{"light":"#007100","dark":"#73C991","highContrast":"#73C991","highContrastLight":"#007100"}},{"id":"gitDecoration.ignoredResourceForeground","description":"已忽略资源的颜色。","defaults":{"light":"#8E8E90","dark":"#8C8C8C","highContrast":"#A7A8A9","highContrastLight":"#8e8e90"}},{"id":"gitDecoration.stageModifiedResourceForeground","description":"已暂存的已修改资源的颜色。","defaults":{"light":"#895503","dark":"#E2C08D","highContrast":"#E2C08D","highContrastLight":"#895503"}},{"id":"gitDecoration.stageDeletedResourceForeground","description":"已暂存的已删除资源的颜色。","defaults":{"light":"#ad0707","dark":"#c74e39","highContrast":"#c74e39","highContrastLight":"#ad0707"}},{"id":"gitDecoration.conflictingResourceForeground","description":"存在冲突的资源的颜色。","defaults":{"light":"#ad0707","dark":"#e4676b","highContrast":"#c74e39","highContrastLight":"#ad0707"}},{"id":"gitDecoration.submoduleResourceForeground","description":"子模块资源的颜色。","defaults":{"light":"#1258a7","dark":"#8db9e2","highContrast":"#8db9e2","highContrastLight":"#1258a7"}},{"id":"git.blame.editorDecorationForeground","description":"追溯编辑器修饰的颜色。","defaults":{"dark":"editorInlayHint.foreground","light":"editorInlayHint.foreground","highContrast":"editorInlayHint.foreground","highContrastLight":"editorInlayHint.foreground"}}],"configurationDefaults":{"[git-commit]":{"editor.rulers":[50,72],"editor.wordWrap":"off","workbench.editor.restoreViewState":false},"[git-rebase]":{"workbench.editor.restoreViewState":false}},"viewsWelcome":[{"view":"scm","contents":"如果要使用 Git 功能，请在[设置](command:workbench.action.openSettings?%5B%22git.enabled%22%5D)中启用 Git。\r\n若要详细了解如何在 VS Code 中使用 Git 和源代码管理[参阅我们的文档](https://aka.ms/vscode-scm)。","when":"!config.git.enabled"},{"view":"scm","contents":"安装 Git (一种流行的源代码管理系统)，以跟踪代码更改并与他人协作。在我们的 [Git 指南](https://aka.ms/vscode-scm)中了解详细信息。","when":"config.git.enabled && git.missing && remoteName != ''"},{"view":"scm","contents":"[下载适用于 macOS 的 Git](https://git-scm.com/download/mac)\r\n安装后，请[重新加载](command:workbench.action.reloadWindow) (或[执行故障排除](command:git.showOutput))。可以[从商城](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22)安装其他源代码管理提供程序。","when":"config.git.enabled && git.missing && remoteName == '' && isMac"},{"view":"scm","contents":"[下载适用于 Windows 的 Git](https://git-scm.com/download/win)\r\n安装后，请[重新加载](command:workbench.action.reloadWindow) (或[执行故障排除](command:git.showOutput))。可以[从商城](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22)安装其他源代码管理提供程序。","when":"config.git.enabled && git.missing && remoteName == '' && isWindows"},{"view":"scm","contents":"源代码管理取决于将安装的 Git。\r\n[下载适用于 Linux 的 Git](https://git-scm.com/download/linux)\r\n安装后，请[重新加载](command:workbench.action.reloadWindow) (或[执行故障排除](command:git.showOutput))。可以[从商城](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22)安装其他源代码管理提供程序。","when":"config.git.enabled && git.missing && remoteName == '' && isLinux"},{"view":"scm","contents":"为了使用 Git 功能，可打开包含 Git 仓库的文件夹或从 URL 克隆。\r\n[打开文件夹](command:vscode.openFolder)\r\n[克隆仓库](command:git.cloneRecursive)\r\n若要详细了解如何在 VS Code 中使用 Git 和源代码管理[参阅我们的文档](https://aka.ms/vscode-scm)。","when":"config.git.enabled && !git.missing && workbenchState == empty && git.parentRepositoryCount == 0 && git.unsafeRepositoryCount == 0 && git.closedRepositoryCount == 0","enablement":"git.state == initialized","group":"2_open@1"},{"view":"scm","contents":"当前打开的工作区中没有任何包含 Git 仓库的文件夹。\r\n[将文件夹添加到工作区](command:workbench.action.addRootFolder)\r\n若要详细了解如何在 VS Code 中使用 Git 和源代码管理[参阅我们的文档](https://aka.ms/vscode-scm)。","when":"config.git.enabled && !git.missing && workbenchState == workspace && workspaceFolderCount == 0 && git.parentRepositoryCount == 0 && git.unsafeRepositoryCount == 0 && git.closedRepositoryCount == 0","enablement":"git.state == initialized","group":"2_open@1"},{"view":"scm","contents":"正在扫描 Git 存储库的文件夹...","when":"config.git.enabled && !git.missing && workbenchState == folder && workspaceFolderCount != 0 && git.state != initialized"},{"view":"scm","contents":"正在扫描工作区中的 Git 存储库...","when":"config.git.enabled && !git.missing && workbenchState == workspace && workspaceFolderCount != 0 && git.state != initialized"},{"view":"scm","contents":"当前打开的文件夹中没有 Git 存储库。可初始化一个仓库，它将实现 Git 提供支持的源代码管理功能。\r\n[初始化仓库](command:git.init?%5Btrue%5D)\r\n若要详细了解如何在 VS Code 中使用 Git 和源代码管理[参阅我们的文档](https://aka.ms/vscode-scm)。","when":"config.git.enabled && !git.missing && git.state == initialized && workbenchState == folder && scm.providerCount == 0 && git.parentRepositoryCount == 0 && git.unsafeRepositoryCount == 0 && git.closedRepositoryCount == 0 && remoteName != 'codespaces'","group":"5_scm@1"},{"view":"scm","contents":"当前打开的工作区中没有任何包含 Git 仓库的文件夹。可初始化某文件夹上的一个仓库，该仓库将实现 Git 提供支持的源代码管理功能。\r\n[初始化仓库](command:git.init)\r\n若要详细了解如何在 VS Code 中使用 Git 和源代码管理[参阅我们的文档](https://aka.ms/vscode-scm)。","when":"config.git.enabled && !git.missing && git.state == initialized && workbenchState == workspace && workspaceFolderCount != 0 && scm.providerCount == 0 && git.parentRepositoryCount == 0 && git.unsafeRepositoryCount == 0 && git.closedRepositoryCount == 0 && remoteName != 'codespaces'","group":"5_scm@1"},{"view":"scm","contents":"在工作区的父文件夹或打开的文件中找到了 Git 存储库。\r\n[打开存储库](command:git.openRepositoriesInParentFolders)\r\n使用[git.openRepositoryInParentFolders](command:workbench.action.openSettings?%5B%22git.openRepositoryInParentFolders%22%5D)设置来控制是打开工作区或打开文件的父文件夹中的 Git 存储库。若要了解详细信息，请[阅读我们的文档](https://aka.ms/vscode-git-repository-in-parent-folders)。","when":"config.git.enabled && !git.missing && git.state == initialized && git.parentRepositoryCount == 1"},{"view":"scm","contents":"在工作区的父文件夹或打开的文件中找到了 Git 存储库。\r\n[打开存储库](command:git.openRepositoriesInParentFolders)\r\n使用[git.openRepositoryInParentFolders](command:workbench.action.openSettings?%5B%22git.openRepositoryInParentFolders%22%5D)设置来控制是打开工作区或打开文件的父文件夹中的 Git 存储库。若要了解详细信息，请[阅读我们的文档](https://aka.ms/vscode-git-repository-in-parent-folders)。","when":"config.git.enabled && !git.missing && git.state == initialized && git.parentRepositoryCount > 1"},{"view":"scm","contents":"检测到的 Git 存储库可能不安全，因为该文件夹由当前用户以外的其他人所有。\r\n[管理不安全存储库](command:git.manageUnsafeRepositories)\r\n要详细了解不安全存储库，[请阅读我们的文档](https://aka.ms/vscode-git-unsafe-repository)。","when":"config.git.enabled && !git.missing && git.state == initialized && git.unsafeRepositoryCount == 1"},{"view":"scm","contents":"检测到的 Git 存储库可能不安全，因为该文件夹由当前用户以外的其他人所有。\r\n[管理不安全存储库](command:git.manageUnsafeRepositories)\r\n要详细了解不安全存储库，[请阅读我们的文档](https://aka.ms/vscode-git-unsafe-repository)。","when":"config.git.enabled && !git.missing && git.state == initialized && git.unsafeRepositoryCount > 1"},{"view":"scm","contents":"找到以前关闭的 Git 存储库。\r\n[重新打开已关闭的存储库](command:git.reopenClosedRepositories)\r\n若要详细了解如何在 VS Code 中使用 Git 和源代码管理[参阅我们的文档](https://aka.ms/vscode-scm)。","when":"config.git.enabled && !git.missing && git.state == initialized && git.closedRepositoryCount == 1"},{"view":"scm","contents":"找到以前关闭的 Git 存储库。\r\n[重新打开已关闭的存储库](command:git.reopenClosedRepositories)\r\n若要详细了解如何在 VS Code 中使用 Git 和源代码管理[参阅我们的文档](https://aka.ms/vscode-scm)。","when":"config.git.enabled && !git.missing && git.state == initialized && git.closedRepositoryCount > 1"},{"view":"explorer","contents":"可以在本地克隆仓库。\r\n[克隆仓库](command:git.clone '启用 Git 扩展后立即克隆仓库')","when":"config.git.enabled && git.state == initialized && scm.providerCount == 0","group":"5_scm@1"},{"view":"explorer","contents":"若要详细了解如何在 VS Code 中使用 Git 和源代码管理[参阅我们的文档](https://aka.ms/vscode-scm)。","when":"config.git.enabled && git.state == initialized && scm.providerCount == 0","group":"5_scm@10"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"},"originalEnabledApiProposals":["agentSessionsWorkspace","agentsWindowConfiguration","canonicalUriProvider","contribEditSessions","contribEditorContentMenu","contribMergeEditorMenus","contribMultiDiffEditorMenus","contribDiffEditorGutterToolBarMenus","contribSourceControlArtifactGroupMenu","contribSourceControlArtifactMenu","contribSourceControlHistoryItemMenu","contribSourceControlHistoryTitleMenu","contribSourceControlInputBoxMenu","contribSourceControlTitleMenu","contribViewsWelcome","editSessionIdentityProvider","envIsConnectionMetered","findFiles2","quickDiffProvider","quickPickSortByLabel","scmActionButton","scmArtifactProvider","scmHistoryProvider","scmMultiDiffEditor","scmProviderOptions","scmSelectedProvider","scmTextDocument","scmValidation","statusBarItemTooltip","taskRunOptions","tabInputMultiDiff","tabInputTextMerge","textEditorDiffInformation","timeline","workspaceTrust"]},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.git-base"},"manifest":{"name":"git-base","displayName":"Git 基础","description":"Git 静态贡献和选取器。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"0.10.x"},"categories":["Other"],"activationEvents":["*"],"main":"./dist/extension.js","browser":"./dist/browser/extension.js","icon":"resources/icons/git.png","capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"contributes":{"commands":[{"command":"git-base.api.getRemoteSources","title":{"value":"获取远程源","original":"Get Remote Sources"},"category":"Git Base API"}],"menus":{"commandPalette":[{"command":"git-base.api.getRemoteSources","when":"false"}]},"languages":[{"id":"git-commit","aliases":["Git Commit Message","git-commit"],"filenames":["COMMIT_EDITMSG","MERGE_MSG"],"configuration":"./languages/git-commit.language-configuration.json"},{"id":"git-rebase","aliases":["Git Rebase Message","git-rebase"],"filenames":["git-rebase-todo"],"filenamePatterns":["**/rebase-merge/done"],"configuration":"./languages/git-rebase.language-configuration.json"},{"id":"ignore","aliases":["Ignore","ignore"],"extensions":[".gitignore_global",".gitignore",".git-blame-ignore-revs"],"configuration":"./languages/ignore.language-configuration.json"}],"grammars":[{"language":"git-commit","scopeName":"text.git-commit","path":"./syntaxes/git-commit.tmLanguage.json"},{"language":"git-rebase","scopeName":"text.git-rebase","path":"./syntaxes/git-rebase.tmLanguage.json"},{"language":"ignore","scopeName":"source.ignore","path":"./syntaxes/ignore.tmLanguage.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git-base","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.github"},"manifest":{"name":"github","displayName":"GitHub","description":"适用于 VS Code 的 GitHub 功能","publisher":"vscode","license":"MIT","version":"0.0.1","engines":{"vscode":"^1.41.0"},"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","icon":"images/icon.png","categories":["Other"],"activationEvents":["*"],"extensionDependencies":["vscode.git-base"],"type":"module","main":"./dist/extension.js","capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"enabledApiProposals":["canonicalUriProvider","chatSessionsProvider","contribEditSessions","contribShareMenu","contribSourceControlHistoryItemMenu","scmHistoryProvider","shareProvider","timeline"],"contributes":{"commands":[{"command":"github.publish","title":{"value":"发布到 GitHub","original":"Publish to GitHub"}},{"command":"github.copyVscodeDevLink","title":{"value":"复制 vscode.dev 链接","original":"Copy vscode.dev Link"}},{"command":"github.copyVscodeDevLinkFile","title":{"value":"复制 vscode.dev 链接","original":"Copy vscode.dev Link"}},{"command":"github.copyVscodeDevLinkWithoutRange","title":{"value":"复制 vscode.dev 链接","original":"Copy vscode.dev Link"}},{"command":"github.openOnVscodeDev","title":{"value":"在 vscode.dev 中打开","original":"Open in vscode.dev"},"icon":"$(globe)"},{"command":"github.graph.openOnGitHub","title":{"value":"在 GitHub 上打开","original":"Open on GitHub"},"icon":"$(github)"},{"command":"github.timeline.openOnGitHub","title":{"value":"在 GitHub 上打开","original":"Open on GitHub"},"icon":"$(github)"},{"command":"github.createPullRequest","title":{"value":"创建 PR","original":"Create PR"},"icon":"$(git-pull-request)"},{"command":"github.openPullRequest","title":{"value":"打开 PR","original":"Open PR"},"icon":"$(git-pull-request)"}],"continueEditSession":[{"command":"github.openOnVscodeDev","when":"github.hasGitHubRepo","qualifiedName":"Continue Working in vscode.dev","category":"Remote Repositories","remoteGroup":"virtualfs_44_vscode-vfs_2_web@2"}],"menus":{"commandPalette":[{"command":"github.publish","when":"git-base.gitEnabled && workspaceFolderCount != 0 && remoteName != 'codespaces'"},{"command":"github.createPullRequest","when":"false"},{"command":"github.openPullRequest","when":"false"},{"command":"github.graph.openOnGitHub","when":"false"},{"command":"github.copyVscodeDevLink","when":"false"},{"command":"github.copyVscodeDevLinkFile","when":"false"},{"command":"github.copyVscodeDevLinkWithoutRange","when":"false"},{"command":"github.openOnVscodeDev","when":"false"},{"command":"github.timeline.openOnGitHub","when":"false"}],"file/share":[{"command":"github.copyVscodeDevLinkFile","when":"github.hasGitHubRepo && remoteName != 'codespaces'","group":"0_vscode@0"}],"editor/context/share":[{"command":"github.copyVscodeDevLink","when":"github.hasGitHubRepo && resourceScheme != untitled && !isInEmbeddedEditor && remoteName != 'codespaces'","group":"0_vscode@0"}],"explorer/context/share":[{"command":"github.copyVscodeDevLinkWithoutRange","when":"github.hasGitHubRepo && resourceScheme != untitled && !isInEmbeddedEditor && remoteName != 'codespaces'","group":"0_vscode@0"}],"editor/lineNumber/context":[{"command":"github.copyVscodeDevLink","when":"github.hasGitHubRepo && resourceScheme != untitled && activeEditor == workbench.editors.files.textFileEditor && config.editor.lineNumbers == on && remoteName != 'codespaces'","group":"1_cutcopypaste@2"},{"command":"github.copyVscodeDevLink","when":"github.hasGitHubRepo && resourceScheme != untitled && activeEditor == workbench.editor.notebook && remoteName != 'codespaces'","group":"1_cutcopypaste@2"}],"editor/title/context/share":[{"command":"github.copyVscodeDevLinkWithoutRange","when":"github.hasGitHubRepo && resourceScheme != untitled && remoteName != 'codespaces'","group":"0_vscode@0"}],"scm/historyItem/context":[{"command":"github.graph.openOnGitHub","when":"github.hasGitHubRepo","group":"0_view@2"}],"timeline/item/context":[{"command":"github.timeline.openOnGitHub","group":"1_actions@3","when":"github.hasGitHubRepo && timelineItem =~ /git:file:commit\\b/"}],"agents/changes/actions/primary":[]},"configuration":[{"title":"GitHub","properties":{"github.branchProtection":{"type":"boolean","scope":"resource","default":true,"description":"控制是否查询 GitHub 存储库的存储库规则"},"github.gitAuthentication":{"type":"boolean","scope":"resource","default":true,"description":"控制是否在 VS Code 中为 git 命令启用自动 GitHub 身份验证。"},"github.gitProtocol":{"type":"string","enum":["https","ssh"],"default":"https","description":"控制用于克隆 GitHub 仓库的协议"},"github.showAvatar":{"type":"boolean","scope":"resource","default":true,"description":"控制是否以各种悬停方式显示提交作者的 GitHub 虚拟形象 (，例如 Git 追溯、日程表、源代码管理图等 )"}}}],"viewsWelcome":[{"view":"scm","contents":"可以直接将此文件夹发布到 GitHub 仓库。发布后，你将有权访问由 Git 和 GitHub 提供支持的源代码管理功能。\r\n[$(github) 发布到 GitHub](command:github.publish)","when":"config.git.enabled && git.state == initialized && workbenchState == folder && git.parentRepositoryCount == 0 && git.unsafeRepositoryCount == 0 && git.closedRepositoryCount == 0"},{"view":"scm","contents":"可以直接将工作区文件夹发布到 GitHub 仓库。发布后，你将有权访问由 Git 和 GitHub 提供支持的源代码管理功能。\r\n[$(github) 发布到 GitHub](command:github.publish)","when":"config.git.enabled && git.state == initialized && workbenchState == workspace && workspaceFolderCount != 0 && git.parentRepositoryCount == 0 && git.unsafeRepositoryCount == 0 && git.closedRepositoryCount == 0"}],"markdown.previewStyles":["./markdown.css"]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"},"originalEnabledApiProposals":["canonicalUriProvider","chatSessionsProvider","contribEditSessions","contribShareMenu","contribSourceControlHistoryItemMenu","scmHistoryProvider","shareProvider","timeline"]},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/github","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.github-authentication"},"manifest":{"name":"github-authentication","displayName":"GitHub 身份验证","description":"GitHub 身份验证提供程序","publisher":"vscode","license":"MIT","version":"0.0.2","engines":{"vscode":"^1.41.0"},"icon":"images/icon.png","categories":["Other"],"api":"none","extensionKind":["ui","workspace"],"enabledApiProposals":["authIssuers","authProviderSpecific"],"activationEvents":[],"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":"limited","restrictedConfigurations":["github-enterprise.uri"]}},"contributes":{"authentication":[{"label":"GitHub","id":"github","authorizationServerGlobs":["https://github.com/login/oauth"]},{"label":"GitHub Enterprise Server","id":"github-enterprise","authorizationServerGlobs":["*"]}],"configuration":[{"title":"GHE.com 和GitHub Enterprise服务器身份验证","properties":{"github-enterprise.uri":{"type":"string","markdownDescription":"GHE.com 或 GitHub Enterprise Server 实例的 URI。\r\n\r\n例子：\r\n* GHE.com： 'https://octocat.ghe.com`\r\n* GitHub Enterprise服务器：“https://github.octocat.com`\r\n\r\n> **注意：** 这应将 _not_ 设置为 GitHub.com URI。如果你的帐户在 GitHub.com 上存在或是GitHub Enterprise托管用户，则无需任何其他配置，只需登录 GitHub 即可。","pattern":"^(?:$|(https?)://(?!github\\.com).*)"},"github-authentication.useElectronFetch":{"type":"boolean","default":true,"scope":"application","markdownDescription":"如果为 true，则将 Electron 的内置提取函数用于 HTTP 请求。如果为 false，则使用 Node.js 全局提取函数。此设置仅在 Electron 环境中运行时适用。**注意:** 此设置需要重启才能生效。"},"github-authentication.preferDeviceCodeFlow":{"type":"boolean","default":false,"scope":"application","markdownDescription":"为 true 时，优先使用设备代码流进行身份验证，而非其他可用的流。这在 WSL 等环境中很有用，在这些环境中，本地服务器或 URL 处理程序流可能无法按预期工作。"}}}]},"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","main":"./dist/extension.js","browser":"./dist/browser/extension.js","repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"},"originalEnabledApiProposals":["authIssuers","authProviderSpecific"]},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/github-authentication","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.go"},"manifest":{"name":"go","displayName":"Go 语言基础功能","description":"在 Go 文件中提供语法高亮和括号匹配功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin worlpaker/go-syntax syntaxes/go.tmLanguage.json ./syntaxes/go.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"go","extensions":[".go"],"aliases":["Go"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"go","scopeName":"source.go","path":"./syntaxes/go.tmLanguage.json"}],"configurationDefaults":{"[go]":{"editor.insertSpaces":false}}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/go","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.groovy"},"manifest":{"name":"groovy","displayName":"Groovy 语言基础功能","description":"在 Groovy 文件中提供代码片段、语法高亮和括号匹配功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin textmate/groovy.tmbundle Syntaxes/Groovy.tmLanguage ./syntaxes/groovy.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"groovy","aliases":["Groovy","groovy"],"extensions":[".groovy",".gvy",".gradle",".jenkinsfile",".nf"],"filenames":["Jenkinsfile"],"filenamePatterns":["Jenkinsfile*"],"firstLine":"^#!.*\\bgroovy\\b","configuration":"./language-configuration.json"}],"grammars":[{"language":"groovy","scopeName":"source.groovy","path":"./syntaxes/groovy.tmLanguage.json"}],"snippets":[{"language":"groovy","path":"./snippets/groovy.code-snippets"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/groovy","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.grunt"},"manifest":{"name":"grunt","publisher":"vscode","description":"Extension to add Grunt capabilities to VS Code.","displayName":"Grunt support for VS Code","version":"10.0.0","private":true,"icon":"images/grunt.png","license":"MIT","engines":{"vscode":"*"},"categories":["Other"],"main":"./dist/main","activationEvents":["onTaskType:grunt"],"capabilities":{"virtualWorkspaces":false,"untrustedWorkspaces":{"supported":true}},"contributes":{"configuration":{"id":"grunt","type":"object","title":"Grunt","properties":{"grunt.autoDetect":{"scope":"application","type":"string","enum":["off","on"],"default":"off","description":"Grunt 任务检测的控制启用。Grunt 任务检测可能会导致执行任何打开的工作区中的文件。"}}},"taskDefinitions":[{"type":"grunt","required":["task"],"properties":{"task":{"type":"string","description":"要自定义的 Grunt 任务。"},"args":{"type":"array","description":"要传递给 grunt 任务的命令行参数"},"file":{"type":"string","description":"提供任务的 Grunt 文件。可以省略。"}},"when":"shellExecutionSupported"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/grunt","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.gulp"},"manifest":{"name":"gulp","publisher":"vscode","description":"向 VSCode 提供 Gulp 功能的扩展。","displayName":"适用于 VSCode 的 Gulp 支持","version":"10.0.0","icon":"images/gulp.png","license":"MIT","engines":{"vscode":"*"},"categories":["Other"],"main":"./dist/main","activationEvents":["onTaskType:gulp"],"capabilities":{"virtualWorkspaces":false,"untrustedWorkspaces":{"supported":true}},"contributes":{"configuration":{"id":"gulp","type":"object","title":"Gulp","properties":{"gulp.autoDetect":{"scope":"application","type":"string","enum":["off","on"],"default":"off","description":"Gulp 任务检测的控制启用。Gulp 任务检测可能会导致执行任何打开的工作区中的文件。"}}},"taskDefinitions":[{"type":"gulp","required":["task"],"properties":{"task":{"type":"string","description":"要自定义的 Gulp 任务。"},"file":{"type":"string","description":"提供任务的 Gulp 文件。可以省略。"}},"when":"shellExecutionSupported"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/gulp","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.handlebars"},"manifest":{"name":"handlebars","displayName":"Handlebars 语言基础功能","description":"在 Handlebars 文件中提供语法高亮和括号匹配功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"0.10.x"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin daaain/Handlebars grammars/Handlebars.json ./syntaxes/Handlebars.tmLanguage.json"},"categories":["Programming Languages"],"extensionKind":["ui","workspace"],"contributes":{"languages":[{"id":"handlebars","extensions":[".handlebars",".hbs",".hjs"],"aliases":["Handlebars","handlebars"],"mimetypes":["text/x-handlebars-template"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"handlebars","scopeName":"text.html.handlebars","path":"./syntaxes/Handlebars.tmLanguage.json"}],"htmlLanguageParticipants":[{"languageId":"handlebars","autoInsert":true}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/handlebars","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[[2,"仅当同时定义了属性“main”时，才能定义属性“extensionKind”。"]],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.hlsl"},"manifest":{"name":"hlsl","displayName":"HLSL 语言基础功能","description":"在 HLSL 文件中提供语法高亮和括号匹配功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin tgjones/shaders-tmLanguage grammars/hlsl.json ./syntaxes/hlsl.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"hlsl","extensions":[".hlsl",".hlsli",".fx",".fxh",".vsh",".psh",".cginc",".compute"],"aliases":["HLSL","hlsl"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"hlsl","path":"./syntaxes/hlsl.tmLanguage.json","scopeName":"source.hlsl"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/hlsl","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.html"},"manifest":{"name":"html","displayName":"HTML 语言基础功能","description":"在 HTML 文件中提供语法突出显示、括号匹配和片段。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"0.10.x"},"scripts":{"update-grammar":"node ./build/update-grammar.mjs"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"html","extensions":[".html",".htm",".shtml",".xhtml",".xht",".mdoc",".jsp",".asp",".aspx",".jshtm",".volt",".ejs",".rhtml"],"aliases":["HTML","htm","html","xhtml"],"mimetypes":["text/html","text/x-jshtm","text/template","text/ng-template","application/xhtml+xml"],"configuration":"./language-configuration.json"}],"grammars":[{"scopeName":"text.html.basic","path":"./syntaxes/html.tmLanguage.json","embeddedLanguages":{"text.html":"html","source.css":"css","source.js":"javascript","source.python":"python","source.smarty":"smarty"},"tokenTypes":{"meta.tag string.quoted":"other"}},{"language":"html","scopeName":"text.html.derivative","path":"./syntaxes/html-derivative.tmLanguage.json","embeddedLanguages":{"text.html":"html","source.css":"css","source.js":"javascript","source.python":"python","source.smarty":"smarty"},"tokenTypes":{"meta.tag string.quoted":"other"}}],"snippets":[{"language":"html","path":"./snippets/html.code-snippets"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/html","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.html-language-features"},"manifest":{"name":"html-language-features","displayName":"HTML 语言功能","description":"为 HTML 和 Handlebar 文件提供丰富的语言支持","version":"10.0.0","publisher":"vscode","license":"MIT","aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","engines":{"vscode":"^1.77.0"},"icon":"icons/html.png","activationEvents":["onLanguage:html","onLanguage:handlebars"],"enabledApiProposals":["extensionsAny"],"main":"./client/dist/node/htmlClientMain","browser":"./client/dist/browser/htmlClientMain","capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"categories":["Programming Languages"],"contributes":{"configuration":{"id":"html","order":20,"type":"object","title":"HTML","properties":{"html.completion.attributeDefaultValue":{"type":"string","scope":"resource","enum":["doublequotes","singlequotes","empty"],"enumDescriptions":["属性值设置为 \"\"。","属性值设置为 ''。","未设置属性值。"],"default":"doublequotes","markdownDescription":"控制接受完成时属性的默认值。"},"html.customData":{"type":"array","markdownDescription":"一个相对文件路径列表，这些路径指向采用[自定义数据格式](https://github.com/microsoft/vscode-html-languageservice/blob/master/docs/customData.md)的 JSON 文件。\r\n\r\nVS Code 在启动时加载自定义数据，从而增强它对你在 JSON 文件中指定的自定义 HTML 标记、属性和属性值的 HTML 支持。\r\n\r\n文件路径与工作区相对，且仅考虑工作区文件夹设置。","default":[],"items":{"type":"string"},"scope":"resource"},"html.format.enable":{"type":"boolean","scope":"window","default":true,"description":"启用或禁用默认 HTML 格式化程序。"},"html.format.wrapLineLength":{"type":"integer","scope":"resource","default":120,"description":"每行最大字符数(0 = 禁用)。"},"html.format.unformatted":{"type":["string","null"],"scope":"resource","default":"wbr","markdownDescription":"以逗号分隔的标记列表，其中的内容不会被重新格式化。若为 `null`，默认包含所有列于 https://www.w3.org/TR/html5/dom.html#phrasing-content 的标记。"},"html.format.contentUnformatted":{"type":["string","null"],"scope":"resource","default":"pre,code,textarea","markdownDescription":"标记列表(用逗号隔开)，其中内容不应重新格式化。\"null\" 默认为 \"pre\" 标记。"},"html.format.indentInnerHtml":{"type":"boolean","scope":"resource","default":false,"markdownDescription":"缩进 ``<head>`` 和 ``<body>`` 部分。"},"html.format.preserveNewLines":{"type":"boolean","scope":"resource","default":true,"description":"控制是否保留元素前已有的换行符。仅适用于元素前，不适用于标记内或文本。"},"html.format.maxPreserveNewLines":{"type":["number","null"],"scope":"resource","default":null,"markdownDescription":"保留在一个区块中的换行符的最大数量。若为 `null`，则没有限制。"},"html.format.indentHandlebars":{"type":"boolean","scope":"resource","default":false,"markdownDescription":"对 `{{#foo}}` 和 `{{/foo}}` 进行格式化与缩进。"},"html.format.extraLiners":{"type":["string","null"],"scope":"resource","default":"head, body, /html","markdownDescription":"以逗号分隔的标记列表，其中的标记之前将有额外新行。若为 `null`，默认包含 `\"head, body, /html\"`。"},"html.format.wrapAttributes":{"type":"string","scope":"resource","default":"auto","enum":["auto","force","force-aligned","force-expand-multiline","aligned-multiple","preserve","preserve-aligned"],"enumDescriptions":["仅在超出行长度时才对属性进行换行。","对除第一个属性外的其他每个属性进行换行。","对除第一个属性外的其他每个属性进行换行，并保持对齐。","对每个属性进行换行。","当超出折行长度时，将属性进行垂直对齐。","保留属性的包装。","保留属性的包装，但对齐。"],"description":"对属性进行换行。"},"html.format.wrapAttributesIndentSize":{"type":["number","null"],"scope":"resource","default":null,"markdownDescription":"将包装的属性缩进到 N 个字符之后。使用“null”来使用默认缩进大小。如果将 `#html.format.wrapAttributes#` 设置为 “aligned”，则忽略此项。"},"html.format.templating":{"type":"boolean","scope":"resource","default":false,"description":"接受 django、erb、handlebars 和 php 模板化语言标记。"},"html.format.unformattedContentDelimiter":{"type":"string","scope":"resource","default":"","markdownDescription":"在此字符串之间保留文本内容。"},"html.suggest.html5":{"type":"boolean","scope":"resource","default":true,"description":"配置内置 HTML 语言支持是否建议 HTML5 标记、属性和值。"},"html.suggest.hideEndTagSuggestions":{"type":"boolean","scope":"resource","default":false,"description":"控制内置 HTML 语言支持是否建议补全结束标记。禁用后，将不会显示像 `</div>` 之类的结束标记补全。"},"html.validate.scripts":{"type":"boolean","scope":"resource","default":true,"description":"配置内置的 HTML 语言支持是否对嵌入的脚本进行验证。"},"html.validate.styles":{"type":"boolean","scope":"resource","default":true,"description":"配置内置 HTML 语言支持是否对嵌入的样式进行验证。"},"html.autoCreateQuotes":{"type":"boolean","scope":"resource","default":true,"markdownDescription":"启用/禁用自动创建 HTML 属性分配的引号。可通过 #html.completion.attributeDefaultValue#”配置引号类型。"},"html.autoClosingTags":{"type":"boolean","scope":"resource","default":true,"description":"启用/禁用 HTML 标记的自动关闭。"},"html.hover.documentation":{"type":"boolean","scope":"resource","default":true,"description":"在悬停时显示标记和属性文档。"},"html.hover.references":{"type":"boolean","scope":"resource","default":true,"description":"在悬停时显示 MDN 的引用。"},"html.mirrorCursorOnMatchingTag":{"type":"boolean","scope":"resource","default":false,"description":"在匹配的 HTML 标记上启用/禁用镜像光标。","deprecationMessage":"已弃用，请改用 \"editor.linkedEditing\""},"html.trace.server":{"type":"string","scope":"window","enum":["off","messages","verbose"],"default":"off","description":"跟踪 VS Code 与 HTML 语言服务器之间的通信。"}}},"configurationDefaults":{"[html]":{"editor.suggest.insertMode":"replace"},"[handlebars]":{"editor.suggest.insertMode":"replace"}},"jsonValidation":[{"fileMatch":"*.html-data.json","url":"https://raw.githubusercontent.com/microsoft/vscode-html-languageservice/master/docs/customData.schema.json"},{"fileMatch":"package.json","url":"./schemas/package.schema.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"},"originalEnabledApiProposals":["extensionsAny"]},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/html-language-features","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.ini"},"manifest":{"name":"ini","displayName":"Ini 语言基础功能","description":"在 Ini 文件中提供语法高亮和括号匹配功能。","version":"10.0.0","private":true,"publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin textmate/ini.tmbundle Syntaxes/Ini.plist ./syntaxes/ini.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"ini","extensions":[".ini"],"aliases":["Ini","ini"],"configuration":"./ini.language-configuration.json"},{"id":"properties","extensions":[".conf",".properties",".cfg",".directory",".gitattributes",".gitconfig",".gitmodules",".editorconfig",".repo"],"filenames":["gitconfig"],"filenamePatterns":["**/.config/git/config","**/.git/config"],"aliases":["Properties","properties"],"configuration":"./properties.language-configuration.json"}],"grammars":[{"language":"ini","scopeName":"source.ini","path":"./syntaxes/ini.tmLanguage.json"},{"language":"properties","scopeName":"source.ini","path":"./syntaxes/ini.tmLanguage.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ini","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.ipynb"},"manifest":{"name":"ipynb","displayName":".ipynb 支持","description":"为打开和读取 Jupyter 的 .ipynb 笔记本文件提供基本支持","publisher":"vscode","version":"10.0.0","license":"MIT","icon":"media/icon.png","engines":{"vscode":"^1.57.0"},"enabledApiProposals":["diffContentOptions"],"activationEvents":["onNotebook:jupyter-notebook","onNotebookSerializer:interactive","onNotebookSerializer:repl"],"extensionKind":["workspace","ui"],"main":"./dist/ipynbMain.node.js","browser":"./dist/browser/ipynbMain.browser.js","capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"contributes":{"configuration":[{"properties":{"ipynb.pasteImagesAsAttachments.enabled":{"type":"boolean","scope":"resource","markdownDescription":"启用/禁用将图像粘贴到 ipynb 笔记本文件中的 Markdown 单元格中。粘贴的图像会作为附件插入到单元格。","default":true},"ipynb.experimental.serialization":{"type":"boolean","scope":"resource","markdownDescription":"用于在工作线程中序列化 Jupyter 笔记本的试验性功能。","default":true,"tags":["experimental"]}}}],"commands":[{"command":"ipynb.newUntitledIpynb","title":{"value":"新 Jupyter Notebook","original":"New Jupyter Notebook"},"shortTitle":"Jupyter Notebook","category":"Create"},{"command":"ipynb.openIpynbInNotebookEditor","title":{"value":"在笔记本编辑器中打开 IPYNB 文件","original":"Open IPYNB File In Notebook Editor"}},{"command":"ipynb.cleanInvalidImageAttachment","title":{"value":"清理无效图像附件引用","original":"Clean Invalid Image Attachment Reference"}},{"command":"notebook.cellOutput.copy","title":{"value":"复制单元格输出","original":"Copy Cell Output"},"category":"Notebook"},{"command":"notebook.cellOutput.addToChat","title":{"value":"将单元格输出添加到聊天","original":"Add Cell Output to Chat"},"category":"Notebook","enablement":"chatIsEnabled"},{"command":"notebook.cellOutput.openInTextEditor","title":{"value":"在文本编辑器中打开单元输出","original":"Open Cell Output in Text Editor"},"category":"Notebook"}],"notebooks":[{"type":"jupyter-notebook","displayName":"Jupyter Notebook","selector":[{"filenamePattern":"*.ipynb"}],"priority":"default"}],"notebookRenderer":[{"id":"vscode.markdown-it-cell-attachment-renderer","displayName":"Markdown-It ipynb 单元格附件呈现器","entrypoint":{"extends":"vscode.markdown-it-renderer","path":"./notebook-out/cellAttachmentRenderer.js"}}],"menus":{"file/newFile":[{"command":"ipynb.newUntitledIpynb","group":"notebook"}],"commandPalette":[{"command":"ipynb.newUntitledIpynb"},{"command":"ipynb.openIpynbInNotebookEditor","when":"false"},{"command":"ipynb.cleanInvalidImageAttachment","when":"false"},{"command":"notebook.cellOutput.copy","when":"notebookCellHasOutputs"},{"command":"notebook.cellOutput.openInTextEditor","when":"false"}],"webview/context":[{"command":"notebook.cellOutput.copy","when":"webviewId == 'notebook.output' && webviewSection == 'image'","group":"context@1"},{"command":"notebook.cellOutput.copy","when":"webviewId == 'notebook.output' && webviewSection == 'text'"},{"command":"notebook.cellOutput.addToChat","when":"webviewId == 'notebook.output' && (webviewSection == 'text' || webviewSection == 'image')","group":"context@2"},{"command":"notebook.cellOutput.openInTextEditor","when":"webviewId == 'notebook.output' && webviewSection == 'text'"}]}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"},"originalEnabledApiProposals":["diffContentOptions"]},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ipynb","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.jake"},"manifest":{"name":"jake","publisher":"vscode","description":"向 VS Code 提供 Jake 功能的扩展。","displayName":"适用于 VS Code 的 Jake 支持","icon":"images/cowboy_hat.png","version":"10.0.0","license":"MIT","engines":{"vscode":"*"},"categories":["Other"],"main":"./dist/main","activationEvents":["onTaskType:jake"],"capabilities":{"virtualWorkspaces":false,"untrustedWorkspaces":{"supported":true}},"contributes":{"configuration":{"id":"jake","type":"object","title":"Jake","properties":{"jake.autoDetect":{"scope":"application","type":"string","enum":["off","on"],"default":"off","description":"Jake 任务检测的控制启用。Jake 任务检测可能会导致执行任何打开的工作区中的文件。"}}},"taskDefinitions":[{"type":"jake","required":["task"],"properties":{"task":{"type":"string","description":"要自定义的 Jake 任务。"},"file":{"type":"string","description":"提供任务的 Jake 文件。可以省略。"}},"when":"shellExecutionSupported"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/jake","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.java"},"manifest":{"name":"java","displayName":"Java 语言基础功能","description":"在 Java 文件中提供代码片段、语法高亮、括号匹配和折叠功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin redhat-developer/vscode-java language-support/java/java.tmLanguage.json ./syntaxes/java.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"java","extensions":[".java",".jav"],"aliases":["Java","java"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"java","scopeName":"source.java","path":"./syntaxes/java.tmLanguage.json"}],"snippets":[{"language":"java","path":"./snippets/java.code-snippets"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/java","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.javascript"},"manifest":{"name":"javascript","displayName":"JavaScript 语言基础功能","description":"在 JavaScript 文件中提供代码片段、语法高亮、括号匹配和折叠功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"0.10.x"},"categories":["Programming Languages"],"contributes":{"configurationDefaults":{"[javascript]":{"editor.maxTokenizationLineLength":2500}},"languages":[{"id":"javascriptreact","aliases":["JavaScript JSX","JavaScript React","jsx"],"extensions":[".jsx"],"configuration":"./javascript-language-configuration.json"},{"id":"javascript","aliases":["JavaScript","javascript","js"],"extensions":[".js",".es6",".mjs",".cjs",".pac"],"filenames":["jakefile"],"firstLine":"^#!.*\\bnode","mimetypes":["text/javascript"],"configuration":"./javascript-language-configuration.json"},{"id":"jsx-tags","aliases":[],"configuration":"./tags-language-configuration.json"}],"grammars":[{"language":"javascriptreact","scopeName":"source.js.jsx","path":"./syntaxes/JavaScriptReact.tmLanguage.json","embeddedLanguages":{"meta.tag.js":"jsx-tags","meta.tag.without-attributes.js":"jsx-tags","meta.tag.attributes.js.jsx":"javascriptreact","meta.embedded.expression.js":"javascriptreact"},"tokenTypes":{"punctuation.definition.template-expression":"other","entity.name.type.instance.jsdoc":"other","entity.name.function.tagged-template":"other","meta.import string.quoted":"other","variable.other.jsdoc":"other"}},{"language":"javascript","scopeName":"source.js","path":"./syntaxes/JavaScript.tmLanguage.json","embeddedLanguages":{"meta.tag.js":"jsx-tags","meta.tag.without-attributes.js":"jsx-tags","meta.tag.attributes.js":"javascript","meta.embedded.expression.js":"javascript"},"tokenTypes":{"punctuation.definition.template-expression":"other","entity.name.type.instance.jsdoc":"other","entity.name.function.tagged-template":"other","meta.import string.quoted":"other","variable.other.jsdoc":"other"}},{"scopeName":"source.js.regexp","path":"./syntaxes/Regular Expressions (JavaScript).tmLanguage"}],"semanticTokenScopes":[{"language":"javascript","scopes":{"property":["variable.other.property.js"],"property.readonly":["variable.other.constant.property.js"],"variable":["variable.other.readwrite.js"],"variable.readonly":["variable.other.constant.object.js"],"function":["entity.name.function.js"],"namespace":["entity.name.type.module.js"],"variable.defaultLibrary":["support.variable.js"],"function.defaultLibrary":["support.function.js"]}},{"language":"javascriptreact","scopes":{"property":["variable.other.property.jsx"],"property.readonly":["variable.other.constant.property.jsx"],"variable":["variable.other.readwrite.jsx"],"variable.readonly":["variable.other.constant.object.jsx"],"function":["entity.name.function.jsx"],"namespace":["entity.name.type.module.jsx"],"variable.defaultLibrary":["support.variable.js"],"function.defaultLibrary":["support.function.js"]}}],"snippets":[{"language":"javascript","path":"./snippets/javascript.code-snippets"},{"language":"javascriptreact","path":"./snippets/javascript.code-snippets"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/javascript","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.json"},"manifest":{"name":"json","displayName":"JSON 语言基础功能","description":"在 JSON 文件中提供语法突出显示和括号匹配功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"0.10.x"},"scripts":{"update-grammar":"node ./build/update-grammars.js"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"json","aliases":["JSON","json"],"extensions":[".json",".bowerrc",".jscsrc",".webmanifest",".js.map",".css.map",".ts.map",".har",".jslintrc",".jsonld",".geojson",".ipynb",".vuerc"],"filenames":["composer.lock",".watchmanconfig"],"mimetypes":["application/json","application/manifest+json"],"configuration":"./language-configuration.json"},{"id":"jsonc","aliases":["JSON with Comments"],"extensions":[".jsonc",".eslintrc",".eslintrc.json",".jsfmtrc",".jshintrc",".swcrc",".hintrc",".babelrc",".toolset.jsonc"],"filenames":["babel.config.json","bun.lock",".babelrc.json",".ember-cli","typedoc.json"],"filenamePatterns":["**/.github/hooks/*.json"],"configuration":"./language-configuration.json"},{"id":"jsonl","aliases":["JSON Lines"],"extensions":[".jsonl",".ndjson"],"filenames":[],"configuration":"./language-configuration.json"},{"id":"snippets","aliases":["Code Snippets"],"extensions":[".code-snippets"],"filenamePatterns":["**/User/snippets/*.json","**/User/profiles/*/snippets/*.json","**/snippets*.json"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"json","scopeName":"source.json","path":"./syntaxes/JSON.tmLanguage.json"},{"language":"jsonc","scopeName":"source.json.comments","path":"./syntaxes/JSONC.tmLanguage.json"},{"language":"jsonl","scopeName":"source.json.lines","path":"./syntaxes/JSONL.tmLanguage.json"},{"language":"snippets","scopeName":"source.json.comments.snippets","path":"./syntaxes/snippets.tmLanguage.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/json","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.json-language-features"},"manifest":{"name":"json-language-features","displayName":"JSON 语言功能","description":"为 JSON 文件提供丰富的语言支持","version":"10.0.0","publisher":"vscode","license":"MIT","aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","engines":{"vscode":"^1.77.0"},"enabledApiProposals":["extensionsAny"],"icon":"icons/json.png","activationEvents":["onLanguage:json","onLanguage:jsonc","onLanguage:snippets","onCommand:json.validate"],"main":"./client/dist/node/jsonClientMain","browser":"./client/dist/browser/jsonClientMain","capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":"limited","description":"扩展需要工作区信任才能从 http 和 https 加载架构。"}},"categories":["Programming Languages"],"contributes":{"configuration":{"id":"json","order":20,"type":"object","title":"JSON","properties":{"json.schemas":{"type":"array","scope":"resource","description":"将架构关联到当前项目中的 JSON 文件。","items":{"type":"object","default":{"fileMatch":["/myfile"],"url":"schemaURL"},"properties":{"url":{"type":"string","default":"/user.schema.json","markdownDescription":"架构的 URL 或绝对文件路径。可以是工作区和工作区文件夹设置中的相对路径(以 `./` 开头)。"},"fileMatch":{"type":"array","items":{"type":"string","default":"MyFile.json","markdownDescription":"将 JSON 文件解析为架构时，可包含要与之匹配的 `*` 和 `**` 的文件模式。以 `!` 开头时，它定义排除模式。"},"minItems":1,"markdownDescription":"将 JSON 文件解析为架构时要与之匹配的文件模式数组。`*` 和 `**` 可用作通配符。也可定义排除模式，且以 `!` 开头。当至少有一个匹配模式，且最后一个匹配模式不是排除模式时，文件匹配。"},"schema":{"$ref":"http://json-schema.org/draft-07/schema#","description":"给定 URL 的架构定义。仅当要避免访问架构 URL 时需要提供架构。"}}}},"json.validate.enable":{"type":"boolean","scope":"window","default":true,"description":"启用/禁用 JSON 验证。"},"json.format.enable":{"type":"boolean","scope":"window","default":true,"description":"启用或禁用默认 JSON 格式化程序。"},"json.format.keepLines":{"type":"boolean","scope":"window","default":false,"description":"设置格式时保留所有现有新行。"},"json.trace.server":{"type":"string","scope":"window","enum":["off","messages","verbose"],"default":"off","description":"跟踪 VS Code 和 JSON 语言服务器之间的通信。"},"json.colorDecorators.enable":{"type":"boolean","scope":"window","default":true,"description":"启用或禁用颜色修饰器","deprecationMessage":"已弃用设置 \"json.colorDecorators.enable\"，请改用 \"editor.colorDecorators\"。"},"json.maxItemsComputed":{"type":"number","default":5000,"description":"计算的大纲符号和折叠区域的最大数量(因性能原因而受限)。"},"json.schemaDownload.enable":{"type":"boolean","default":true,"description":"启用后，可以从 http 和 https 位置提取 JSON 架构。","tags":["usesOnlineServices"]},"json.schemaDownload.trustedDomains":{"type":"object","default":{"https://schemastore.azurewebsites.net/":true,"https://raw.githubusercontent.com/microsoft/vscode/":true,"https://raw.githubusercontent.com/devcontainers/spec/":true,"https://www.schemastore.org/":true,"https://json.schemastore.org/":true,"https://json-schema.org/":true,"https://developer.microsoft.com/json-schemas/":true},"additionalProperties":{"type":"boolean"},"markdownDescription":"用于通过 http(s) 下载 JSON 架构的受信任域列表。使用 `*` 信任所有域。`*` 还可用作域名中的通配符。","tags":["usesOnlineServices"]}}},"configurationDefaults":{"[json]":{"editor.quickSuggestions":{"strings":true},"editor.suggest.insertMode":"replace"},"[jsonc]":{"editor.quickSuggestions":{"strings":true},"editor.suggest.insertMode":"replace"},"[snippets]":{"editor.quickSuggestions":{"strings":true},"editor.suggest.insertMode":"replace"}},"jsonValidation":[{"fileMatch":"*.schema.json","url":"http://json-schema.org/draft-07/schema#"}],"commands":[{"command":"json.clearCache","title":{"value":"清除架构缓存","original":"Clear Schema Cache"},"category":"JSON"},{"command":"json.sort","title":{"value":"排序文档","original":"Sort Document"},"category":"JSON"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"},"originalEnabledApiProposals":["extensionsAny"]},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/json-language-features","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.julia"},"manifest":{"name":"julia","displayName":"Julia 语言基础知识","description":"在 Julia 文件中提供语法高亮和括号匹配功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"0.10.x"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin JuliaEditorSupport/atom-language-julia variants/julia_vscode.json ./syntaxes/julia.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"julia","aliases":["Julia","julia"],"extensions":[".jl"],"firstLine":"^#!\\s*/.*\\bjulia[0-9.-]*\\b","configuration":"./language-configuration.json"},{"id":"juliamarkdown","aliases":["Julia Markdown","juliamarkdown"],"extensions":[".jmd"]}],"grammars":[{"language":"julia","scopeName":"source.julia","path":"./syntaxes/julia.tmLanguage.json","embeddedLanguages":{"meta.embedded.inline.cpp":"cpp","meta.embedded.inline.javascript":"javascript","meta.embedded.inline.python":"python","meta.embedded.inline.r":"r","meta.embedded.inline.sql":"sql"}}],"configurationDefaults":{"[julia]":{"editor.defaultColorDecorators":"never"}}}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/julia","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.latex"},"manifest":{"name":"latex","displayName":"LaTeX 语言基本信息","description":"为 TeX、LaTeX 和 BibTeX 提供语法突出显示和括号匹配。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ./build/update-grammars.js"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"tex","aliases":["TeX","tex"],"extensions":[".sty",".cls",".bbx",".cbx"],"configuration":"latex-language-configuration.json"},{"id":"latex","aliases":["LaTeX","latex"],"extensions":[".tex",".ltx",".ctx"],"configuration":"latex-language-configuration.json"},{"id":"bibtex","aliases":["BibTeX","bibtex"],"extensions":[".bib"]},{"id":"cpp_embedded_latex","configuration":"latex-cpp-embedded-language-configuration.json","aliases":[]},{"id":"markdown_latex_combined","configuration":"markdown-latex-combined-language-configuration.json","aliases":[]}],"grammars":[{"language":"tex","scopeName":"text.tex","path":"./syntaxes/TeX.tmLanguage.json","unbalancedBracketScopes":["keyword.control.ifnextchar.tex","punctuation.math.operator.tex"]},{"language":"latex","scopeName":"text.tex.latex","path":"./syntaxes/LaTeX.tmLanguage.json","unbalancedBracketScopes":["keyword.control.ifnextchar.tex","punctuation.math.operator.tex"],"embeddedLanguages":{"source.cpp":"cpp_embedded_latex","source.css":"css","text.html":"html","source.java":"java","source.js":"javascript","source.julia":"julia","source.lua":"lua","source.python":"python","source.ruby":"ruby","source.ts":"typescript","text.xml":"xml","source.yaml":"yaml","meta.embedded.markdown_latex_combined":"markdown_latex_combined"}},{"language":"bibtex","scopeName":"text.bibtex","path":"./syntaxes/Bibtex.tmLanguage.json"},{"language":"markdown_latex_combined","scopeName":"text.tex.markdown_latex_combined","path":"./syntaxes/markdown-latex-combined.tmLanguage.json"},{"language":"cpp_embedded_latex","scopeName":"source.cpp.embedded.latex","path":"./syntaxes/cpp-grammar-bailout.tmLanguage.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/latex","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.less"},"manifest":{"name":"less","displayName":"Less 语言基础功能","description":"在 Less 文件中提供语法高亮、括号匹配和折叠功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ./build/update-grammar.js"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"less","aliases":["Less","less"],"extensions":[".less"],"mimetypes":["text/x-less","text/less"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"less","scopeName":"source.css.less","path":"./syntaxes/less.tmLanguage.json"}],"problemMatchers":[{"name":"lessc","label":"Lessc compiler","owner":"lessc","source":"less","fileLocation":"absolute","pattern":{"regexp":"(.*)\\sin\\s(.*)\\son line\\s(\\d+),\\scolumn\\s(\\d+)","message":1,"file":2,"line":3,"column":4}}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/less","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.log"},"manifest":{"name":"log","displayName":"日志","description":"为扩展名为 .log 的文件提供语法高亮功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin emilast/vscode-logfile-highlighter syntaxes/log.tmLanguage ./syntaxes/log.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"log","extensions":[".log","*.log.?"],"aliases":["Log"]}],"grammars":[{"language":"log","scopeName":"text.log","path":"./syntaxes/log.tmLanguage.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/log","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.lua"},"manifest":{"name":"lua","displayName":"Lua 语言基础功能","description":"在 Lua 文件中提供语法高亮和括号匹配功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin sumneko/lua.tmbundle Syntaxes/Lua.plist ./syntaxes/lua.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"lua","extensions":[".lua"],"aliases":["Lua","lua"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"lua","scopeName":"source.lua","path":"./syntaxes/lua.tmLanguage.json","tokenTypes":{"comment.line.double-dash.doc.lua":"other"}}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/lua","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.make"},"manifest":{"name":"make","displayName":"Make 语言基础功能","description":"在 Make 文件中提供语法高亮和括号匹配功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin fadeevab/make.tmbundle Syntaxes/Makefile.plist ./syntaxes/make.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"makefile","aliases":["Makefile","makefile"],"extensions":[".mak",".mk"],"filenames":["Makefile","makefile","GNUmakefile","OCamlMakefile"],"firstLine":"^#!\\s*/usr/bin/make","configuration":"./language-configuration.json"}],"grammars":[{"language":"makefile","scopeName":"source.makefile","path":"./syntaxes/make.tmLanguage.json","tokenTypes":{"string.interpolated":"other"}}],"configurationDefaults":{"[makefile]":{"editor.insertSpaces":false}}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/make","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.markdown"},"manifest":{"name":"markdown","displayName":"Markdown 语言基础功能","description":"在 Markdown 文件中提供代码片段和语法高亮功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"^1.20.0"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"markdown","aliases":["Markdown","markdown"],"extensions":[".md",".mkd",".mkdn",".mdwn",".mdown",".markdown",".markdn",".mdtxt",".mdtext",".litcoffee",".ron",".ronn",".workbook"],"filenamePatterns":["**/.cursor/**/*.mdc"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"markdown","scopeName":"text.html.markdown","path":"./syntaxes/markdown.tmLanguage.json","embeddedLanguages":{"meta.embedded.block.html":"html","source.js":"javascript","source.css":"css","meta.embedded.block.frontmatter":"yaml","meta.embedded.block.css":"css","meta.embedded.block.ini":"ini","meta.embedded.block.java":"java","meta.embedded.block.lua":"lua","meta.embedded.block.makefile":"makefile","meta.embedded.block.perl":"perl","meta.embedded.block.r":"r","meta.embedded.block.ruby":"ruby","meta.embedded.block.php":"php","meta.embedded.block.sql":"sql","meta.embedded.block.vs_net":"vs_net","meta.embedded.block.xml":"xml","meta.embedded.block.xsl":"xsl","meta.embedded.block.yaml":"yaml","meta.embedded.block.dosbatch":"dosbatch","meta.embedded.block.clojure":"clojure","meta.embedded.block.coffee":"coffee","meta.embedded.block.c":"c","meta.embedded.block.cpp":"cpp","meta.embedded.block.diff":"diff","meta.embedded.block.dockerfile":"dockerfile","meta.embedded.block.go":"go","meta.embedded.block.groovy":"groovy","meta.embedded.block.pug":"jade","meta.embedded.block.ignore":"ignore","meta.embedded.block.javascript":"javascript","meta.embedded.block.json":"json","meta.embedded.block.jsonc":"jsonc","meta.embedded.block.jsonl":"jsonl","meta.embedded.block.latex":"latex","meta.embedded.block.less":"less","meta.embedded.block.objc":"objc","meta.embedded.block.scss":"scss","meta.embedded.block.perl6":"perl6","meta.embedded.block.powershell":"powershell","meta.embedded.block.python":"python","meta.embedded.block.restructuredtext":"restructuredtext","meta.embedded.block.rust":"rust","meta.embedded.block.scala":"scala","meta.embedded.block.shellscript":"shellscript","meta.embedded.block.typescript":"typescript","meta.embedded.block.typescriptreact":"typescriptreact","meta.embedded.block.csharp":"csharp","meta.embedded.block.fsharp":"fsharp"},"unbalancedBracketScopes":["markup.underline.link.markdown","punctuation.definition.list.begin.markdown"]}],"snippets":[{"language":"markdown","path":"./snippets/markdown.code-snippets"}],"configurationDefaults":{"[markdown]":{"editor.unicodeHighlight.ambiguousCharacters":false,"editor.unicodeHighlight.invisibleCharacters":false,"diffEditor.ignoreTrimWhitespace":false}}},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin microsoft/vscode-markdown-tm-grammar syntaxes/markdown.tmLanguage ./syntaxes/markdown.tmLanguage.json"},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/markdown-basics","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.markdown-language-features"},"manifest":{"name":"markdown-language-features","displayName":"Markdown 语言功能","description":"为 Markdown 提供丰富的语言支持。","version":"10.0.0","icon":"icon.png","publisher":"vscode","license":"MIT","aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","enabledApiProposals":["customEditorDiffs","documentDiff","documentSyntaxHighlighting"],"engines":{"vscode":"^1.70.0"},"main":"./dist/extension","browser":"./dist/browser/extension","categories":["Programming Languages"],"activationEvents":["onLanguage:markdown","onLanguage:prompt","onLanguage:instructions","onLanguage:chatagent","onLanguage:skill","onCommand:markdown.api.render","onCommand:markdown.api.reloadPlugins","onWebviewPanel:markdown.preview"],"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":"limited","description":"加载在工作区中配置的样式时需要。","restrictedConfigurations":["markdown.styles"]}},"contributes":{"notebookRenderer":[{"id":"vscode.markdown-it-renderer","displayName":"Markdown it renderer","entrypoint":"./notebook-out/index.js","mimeTypes":["text/markdown","text/latex","text/x-css","text/x-html","text/x-json","text/x-typescript","text/x-abap","text/x-apex","text/x-azcli","text/x-bat","text/x-cameligo","text/x-clojure","text/x-coffee","text/x-cpp","text/x-csharp","text/x-csp","text/x-css","text/x-dart","text/x-dockerfile","text/x-ecl","text/x-fsharp","text/x-go","text/x-graphql","text/x-handlebars","text/x-hcl","text/x-html","text/x-ini","text/x-java","text/x-javascript","text/x-julia","text/x-kotlin","text/x-less","text/x-lexon","text/x-lua","text/x-m3","text/x-markdown","text/x-mips","text/x-msdax","text/x-mysql","text/x-objective-c/objective","text/x-pascal","text/x-pascaligo","text/x-perl","text/x-pgsql","text/x-php","text/x-postiats","text/x-powerquery","text/x-powershell","text/x-pug","text/x-python","text/x-r","text/x-razor","text/x-redis","text/x-redshift","text/x-restructuredtext","text/x-ruby","text/x-rust","text/x-sb","text/x-scala","text/x-scheme","text/x-scss","text/x-shell","text/x-solidity","text/x-sophia","text/x-sql","text/x-st","text/x-swift","text/x-systemverilog","text/x-tcl","text/x-twig","text/x-typescript","text/x-vb","text/x-xml","text/x-yaml","application/json"]}],"commands":[{"command":"_markdown.copyImage","title":{"value":"复制图像","original":"Copy Image"},"category":"Markdown"},{"command":"_markdown.openImage","title":{"value":"打开图像","original":"Open Image"},"category":"Markdown"},{"command":"_markdown.openFrontMatterSettings","title":{"value":"配置 Frontmatter 可见性","original":"Configure Frontmatter Visibility"},"category":"Markdown"},{"command":"markdown.showPreview","title":{"value":"打开预览","original":"Open Preview"},"category":"Markdown","icon":{"light":"./media/preview-light.svg","dark":"./media/preview-dark.svg"}},{"command":"markdown.showPreviewToSide","title":{"value":"打开侧边预览","original":"Open Preview to the Side"},"category":"Markdown","icon":"$(open-preview)"},{"command":"markdown.showLockedPreviewToSide","title":{"value":"在侧边打开锁定的预览","original":"Open Locked Preview to the Side"},"category":"Markdown","icon":"$(open-preview)"},{"command":"markdown.showSource","title":{"value":"打开源文件","original":"Open Source File"},"category":"Markdown","icon":"$(file-code)"},{"command":"markdown.showPreviewSecuritySelector","title":{"value":"更改预览安全设置","original":"Change Preview Security Settings"},"category":"Markdown"},{"command":"markdown.preview.refresh","title":{"value":"刷新预览","original":"Refresh Preview"},"category":"Markdown"},{"command":"markdown.preview.toggleLock","title":{"value":"切换开关锁定预览","original":"Toggle Preview Locking"},"category":"Markdown"},{"command":"markdown.findAllFileReferences","title":{"value":"查找文件引用","original":"Find File References"},"category":"Markdown"},{"command":"markdown.reopenAsPreview","title":{"value":"以预览方式打开","original":"Open as Preview"},"category":"Markdown","icon":"$(preview)"},{"command":"markdown.reopenAsSource","title":{"value":"以源文件格式重新打开","original":"Reopen as source file"},"category":"Markdown","icon":"$(file-code)"},{"command":"markdown.togglePreview","title":{"value":"切换预览","original":"Toggle Preview"},"category":"Markdown"},{"command":"markdown.editor.insertLinkFromWorkspace","title":{"value":"在工作区中插入文件链接","original":"Insert Link to File in Workspace"},"category":"Markdown","enablement":"editorLangId =~ /^(markdown|prompt|instructions|chatagent|skill)$/ && !activeEditorIsReadonly"},{"command":"markdown.editor.insertImageFromWorkspace","title":{"value":"从工作区插入映像","original":"Insert Image from Workspace"},"category":"Markdown","enablement":"editorLangId =~ /^(markdown|prompt|instructions|chatagent|skill)$/ && !activeEditorIsReadonly"}],"menus":{"webview/context":[{"command":"_markdown.copyImage","when":"(webviewId == 'markdown.preview' || webviewId == 'vscode.markdown.preview.editor') && (webviewSection == 'image' || webviewSection == 'localImage')"},{"command":"_markdown.openImage","when":"(webviewId == 'markdown.preview' || webviewId == 'vscode.markdown.preview.editor') && webviewSection == 'localImage'"},{"command":"_markdown.openFrontMatterSettings","when":"(webviewId == 'markdown.preview' || webviewId == 'vscode.markdown.preview.editor') && webviewSection == 'frontMatter'"}],"editor/title":[{"command":"markdown.showPreviewToSide","when":"editorLangId =~ /^(markdown|prompt|instructions|chatagent|skill)$/ && !notebookEditorFocused && !hasCustomMarkdownPreview","alt":"markdown.showPreview","group":"navigation@1"},{"command":"markdown.reopenAsPreview","when":"activeEditor == workbench.editors.files.textFileEditor && resourceLangId =~ /^(markdown|prompt|instructions|chatagent|skill)$/ && !notebookEditorFocused && !hasCustomMarkdownPreview","group":"navigation@2"},{"command":"markdown.showSource","when":"activeWebviewPanelId == 'markdown.preview'","group":"navigation@2"},{"command":"markdown.reopenAsSource","when":"activeCustomEditorId == 'vscode.markdown.preview.editor' && !activeCustomEditorTextDiff","group":"navigation@2"},{"command":"markdown.preview.refresh","when":"activeWebviewPanelId == 'markdown.preview' || activeCustomEditorId == 'vscode.markdown.preview.editor'","group":"1_markdown"},{"command":"markdown.preview.toggleLock","when":"activeWebviewPanelId == 'markdown.preview' || activeCustomEditorId == 'vscode.markdown.preview.editor'","group":"1_markdown"},{"command":"markdown.showPreviewSecuritySelector","when":"activeWebviewPanelId == 'markdown.preview' || activeCustomEditorId == 'vscode.markdown.preview.editor'","group":"1_markdown"}],"modalEditor/editorTitle":[{"command":"markdown.showPreviewToSide","when":"editorLangId =~ /^(markdown|prompt|instructions|chatagent|skill)$/ && !notebookEditorFocused && !hasCustomMarkdownPreview","alt":"markdown.showPreview","group":"navigation"},{"command":"markdown.reopenAsPreview","when":"(activeEditor == workbench.editors.files.textFileEditor || activeEditor == workbench.editors.textDiffEditor) && resourceLangId =~ /^(markdown|prompt|instructions|chatagent|skill)$/ && !notebookEditorFocused && !hasCustomMarkdownPreview","group":"navigation"},{"command":"markdown.reopenAsSource","when":"activeCustomEditorId == 'vscode.markdown.preview.editor' && !activeCustomEditorTextDiff","group":"navigation"}],"explorer/context":[{"command":"markdown.showPreview","when":"resourceLangId =~ /^(markdown|prompt|instructions|chatagent|skill)$/ && !hasCustomMarkdownPreview","group":"navigation"},{"command":"markdown.findAllFileReferences","when":"resourceLangId =~ /^(markdown|prompt|instructions|chatagent|skill)$/","group":"4_search"}],"editor/title/context":[{"command":"markdown.showPreview","when":"resourceLangId =~ /^(markdown|prompt|instructions|chatagent|skill)$/ && !hasCustomMarkdownPreview","group":"1_open"},{"command":"markdown.findAllFileReferences","when":"resourceLangId =~ /^(markdown|prompt|instructions|chatagent|skill)$/"}],"commandPalette":[{"command":"_markdown.openImage","when":"false"},{"command":"_markdown.copyImage","when":"false"},{"command":"markdown.showPreview","when":"editorLangId =~ /^(markdown|prompt|instructions|chatagent|skill)$/ && !notebookEditorFocused","group":"navigation"},{"command":"markdown.showPreviewToSide","when":"editorLangId =~ /^(markdown|prompt|instructions|chatagent|skill)$/ && !notebookEditorFocused","group":"navigation"},{"command":"markdown.showLockedPreviewToSide","when":"editorLangId =~ /^(markdown|prompt|instructions|chatagent|skill)$/ && !notebookEditorFocused","group":"navigation"},{"command":"markdown.showSource","when":"activeWebviewPanelId == 'markdown.preview' || activeCustomEditorId == 'vscode.markdown.preview.editor'","group":"navigation"},{"command":"markdown.showPreviewSecuritySelector","when":"editorLangId =~ /^(markdown|prompt|instructions|chatagent|skill)$/ && !notebookEditorFocused"},{"command":"markdown.showPreviewSecuritySelector","when":"activeWebviewPanelId == 'markdown.preview' || activeCustomEditorId == 'vscode.markdown.preview.editor'"},{"command":"markdown.preview.toggleLock","when":"activeWebviewPanelId == 'markdown.preview' || activeCustomEditorId == 'vscode.markdown.preview.editor'"},{"command":"markdown.preview.refresh","when":"editorLangId =~ /^(markdown|prompt|instructions|chatagent|skill)$/ && !notebookEditorFocused"},{"command":"markdown.preview.refresh","when":"activeWebviewPanelId == 'markdown.preview' || activeCustomEditorId == 'vscode.markdown.preview.editor'"},{"command":"markdown.findAllFileReferences","when":"editorLangId =~ /^(markdown|prompt|instructions|chatagent|skill)$/"},{"command":"markdown.reopenAsPreview","when":"activeEditor == workbench.editors.files.textFileEditor && resourceLangId =~ /^(markdown|prompt|instructions|chatagent|skill)$/","group":"navigation"},{"command":"markdown.reopenAsSource","when":"activeCustomEditorId == 'vscode.markdown.preview.editor'","group":"navigation"},{"command":"markdown.togglePreview","when":"resourceLangId =~ /^(markdown|prompt|instructions|chatagent|skill)$/"}]},"keybindings":[{"command":"markdown.showPreviewToSide","key":"ctrl+k v","mac":"cmd+k v","when":"editorFocus && editorLangId =~ /^(markdown|prompt|instructions|chatagent|skill)$/ && !notebookEditorFocused"},{"command":"markdown.togglePreview","key":"shift+ctrl+v","mac":"shift+cmd+v","when":"!terminalFocus && ((editorFocus && resourceLangId =~ /^(markdown|prompt|instructions|chatagent|skill)$/ && !notebookEditorFocused) || activeCustomEditorId == 'vscode.markdown.preview.editor')"}],"configuration":[{"title":"语言功能","order":20,"properties":{"markdown.links.openLocation":{"type":"string","default":"currentGroup","description":"控制应在哪里打开 Markdown 文件中的链接。","scope":"resource","enum":["currentGroup","beside"],"enumDescriptions":["打开活动编辑器组中的链接。","打开活动编辑器旁边的链接。"]},"markdown.suggest.paths.enabled":{"type":"boolean","default":true,"description":"控制在 Markdown 文件中编写链接时是否显示路径建议。","scope":"resource"},"markdown.suggest.paths.includeWorkspaceHeaderCompletions":{"type":"string","default":"onDoubleHash","scope":"resource","markdownDescription":"为当前工作区中其他 Markdown 文件中的标头启用建议。接受这些建议之一将插入该文件中标头的完整路径，例如: `[link text](/path/to/file.md#header)`。","enum":["never","onDoubleHash","onSingleOrDoubleHash"],"markdownEnumDescriptions":["禁用工作区标头建议。","在路径中键入 `##` 后启用工作区标头建议，例如: `[link text](##`。","在路径中键入 `##` 或 `#` 后启用工作区标头建议，例如: `[link text](#` 或 `[link text](##`。"]},"markdown.editor.drop.enabled":{"type":"string","scope":"resource","markdownDescription":"控制在按住 Shift 键插入 Markdown 链接时是否将文件拖放到 Markdown 编辑器。需要启用 `#editor.dropIntoEditor.enabled#`。","default":"smart","enum":["always","smart","never"],"markdownEnumDescriptions":["始终插入 Markdown 链接。","当未放置到代码块或其他特殊元素中时，默认情况下智能创建 Markdown 链接。使用放置小组件，以在粘贴为纯文本或 Markdown 链接之间切换。","从不创建 Markdown 链接。"]},"markdown.editor.drop.copyIntoWorkspace":{"type":"string","markdownDescription":"控制是否应将放置到 Markdown 编辑器中的工作区之外的文件复制到工作区中。\r\n\r\n使用 `#markdown.copyFiles.destination#` 配置复制或放置的文件应位于哪个位置","default":"mediaFiles","enum":["mediaFiles","never"],"markdownEnumDescriptions":["尝试将外部图像和视频文件复制到工作区。","请勿将外部文件复制到工作区。"]},"markdown.editor.filePaste.enabled":{"type":"string","scope":"resource","markdownDescription":"控制将文件粘贴到 Markdown 编辑器时是否创建 Markdown 链接。需要启用 `#editor.pasteAs.enabled#`。","default":"smart","enum":["always","smart","never"],"markdownEnumDescriptions":["始终插入 Markdown 链接。","当不粘贴到代码块或其他特殊元素时，默认情况下可以智能创建 Markdown 链接。使用粘贴小组件，在以纯文本形式粘贴或以 Markdown 链接形式粘贴之间切换。","从不创建 Markdown 链接。"]},"markdown.editor.filePaste.copyIntoWorkspace":{"type":"string","markdownDescription":"控制是否应将粘贴到 Markdown 编辑器中的工作区之外的文件复制到工作区中。\r\n\r\n使用 `#markdown.copyFiles.destination#` 配置应在哪个位置创建复制的文件。","default":"mediaFiles","enum":["mediaFiles","never"],"markdownEnumDescriptions":["尝试将外部图像和视频文件复制到工作区。","请勿将外部文件复制到工作区。"]},"markdown.editor.filePaste.videoSnippet":{"type":"string","markdownDescription":"将视频添加到 Markdown 时使用的代码片段。此代码片段可以使用以下变量:\r\n-“${src}”- 视频文件的解析路径。\r\n-“${title}”- 用于视频的标题。将自动为此变量创建代码片段占位符。","default":"<video controls src=\"${src}\" title=\"${title}\"></video>"},"markdown.editor.filePaste.audioSnippet":{"type":"string","markdownDescription":"将音频添加到 Markdown 时使用的代码片段。此代码片段可以使用以下变量:\r\n-“${src}”- 音频文件的解析路径。\r\n-“${title}”- 用于音频的标题。将自动为此变量创建代码片段占位符。","default":"<audio controls src=\"${src}\" title=\"${title}\"></audio>"},"markdown.editor.pasteUrlAsFormattedLink.enabled":{"type":"string","scope":"resource","markdownDescription":"控制是否在将 URL 粘贴到 Markdown 编辑器时创建 Markdown 链接。需要启用“#editor.pasteAs.enabled#”。","default":"smartWithSelection","enum":["always","smart","smartWithSelection","never"],"markdownEnumDescriptions":["始终插入 Markdown 链接。","当不粘贴到代码块或其他特殊元素时，默认情况下可以智能创建 Markdown 链接。使用粘贴小组件，在以纯文本形式粘贴或以 Markdown 链接形式粘贴之间切换。","当你选择了文本，并且不粘贴到代码块或其他特殊元素时，默认情况下可以智能创建 Markdown 链接。使用粘贴小组件，在以纯文本形式粘贴或以 Markdown 链接形式粘贴之间切换。","从不创建 Markdown 链接。"]},"markdown.editor.updateLinksOnPaste.enabled":{"type":"boolean","markdownDescription":"启用/禁用粘贴选项，该选项可更新在 Markdown 编辑器之间复制和粘贴的文本中的链接和引用。\r\n\r\n若要使用此功能，粘贴包含可更新链接的文本后，只需单击“粘贴”小组件，然后选择“粘贴并更新粘贴的链接”即可。","scope":"resource","default":true},"markdown.updateLinksOnFileMove.enabled":{"type":"string","enum":["prompt","always","never"],"markdownEnumDescriptions":["每次移动文件时进行提示。","始终自动更新链接。","从不尝试更新链接且不提示。"],"default":"never","markdownDescription":"重命名/移动工作区中的文件时，请尝试更新 Markdown 文件中的链接。使用 `#markdown.updateLinksOnFileMove.include#` 配置触发链接更新的文件。","scope":"window"},"markdown.updateLinksOnFileMove.include":{"type":"array","markdownDescription":"指定触发自动链接更新的文件的 Glob 模式。有关此功能的详细信息，请参阅 `#markdown.updateLinksOnFileMove.enabled#`。","scope":"window","items":{"type":"string","description":"要与文件路径匹配的 glob 模式。设置为 true 以启用模式。"},"default":["**/*.{md,mkd,mdwn,mdown,markdown,markdn,mdtxt,mdtext,workbook}","**/*.{jpg,jpe,jpeg,png,bmp,gif,ico,webp,avif,tiff,svg,mp4}"]},"markdown.updateLinksOnFileMove.enableForDirectories":{"type":"boolean","default":true,"description":"启用在工作区中移动或重命名目录时更新链接。","scope":"window"},"markdown.occurrencesHighlight.enabled":{"type":"boolean","default":false,"description":"控制是否突出显示当前文档中的链接。","scope":"resource"},"markdown.copyFiles.destination":{"type":"object","markdownDescription":"配置通过复制/粘贴或拖放创建的文件的路径及文件名。这是与 Markdown 文档路径匹配的 glob 映射到应在其中创建新文件的目标路径。\r\n\r\n目标路径可使用以下变量:\r\n\r\n- `${documentDirName}` - Markdown 文档的绝对父级目录路径，例如 `/Users/me/myProject/docs`。\r\n- `${documentRelativeDirName}` - Markdown 文档的相对父级目录路径，例如 `docs`。如果该文件不是工作区的一部分，则此项与 `${documentDirName}` 相同。\r\n- `${documentFileName}` - Markdown 文档的完整文件名，例如 `README.md`。\r\n- `${documentBaseName}` - Markdown 文档的基名，例如 `README`。\r\n- `${documentExtName}` - Markdown 文档的扩展名，例如 `md`。\r\n- `${documentFilePath}` - Markdown 文档的绝对路径，例如 `/Users/me/myProject/docs/README.md`。\r\n- `${documentRelativeFilePath}` - Markdown 文档的相对路径，例如 `docs/README.md`。如果文件不是工作区的一部分，则此项与 `${documentFilePath}` 相同。\r\n- `${documentWorkspaceFolder}` - Markdown 文档的工作区文件夹，例如 `/Users/me/myProject`。如果该文件不是工作区的一部分，则此项与 `${documentDirName}` 相同。\r\n- `${fileName}` - 所删除文件的文件名，例如 `image.png`。\r\n- `${fileExtName}` - 所删除文件的扩展名，例如 `png`。\r\n- “${unixTime}” - 当前 Unix 时间戳(以毫秒为单位)。\r\n- `${isoTime}` - ISO 8601 格式的当前时间，例如 '2025-06-06T08:40:32.123Z'。","additionalProperties":{"type":"string"}},"markdown.copyFiles.overwriteBehavior":{"type":"string","markdownDescription":"控制通过放置或粘贴操作创建的文件是否应覆盖现有文件。","default":"nameIncrementally","enum":["nameIncrementally","overwrite"],"markdownEnumDescriptions":["如果已存在具有相同名称的文件，请向文件名追加一个数字，例如: `image.png` 变为 `image-1.png`。","如果已存在具有相同名称的文件，则覆盖。"]},"markdown.preferredMdPathExtensionStyle":{"type":"string","default":"auto","markdownDescription":"控制是否为指向 Markdown 文件的链接添加文件扩展名(例如“.md”)。通过工具(如路径完成或文件重命名)添加文件路径时，将使用此设置。","enum":["auto","includeExtension","removeExtension"],"markdownEnumDescriptions":["对于现有路径，请尝试维护文件扩展名样式。对于新路径，请添加文件扩展名。","首选包括文件扩展名。例如，名为 \"file.md\" 的文件的路径完成将插入 \"file.md\"。","首选删除文件扩展名。例如，名为 \"file.md\" 的文件的路径完成将插入 \"file\" 而不插入 \".md\"。"]}}},{"title":"验证","order":22,"properties":{"markdown.validate.enabled":{"order":0,"type":"boolean","scope":"resource","description":"控制是否在 Markdown 文件中启用错误报告。","default":false},"markdown.validate.referenceLinks.enabled":{"type":"string","scope":"resource","markdownDescription":"控制是否验证 Markdown 文件中的引用链接，例如: `[link][ref]`。需要启用 `#markdown.validate.enabled#`。","default":"warning","enum":["ignore","warning","error"]},"markdown.validate.fragmentLinks.enabled":{"type":"string","scope":"resource","markdownDescription":"控制是否验证当前 Markdown 文件中标头的片段链接，例如: `[link](#header)`。需要启用 `#markdown.validate.enabled#`。","default":"warning","enum":["ignore","warning","error"]},"markdown.validate.fileLinks.enabled":{"type":"string","scope":"resource","markdownDescription":"控制是否验证指向 Markdown 文件中其他文件的链接，例如 `[link](/path/to/file.md)`。此操作将检查目标文件是否存在。需要启用 `#markdown.validate.enabled#`。","default":"warning","enum":["ignore","warning","error"]},"markdown.validate.fileLinks.markdownFragmentLinks":{"type":"string","scope":"resource","markdownDescription":"验证 Markdown 文件中其他文件中标头的链接片段部分，例如: `[link](/path/to/file.md#header)`。默认情况下从 `#markdown.validate.fragmentLinks.enabled#` 继承设置值。","default":"inherit","enum":["inherit","ignore","warning","error"]},"markdown.validate.ignoredLinks":{"type":"array","scope":"resource","markdownDescription":"配置不应被验证的链接。例如，添加 `/about` 不会验证链接 `[about](/about)`，而 `/assets/**/*.svg` 会允许你跳过对 `assets` 目录下 `.svg` 文件的任何链接的验证。","items":{"type":"string"}},"markdown.validate.unusedLinkDefinitions.enabled":{"type":"string","scope":"resource","markdownDescription":"验证当前文件中未使用的链接定义。","default":"hint","enum":["ignore","hint","warning","error"]},"markdown.validate.duplicateLinkDefinitions.enabled":{"type":"string","scope":"resource","markdownDescription":"验证当前文件中的重复定义。","default":"warning","enum":["ignore","warning","error"]}}},{"title":"预览","order":23,"properties":{"markdown.styles":{"type":"array","items":{"type":"string"},"default":[],"markdownDescription":"要从 Markdown 预览使用的 CSS 样式表的 URL 或本地路径的列表。相对路径解释为相对于资源管理器中打开的文件夹。如果没有打开的文件夹，则解释为相对于 Markdown 文件的位置。所有 `\\` 都需写为 `\\\\`。","scope":"resource"},"markdown.preview.breaks":{"type":"boolean","default":false,"markdownDescription":"设置换行符在 Markdown 预览中的呈现方式。如果将其设置为“true”，则将为段落内的新行创建一个“<br>”。","scope":"resource"},"markdown.preview.linkify":{"type":"boolean","default":true,"description":"将类似于 URL 的文本转换为 Markdown 预览中的链接。","scope":"resource"},"markdown.preview.typographer":{"type":"boolean","default":false,"description":"在 Markdown 预览中启用或一些与语言无关的替换和引文美化。","scope":"resource"},"markdown.preview.fontFamily":{"type":"string","default":"-apple-system, BlinkMacSystemFont, 'Segoe WPC', 'Segoe UI', system-ui, 'Ubuntu', 'Droid Sans', sans-serif","description":"控制 Markdown 预览中使用的字体系列。","scope":"resource"},"markdown.preview.fontSize":{"type":"number","default":14,"description":"控制 Markdown 预览中使用的字号(以像素为单位)。","scope":"resource"},"markdown.preview.lineHeight":{"type":"number","default":1.6,"description":"控制 Markdown 预览中使用的行高。此数值与字号相关。","scope":"resource"},"markdown.preview.scrollPreviewWithEditor":{"type":"boolean","default":true,"description":"滚动 Markdown 编辑器时，更新其预览视图。","scope":"resource"},"markdown.preview.markEditorSelection":{"type":"boolean","default":false,"description":"在 Markdown 预览中标记当前的编辑器选定内容。","scope":"resource"},"markdown.preview.scrollEditorWithPreview":{"type":"boolean","default":true,"description":"滚动 Markdown 预览时，更新其编辑器视图。","scope":"resource"},"markdown.preview.doubleClickToSwitchToEditor":{"type":"boolean","default":false,"description":"在 Markdown 预览中双击以切换到编辑器。","scope":"resource"},"markdown.preview.openMarkdownLinks":{"type":"string","default":"inPreview","description":"控制如何打开 Markdown 预览中其他 Markdown 文件的链接。","scope":"resource","enum":["inPreview","inEditor"],"enumDescriptions":["尝试在 Markdown 预览中打开链接。","尝试在编辑器中打开链接。"]},"markdown.preview.frontMatter":{"type":"string","default":"table","scope":"resource","markdownDescription":"控制 Markdown 文件开头的 YAML frontmatter (由 `---` 分隔)在预览中的渲染方式。","enum":["hide","codeBlock","table"],"enumDescriptions":["不渲染 frontmatter。","将 frontmatter 渲染为代码块。","将 frontmatter 渲染为键值对表格。"]}}},{"title":"高级","order":24,"properties":{"markdown.trace.server":{"type":"string","scope":"window","enum":["off","messages","verbose"],"default":"off","description":"跟踪 VS Code 和 Markdown 语言服务器之间的通信。"},"markdown.server.log":{"type":"string","scope":"window","enum":["off","debug","trace"],"default":"off","description":"控制 Markdown 语言服务器的日志记录级别。"}}}],"configurationDefaults":{"[markdown]":{"editor.wordWrap":"on","editor.quickSuggestions":{"comments":"off","strings":"off","other":"off"}}},"jsonValidation":[{"fileMatch":"package.json","url":"./schemas/package.schema.json"}],"markdown.previewStyles":["./media/markdown.css","./media/highlight.css"],"markdown.previewScripts":[{"path":"./media/index.js","type":"module"}],"customEditors":[{"viewType":"vscode.markdown.preview.editor","displayName":"Markdown Preview","priority":"option","selector":[{"filenamePattern":"*.md"}]},{"viewType":"vscode.markdown.editor","displayName":"Markdown Editor (Experimental)","priority":"option","selector":[{"filenamePattern":"*.md"}]}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"},"originalEnabledApiProposals":["customEditorDiffs","documentDiff","documentSyntaxHighlighting"]},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/markdown-language-features","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.markdown-math"},"manifest":{"name":"markdown-math","displayName":"Markdown 数学","description":"在笔记本中向 Markdown 添加数学支持。","version":"10.0.0","icon":"icon.png","publisher":"vscode","license":"MIT","aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","engines":{"vscode":"^1.54.0"},"categories":["Other","Programming Languages"],"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"main":"./dist/extension","browser":"./dist/browser/extension","activationEvents":[],"contributes":{"languages":[{"id":"markdown-math","aliases":[]}],"grammars":[{"language":"markdown-math","scopeName":"text.html.markdown.math","path":"./syntaxes/md-math.tmLanguage.json"},{"scopeName":"markdown.math.block","path":"./syntaxes/md-math-block.tmLanguage.json","injectTo":["text.html.markdown"],"embeddedLanguages":{"meta.embedded.math.markdown":"latex"}},{"scopeName":"markdown.math.inline","path":"./syntaxes/md-math-inline.tmLanguage.json","injectTo":["text.html.markdown"],"embeddedLanguages":{"meta.embedded.math.markdown":"latex","punctuation.definition.math.end.markdown":"latex"}},{"scopeName":"markdown.math.codeblock","path":"./syntaxes/md-math-fence.tmLanguage.json","injectTo":["text.html.markdown"],"embeddedLanguages":{"meta.embedded.math.markdown":"latex"}}],"notebookRenderer":[{"id":"vscode.markdown-it-katex-extension","displayName":"Markdown it KaTeX renderer","entrypoint":{"extends":"vscode.markdown-it-renderer","path":"./notebook-out/katex.js"}}],"markdown.markdownItPlugins":true,"markdown.previewStyles":["./notebook-out/katex.min.css","./preview-styles/index.css"],"configuration":[{"title":"Markdown Math","properties":{"markdown.math.enabled":{"type":"boolean","default":true,"description":"在内置 Markdown 预览中启用/禁用呈现数学。"},"markdown.math.macros":{"type":"object","additionalProperties":{"type":"string"},"default":{},"description":"自定义宏的集合。每个宏都是键值对，其中键是新的命令名称，值是宏的扩展。","scope":"resource"}}}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/markdown-math","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.media-preview"},"manifest":{"name":"media-preview","displayName":"媒体预览","description":"为图像、音频和视频提供 VS Code 的内置预览","extensionKind":["ui","workspace"],"version":"10.0.0","publisher":"vscode","icon":"icon.png","license":"MIT","aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","engines":{"vscode":"^1.70.0"},"main":"./dist/extension","browser":"./dist/browser/extension.js","categories":["Other"],"activationEvents":[],"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"contributes":{"configuration":{"type":"object","title":"Media Previewer","properties":{"mediaPreview.video.autoPlay":{"type":"boolean","default":false,"markdownDescription":"开始自动静音播放视频。"},"mediaPreview.video.loop":{"type":"boolean","default":false,"markdownDescription":"自动再次循环播放视频。"}}},"customEditors":[{"viewType":"imagePreview.previewEditor","displayName":"图像预览","priority":"builtin","selector":[{"filenamePattern":"*.{jpg,jpe,jpeg,png,bmp,gif,ico,webp,avif,svg}"}]},{"viewType":"vscode.audioPreview","displayName":"音频预览","priority":"builtin","selector":[{"filenamePattern":"*.{mp3,wav,ogg,oga}"}]},{"viewType":"vscode.videoPreview","displayName":"视频预览","priority":"builtin","selector":[{"filenamePattern":"*.{mp4,webm}"}]}],"commands":[{"command":"imagePreview.zoomIn","title":{"value":"放大","original":"Zoom in"},"category":"Image Preview"},{"command":"imagePreview.zoomOut","title":{"value":"缩小","original":"Zoom out"},"category":"Image Preview"},{"command":"imagePreview.copyImage","title":{"value":"复制","original":"Copy"},"category":"Image Preview"},{"command":"imagePreview.reopenAsPreview","title":{"value":"作为图像预览重新打开","original":"Reopen as image preview"},"category":"Image Preview","icon":"$(preview)"},{"command":"imagePreview.reopenAsText","title":{"value":"作为源文本重新打开","original":"Reopen as source text"},"category":"Image Preview","icon":"$(go-to-file)"}],"menus":{"commandPalette":[{"command":"imagePreview.zoomIn","when":"activeCustomEditorId == 'imagePreview.previewEditor'","group":"1_imagePreview"},{"command":"imagePreview.zoomOut","when":"activeCustomEditorId == 'imagePreview.previewEditor'","group":"1_imagePreview"},{"command":"imagePreview.copyImage","when":"false"},{"command":"imagePreview.reopenAsPreview","when":"activeEditor == workbench.editors.files.textFileEditor && resourceExtname == '.svg'","group":"navigation"},{"command":"imagePreview.reopenAsText","when":"activeCustomEditorId == 'imagePreview.previewEditor' && resourceExtname == '.svg'","group":"navigation"}],"webview/context":[{"command":"imagePreview.copyImage","when":"webviewId == 'imagePreview.previewEditor'"}],"editor/title":[{"command":"imagePreview.reopenAsPreview","when":"editorFocus && resourceExtname == '.svg'","group":"navigation"},{"command":"imagePreview.reopenAsText","when":"activeCustomEditorId == 'imagePreview.previewEditor' && resourceExtname == '.svg'","group":"navigation"}]}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/media-preview","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.merge-conflict"},"manifest":{"name":"merge-conflict","publisher":"vscode","displayName":"合并冲突","description":"为内联合并冲突提供高亮和命令。","icon":"media/icon.png","version":"10.0.0","license":"MIT","aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","engines":{"vscode":"^1.5.0"},"categories":["Other"],"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"activationEvents":["onStartupFinished"],"main":"./dist/mergeConflictMain","browser":"./dist/browser/mergeConflictMain","contributes":{"commands":[{"category":{"value":"合并冲突","original":"Merge Conflict"},"title":{"value":"全部采用当前内容","original":"Accept All Current"},"original":"Accept All Current","command":"merge-conflict.accept.all-current","enablement":"!isMergeEditor"},{"category":{"value":"合并冲突","original":"Merge Conflict"},"title":{"value":"全部采用传入版本","original":"Accept All Incoming"},"original":"Accept All Incoming","command":"merge-conflict.accept.all-incoming","enablement":"!isMergeEditor"},{"category":{"value":"合并冲突","original":"Merge Conflict"},"title":{"value":"全部保留两者","original":"Accept All Both"},"original":"Accept All Both","command":"merge-conflict.accept.all-both","enablement":"!isMergeEditor"},{"category":{"value":"合并冲突","original":"Merge Conflict"},"title":{"value":"采用当前内容","original":"Accept Current"},"original":"Accept Current","command":"merge-conflict.accept.current","enablement":"!isMergeEditor"},{"category":{"value":"合并冲突","original":"Merge Conflict"},"title":{"value":"采用传入内容","original":"Accept Incoming"},"original":"Accept Incoming","command":"merge-conflict.accept.incoming","enablement":"!isMergeEditor"},{"category":{"value":"合并冲突","original":"Merge Conflict"},"title":{"value":"采用选中版本","original":"Accept Selection"},"original":"Accept Selection","command":"merge-conflict.accept.selection","enablement":"!isMergeEditor"},{"category":{"value":"合并冲突","original":"Merge Conflict"},"title":{"value":"保留两者","original":"Accept Both"},"original":"Accept Both","command":"merge-conflict.accept.both","enablement":"!isMergeEditor"},{"category":{"value":"合并冲突","original":"Merge Conflict"},"title":{"value":"下一个冲突","original":"Next Conflict"},"original":"Next Conflict","command":"merge-conflict.next","enablement":"!isMergeEditor","icon":"$(arrow-down)"},{"category":{"value":"合并冲突","original":"Merge Conflict"},"title":{"value":"上一个冲突","original":"Previous Conflict"},"original":"Previous Conflict","command":"merge-conflict.previous","enablement":"!isMergeEditor","icon":"$(arrow-up)"},{"category":{"value":"合并冲突","original":"Merge Conflict"},"title":{"value":"比较当前冲突","original":"Compare Current Conflict"},"original":"Compare Current Conflict","command":"merge-conflict.compare","enablement":"!isMergeEditor"}],"menus":{"scm/resourceState/context":[{"command":"merge-conflict.accept.all-current","when":"scmProvider == git && scmResourceGroup == merge","group":"1_modification"},{"command":"merge-conflict.accept.all-incoming","when":"scmProvider == git && scmResourceGroup == merge","group":"1_modification"}],"editor/title":[{"command":"merge-conflict.previous","group":"navigation@1","when":"!isMergeEditor && mergeConflictsCount && mergeConflictsCount != 0"},{"command":"merge-conflict.next","group":"navigation@2","when":"!isMergeEditor && mergeConflictsCount && mergeConflictsCount != 0"}]},"configuration":{"title":"合并冲突","properties":{"merge-conflict.codeLens.enabled":{"type":"boolean","description":"为编辑器中的合并冲突区域创建 CodeLens。","default":true},"merge-conflict.decorators.enabled":{"type":"boolean","description":"为编辑器中的合并冲突区域创建提示小标。","default":true},"merge-conflict.autoNavigateNextConflict.enabled":{"type":"boolean","description":"是否在解决合并冲突后自动转到下一个合并冲突。","default":false},"merge-conflict.diffViewPosition":{"type":"string","enum":["Current","Beside","Below"],"description":"控件在比较合并冲突中的更改时应在何处打开差异视图。","enumDescriptions":["在当前的编辑器组中打开差异视图。","在当前编辑器组旁边打开差异视图。","在当前编辑器组下方打开差异视图。"],"default":"Current"}}}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/merge-conflict","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.mermaid-markdown-features"},"manifest":{"name":"mermaid-markdown-features","displayName":"Mermaid Markdown 功能","description":"为内置聊天、Markdown 预览和笔记本添加 Mermaid 图表支持。","version":"10.0.0","publisher":"vscode","license":"MIT","repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"},"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","engines":{"vscode":"^1.104.0"},"enabledApiProposals":["chatOutputRenderer"],"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"main":"./dist/extension","browser":"./dist/browser/extension","activationEvents":["onWebviewPanel:vscode.mermaid-markdown-features.preview"],"contributes":{"commands":[{"command":"_mermaid-markdown.resetPanZoom","title":{"value":"重置平移和缩放","original":"Reset Pan and Zoom"}},{"command":"_mermaid-markdown.openInEditor","title":{"value":"在编辑器中打开图表","original":"Open Diagram in Editor"}},{"command":"_mermaid-markdown.copySource","title":{"value":"复制图表源","original":"Copy Diagram Source"}}],"menus":{"commandPalette":[{"command":"_mermaid-markdown.resetPanZoom","when":"false"},{"command":"_mermaid-markdown.openInEditor","when":"false"},{"command":"_mermaid-markdown.copySource","when":"false"}],"webview/context":[{"command":"_mermaid-markdown.openInEditor","when":"webviewId == 'vscode.mermaid-markdown-features.chatOutputItem' || (webviewSection == 'mermaid' && (webviewId == 'markdown.preview' || webviewId == 'vscode.markdown.preview.editor' || webviewId == 'notebook.output'))","group":"navigation@1"},{"command":"_mermaid-markdown.copySource","when":"webviewId == 'vscode.mermaid-markdown-features.chatOutputItem' || webviewId == 'vscode.mermaid-markdown-features.preview' || (webviewSection == 'mermaid' && (webviewId == 'markdown.preview' || webviewId == 'vscode.markdown.preview.editor' || webviewId == 'notebook.output'))","group":"navigation@2"},{"command":"_mermaid-markdown.resetPanZoom","when":"!mermaidError && (webviewId == 'vscode.mermaid-markdown-features.chatOutputItem' || webviewId == 'vscode.mermaid-markdown-features.preview')","group":"navigation@3"}]},"configuration":{"title":"Mermaid","properties":{"markdown-mermaid.lightModeTheme":{"order":0,"type":"string","enum":["vscode","base","forest","dark","default","neutral"],"enumDescriptions":["从当前 VS Code 颜色主题派生的 Mermaid 主题。","内置 Mermaid 主题。唯一可以使用主题变量自定义的 Mermaid 主题。","使用绿色阴影的内置 Mermaid 主题。","适用于深色背景的内置 Mermaid 主题。","默认内置 Mermaid 主题。适用于浅色背景。","使用中性灰度调色板的内置 Mermaid 主题。适用于黑白打印。"],"default":"vscode","description":"浅色模式下的默认 Mermaid 主题。"},"markdown-mermaid.darkModeTheme":{"order":1,"type":"string","enum":["vscode","base","forest","dark","default","neutral"],"enumDescriptions":["从当前 VS Code 颜色主题派生的 Mermaid 主题。","内置 Mermaid 主题。唯一可以使用主题变量自定义的 Mermaid 主题。","使用绿色阴影的内置 Mermaid 主题。","适用于深色背景的内置 Mermaid 主题。","默认内置 Mermaid 主题。适用于浅色背景。","使用中性灰度调色板的内置 Mermaid 主题。适用于黑白打印。"],"default":"vscode","description":"深色模式下的默认 Mermaid 主题。"},"markdown-mermaid.languages":{"order":2,"type":"array","default":["mermaid"],"description":"Markdown 中的默认语言。"},"markdown-mermaid.maxTextSize":{"order":3,"type":"number","default":50000,"description":"用户文本图表允许的最大大小。"},"markdown-mermaid.mouseNavigation.enabled":{"type":"string","description":"控制何时在 Mermaid 图表上启用基于鼠标的导航。","enum":["always","alt","never"],"default":"alt","markdownEnumDescriptions":["始终在 Mermaid 图表上启用鼠标导航。","仅在按住 Alt (macOS 上为 Option)时启用鼠标导航。无需 Alt，捏合缩放等手势仍可使用。","禁用鼠标导航。"]},"markdown-mermaid.controls.show":{"type":"string","description":"控制是否在 Mermaid 图表上显示 UI 控件。","enum":["never","onHoverOrFocus","always"],"enumDescriptions":["从不显示控件。","悬停或聚焦图表时显示缩放控件。","始终显示缩放控件。"],"default":"onHoverOrFocus"},"markdown-mermaid.resizable":{"type":"boolean","default":true,"description":"允许通过拖动下边缘垂直调整图表大小。"},"markdown-mermaid.maxHeight":{"type":"string","default":"","markdownDescription":"图表最大高度。必须是带单位的 CSS 值，例如 `80vh` 或 `400px`。留空以尝试根据内容自动调整图表大小。"}}},"markdown.previewScripts":[{"path":"./markdown-preview-out/index.js","type":"module"}],"notebookRenderer":[{"id":"vscode.markdown-it.mermaid-extension","displayName":"Markdown-It Mermaid Renderer","requiresMessaging":"optional","entrypoint":{"extends":"vscode.markdown-it-renderer","path":"./notebook-out/index.js"}}],"markdown.markdownItPlugins":true,"chatOutputRenderers":[{"viewType":"vscode.mermaid-markdown-features.chatOutputItem","mimeTypes":["text/vnd.mermaid"],"codeBlockLanguageIdentifiers":["mermaid"]}],"languageModelTools":[{"name":"renderMermaidDiagram","displayName":"Mermaid Renderer","toolReferenceName":"renderMermaidDiagram","legacyToolReferenceFullNames":["vscode.mermaid-chat-features/renderMermaidDiagram"],"canBeReferencedInPrompt":true,"modelDescription":"Renders a Mermaid diagram from Mermaid.js markup.","userDescription":"Render a Mermaid.js diagram from markup.","when":"chatSessionType == local","inputSchema":{"type":"object","properties":{"markup":{"type":"string","description":"The mermaid diagram markup to render as a Mermaid diagram. This should only be the markup of the diagram. Do not include a wrapping code block."},"title":{"type":"string","description":"A short title that describes the diagram."}}}}]},"overrides":{"lodash-es":"4.18.1"},"originalEnabledApiProposals":["chatOutputRenderer"]},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/mermaid-markdown-features","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.microsoft-authentication"},"manifest":{"name":"microsoft-authentication","publisher":"vscode","license":"MIT","displayName":"Microsoft 帐户","description":"Microsoft 身份验证提供程序","version":"0.0.1","engines":{"vscode":"^1.42.0"},"icon":"media/icon.png","categories":["Other"],"activationEvents":[],"enabledApiProposals":["nativeWindowHandle","authIssuers","authenticationChallenges"],"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"extensionKind":["ui","workspace"],"contributes":{"authentication":[{"label":"Microsoft","id":"microsoft","authorizationServerGlobs":["https://login.microsoftonline.com/*","https://login.microsoftonline.com/*/v2.0"]},{"label":"Microsoft Sovereign Cloud","id":"microsoft-sovereign-cloud"}],"configuration":[{"title":"Microsoft Sovereign Cloud","properties":{"microsoft-sovereign-cloud.environment":{"type":"string","markdownDescription":"用于身份验证的主权云。如果选择“custom”，则还必须设置`#microsoft-sovereign-cloud.customEnvironment#`。","enum":["ChinaCloud","USGovernment","custom"],"enumDescriptions":["Azure 中国","Azure 美国政府","自定义 Microsoft 主权云"]},"microsoft-sovereign-cloud.customEnvironment":{"type":"object","additionalProperties":true,"markdownDescription":"用于 Microsoft 主权云身份验证提供程序的主权云的自定义配置。使用此功能需要将`#microsoft-sovereign-cloud.environment#`设置为“custom”。","properties":{"name":{"type":"string","description":"自定义主权云的名称。"},"portalUrl":{"type":"string","description":"自定义主权云的门户 URL。"},"managementEndpointUrl":{"type":"string","description":"自定义主权云的管理终结点。"},"resourceManagerEndpointUrl":{"type":"string","description":"自定义主权云的资源管理器终结点。"},"activeDirectoryEndpointUrl":{"type":"string","description":"自定义主权云的 Active Directory 终结点。"},"activeDirectoryResourceId":{"type":"string","description":"自定义主权云的 Active Directory 资源 ID。"}},"required":["name","portalUrl","managementEndpointUrl","resourceManagerEndpointUrl","activeDirectoryEndpointUrl","activeDirectoryResourceId"]}}},{"title":"Microsoft","properties":{"microsoft-authentication.implementation":{"type":"string","default":"msal","enum":["msal","msal-no-broker"],"enumDescriptions":["使用 Microsoft 身份验证库(MSAL) 通过 Microsoft 帐户登录。","使用 Microsoft 身份验证库，以借助浏览器利用 Microsoft 帐户进行登录。如果你在使用本机代理时遇到问题，此方法会非常有用。"],"markdownDescription":"用于通过 Microsoft 帐户进行登录的身份验证实现。","tags":["onExP"]}}}]},"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","main":"./dist/extension.js","repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"},"originalEnabledApiProposals":["nativeWindowHandle","authIssuers","authenticationChallenges"]},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/microsoft-authentication","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"ms-vscode.js-debug"},"manifest":{"name":"js-debug","displayName":"JavaScript Debugger","version":"1.117.0","publisher":"ms-vscode","author":{"name":"Microsoft Corporation"},"keywords":["pwa","javascript","node","chrome","debugger"],"description":"An extension for debugging Node.js programs and Chrome.","license":"MIT","engines":{"vscode":"^1.80.0","node":">=10"},"icon":"resources/logo.png","categories":["Debuggers"],"private":true,"repository":{"type":"git","url":"https://github.com/Microsoft/vscode-pwa.git"},"bugs":{"url":"https://github.com/Microsoft/vscode-pwa/issues"},"main":"./src/extension.js","enabledApiProposals":["portsAttributes","workspaceTrust","tunnels","browser"],"extensionKind":["workspace"],"overrides":{"serialize-javascript":">=7.0.5"},"capabilities":{"virtualWorkspaces":false,"untrustedWorkspaces":{"supported":"limited","description":"必须有信任才能在此工作区中调试代码。"}},"activationEvents":["onDebugDynamicConfigurations","onDebugInitialConfigurations","onFileSystem:jsDebugNetworkFs","onDebugResolve:pwa-node","onDebugResolve:node-terminal","onDebugResolve:pwa-extensionHost","onDebugResolve:pwa-chrome","onDebugResolve:pwa-msedge","onDebugResolve:pwa-editor-browser","onDebugResolve:node","onDebugResolve:chrome","onDebugResolve:extensionHost","onDebugResolve:msedge","onDebugResolve:editor-browser","onCommand:extension.js-debug.clearAutoAttachVariables","onCommand:extension.js-debug.setAutoAttachVariables","onCommand:extension.js-debug.autoAttachToProcess","onCommand:extension.js-debug.pickNodeProcess","onCommand:extension.js-debug.requestCDPProxy","onCommand:extension.js-debug.completion.nodeTool"],"contributes":{"menus":{"commandPalette":[{"command":"extension.js-debug.prettyPrint","title":"用于调试的美观格式打印","when":"debugType == pwa-extensionHost && debugState == stopped || debugType == node-terminal && debugState == stopped || debugType == pwa-node && debugState == stopped || debugType == pwa-chrome && debugState == stopped || debugType == pwa-msedge && debugState == stopped || debugType == pwa-editor-browser && debugState == stopped"},{"command":"extension.js-debug.startProfile","title":"获取性能配置文件","when":"debugType == pwa-extensionHost && inDebugMode && !jsDebugIsProfiling || debugType == node-terminal && inDebugMode && !jsDebugIsProfiling || debugType == pwa-node && inDebugMode && !jsDebugIsProfiling || debugType == pwa-chrome && inDebugMode && !jsDebugIsProfiling || debugType == pwa-msedge && inDebugMode && !jsDebugIsProfiling || debugType == pwa-editor-browser && inDebugMode && !jsDebugIsProfiling"},{"command":"extension.js-debug.stopProfile","title":"停止性能配置文件","when":"debugType == pwa-extensionHost && inDebugMode && jsDebugIsProfiling || debugType == node-terminal && inDebugMode && jsDebugIsProfiling || debugType == pwa-node && inDebugMode && jsDebugIsProfiling || debugType == pwa-chrome && inDebugMode && jsDebugIsProfiling || debugType == pwa-msedge && inDebugMode && jsDebugIsProfiling || debugType == pwa-editor-browser && inDebugMode && jsDebugIsProfiling"},{"command":"extension.js-debug.revealPage","when":"false"},{"command":"extension.js-debug.debugLink","title":"打开链接","when":"!isWeb"},{"command":"extension.js-debug.createDiagnostics","title":"诊断断点问题","when":"debugType == pwa-extensionHost && inDebugMode || debugType == node-terminal && inDebugMode || debugType == pwa-node && inDebugMode || debugType == pwa-chrome && inDebugMode || debugType == pwa-msedge && inDebugMode || debugType == pwa-editor-browser && inDebugMode"},{"command":"extension.js-debug.getDiagnosticLogs","title":"保存诊断 JS 调试日志","when":"debugType == pwa-extensionHost && inDebugMode || debugType == node-terminal && inDebugMode || debugType == pwa-node && inDebugMode || debugType == pwa-chrome && inDebugMode || debugType == pwa-msedge && inDebugMode || debugType == pwa-editor-browser && inDebugMode"},{"command":"extension.js-debug.openEdgeDevTools","title":"打开浏览器开发工具","when":"debugType == pwa-msedge"},{"command":"extension.js-debug.callers.add","title":"排除调用方在当前位置中暂停","when":"debugType == pwa-extensionHost && debugState == \"stopped\" || debugType == node-terminal && debugState == \"stopped\" || debugType == pwa-node && debugState == \"stopped\" || debugType == pwa-chrome && debugState == \"stopped\" || debugType == pwa-msedge && debugState == \"stopped\" || debugType == pwa-editor-browser && debugState == \"stopped\""},{"command":"extension.js-debug.callers.goToCaller","when":"false"},{"command":"extension.js-debug.callers.gotToTarget","when":"false"},{"command":"extension.js-debug.network.copyUri","when":"false"},{"command":"extension.js-debug.network.openBody","when":"false"},{"command":"extension.js-debug.network.openBodyInHex","when":"false"},{"command":"extension.js-debug.network.replayXHR","when":"false"},{"command":"extension.js-debug.network.viewRequest","when":"false"},{"command":"extension.js-debug.network.clear","when":"false"},{"command":"extension.js-debug.enableSourceMapStepping","when":"jsDebugIsMapSteppingDisabled"},{"command":"extension.js-debug.disableSourceMapStepping","when":"!jsDebugIsMapSteppingDisabled"}],"debug/callstack/context":[{"command":"extension.js-debug.revealPage","group":"navigation","when":"debugType == pwa-chrome && callStackItemType == 'session' || debugType == pwa-msedge && callStackItemType == 'session' || debugType == pwa-editor-browser && callStackItemType == 'session'"},{"command":"extension.js-debug.toggleSkippingFile","group":"navigation","when":"debugType == pwa-extensionHost && callStackItemType == 'session' || debugType == node-terminal && callStackItemType == 'session' || debugType == pwa-node && callStackItemType == 'session' || debugType == pwa-chrome && callStackItemType == 'session' || debugType == pwa-msedge && callStackItemType == 'session' || debugType == pwa-editor-browser && callStackItemType == 'session'"},{"command":"extension.js-debug.startProfile","group":"navigation","when":"debugType == pwa-extensionHost && !jsDebugIsProfiling && callStackItemType == 'session' || debugType == node-terminal && !jsDebugIsProfiling && callStackItemType == 'session' || debugType == pwa-node && !jsDebugIsProfiling && callStackItemType == 'session' || debugType == pwa-chrome && !jsDebugIsProfiling && callStackItemType == 'session' || debugType == pwa-msedge && !jsDebugIsProfiling && callStackItemType == 'session' || debugType == pwa-editor-browser && !jsDebugIsProfiling && callStackItemType == 'session'"},{"command":"extension.js-debug.stopProfile","group":"navigation","when":"debugType == pwa-extensionHost && jsDebugIsProfiling && callStackItemType == 'session' || debugType == node-terminal && jsDebugIsProfiling && callStackItemType == 'session' || debugType == pwa-node && jsDebugIsProfiling && callStackItemType == 'session' || debugType == pwa-chrome && jsDebugIsProfiling && callStackItemType == 'session' || debugType == pwa-msedge && jsDebugIsProfiling && callStackItemType == 'session' || debugType == pwa-editor-browser && jsDebugIsProfiling && callStackItemType == 'session'"},{"command":"extension.js-debug.startProfile","group":"inline","when":"debugType == pwa-extensionHost && !jsDebugIsProfiling || debugType == node-terminal && !jsDebugIsProfiling || debugType == pwa-node && !jsDebugIsProfiling || debugType == pwa-chrome && !jsDebugIsProfiling || debugType == pwa-msedge && !jsDebugIsProfiling || debugType == pwa-editor-browser && !jsDebugIsProfiling"},{"command":"extension.js-debug.stopProfile","group":"inline","when":"debugType == pwa-extensionHost && jsDebugIsProfiling || debugType == node-terminal && jsDebugIsProfiling || debugType == pwa-node && jsDebugIsProfiling || debugType == pwa-chrome && jsDebugIsProfiling || debugType == pwa-msedge && jsDebugIsProfiling || debugType == pwa-editor-browser && jsDebugIsProfiling"},{"command":"extension.js-debug.callers.add","when":"debugType == pwa-extensionHost && callStackItemType == 'stackFrame' || debugType == node-terminal && callStackItemType == 'stackFrame' || debugType == pwa-node && callStackItemType == 'stackFrame' || debugType == pwa-chrome && callStackItemType == 'stackFrame' || debugType == pwa-msedge && callStackItemType == 'stackFrame' || debugType == pwa-editor-browser && callStackItemType == 'stackFrame'"}],"debug/toolBar":[{"command":"extension.js-debug.stopProfile","when":"debugType == pwa-extensionHost && jsDebugIsProfiling || debugType == node-terminal && jsDebugIsProfiling || debugType == pwa-node && jsDebugIsProfiling || debugType == pwa-chrome && jsDebugIsProfiling || debugType == pwa-msedge && jsDebugIsProfiling || debugType == pwa-editor-browser && jsDebugIsProfiling"},{"command":"extension.js-debug.openEdgeDevTools","when":"debugType == pwa-msedge"},{"command":"extension.js-debug.enableSourceMapStepping","when":"jsDebugIsMapSteppingDisabled"}],"view/title":[{"command":"extension.js-debug.addCustomBreakpoints","when":"view == jsBrowserBreakpoints","group":"navigation"},{"command":"extension.js-debug.removeAllCustomBreakpoints","when":"view == jsBrowserBreakpoints","group":"navigation"},{"command":"extension.js-debug.callers.removeAll","group":"navigation","when":"view == jsExcludedCallers"},{"command":"extension.js-debug.disableSourceMapStepping","group":"navigation","when":"debugType == pwa-extensionHost && view == workbench.debug.callStackView && !jsDebugIsMapSteppingDisabled || debugType == node-terminal && view == workbench.debug.callStackView && !jsDebugIsMapSteppingDisabled || debugType == pwa-node && view == workbench.debug.callStackView && !jsDebugIsMapSteppingDisabled || debugType == pwa-chrome && view == workbench.debug.callStackView && !jsDebugIsMapSteppingDisabled || debugType == pwa-msedge && view == workbench.debug.callStackView && !jsDebugIsMapSteppingDisabled || debugType == pwa-editor-browser && view == workbench.debug.callStackView && !jsDebugIsMapSteppingDisabled"},{"command":"extension.js-debug.enableSourceMapStepping","group":"navigation","when":"debugType == pwa-extensionHost && view == workbench.debug.callStackView && jsDebugIsMapSteppingDisabled || debugType == node-terminal && view == workbench.debug.callStackView && jsDebugIsMapSteppingDisabled || debugType == pwa-node && view == workbench.debug.callStackView && jsDebugIsMapSteppingDisabled || debugType == pwa-chrome && view == workbench.debug.callStackView && jsDebugIsMapSteppingDisabled || debugType == pwa-msedge && view == workbench.debug.callStackView && jsDebugIsMapSteppingDisabled || debugType == pwa-editor-browser && view == workbench.debug.callStackView && jsDebugIsMapSteppingDisabled"},{"command":"extension.js-debug.network.clear","group":"navigation","when":"view == jsDebugNetworkTree"}],"view/item/context":[{"command":"extension.js-debug.addXHRBreakpoints","when":"view == jsBrowserBreakpoints && viewItem == xhrBreakpoint"},{"command":"extension.js-debug.editXHRBreakpoints","when":"view == jsBrowserBreakpoints && viewItem == xhrBreakpoint","group":"inline"},{"command":"extension.js-debug.editXHRBreakpoints","when":"view == jsBrowserBreakpoints && viewItem == xhrBreakpoint"},{"command":"extension.js-debug.removeXHRBreakpoint","when":"view == jsBrowserBreakpoints && viewItem == xhrBreakpoint","group":"inline"},{"command":"extension.js-debug.removeXHRBreakpoint","when":"view == jsBrowserBreakpoints && viewItem == xhrBreakpoint"},{"command":"extension.js-debug.addXHRBreakpoints","when":"view == jsBrowserBreakpoints && viewItem == xhrCategory","group":"inline"},{"command":"extension.js-debug.callers.goToCaller","group":"inline","when":"view == jsExcludedCallers"},{"command":"extension.js-debug.callers.gotToTarget","group":"inline","when":"view == jsExcludedCallers"},{"command":"extension.js-debug.callers.remove","group":"inline","when":"view == jsExcludedCallers"},{"command":"extension.js-debug.network.viewRequest","group":"inline@1","when":"view == jsDebugNetworkTree"},{"command":"extension.js-debug.network.openBody","group":"body@1","when":"view == jsDebugNetworkTree"},{"command":"extension.js-debug.network.openBodyInHex","group":"body@2","when":"view == jsDebugNetworkTree"},{"command":"extension.js-debug.network.copyUri","group":"other@1","when":"view == jsDebugNetworkTree"},{"command":"extension.js-debug.network.replayXHR","group":"other@2","when":"view == jsDebugNetworkTree"}],"editor/title":[{"command":"extension.js-debug.prettyPrint","group":"navigation","when":"jsDebugCanPrettyPrint"}]},"breakpoints":[{"language":"javascript"},{"language":"typescript"},{"language":"typescriptreact"},{"language":"javascriptreact"},{"language":"fsharp"},{"language":"html"},{"language":"wat"},{"language":"c"},{"language":"cpp"},{"language":"rust"},{"language":"zig"}],"debuggers":[{"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","configurationAttributes":{"attach":{"properties":{"address":{"default":"localhost","description":"要调试的进程的 TCP/IP 地址。默认值为 \"localhost\"。","type":"string"},"attachExistingChildren":{"default":false,"description":"是否尝试附加到已生成的子进程。","type":"boolean"},"autoAttachChildProcesses":{"default":true,"description":"自动将调试器附加到新的子进程。","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"continueOnAttach":{"default":true,"markdownDescription":"如果为 true，我们将自动恢复启动的程序并等待 \"--inspect-brk\"","type":"boolean"},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"包含环境变量定义的文件的绝对路径。","type":"string"},"localRoot":{"default":null,"description":"包含该程序的本地目录的路径。","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"port":{"default":9229,"description":"要附加到的调试端口。默认值为 9229。","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}],"tags":["setup"]},"processId":{"default":"${command:PickProcess}","description":"要附加到的进程 ID。","type":"string"},"remoteHostHeader":{"description":"连接到检查器的 Websocket 时要使用的显式主机标头。如果未指定，主机标头将设置为 \"localhost\"。当检查器在仅接受特定主机标头的代理后面运行时，这非常有用。","type":"string"},"remoteRoot":{"default":null,"description":"包含该程序的远程目录的绝对路径。","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"如果连接断开，请尝试重新连接到该程序。如果设置为 \"true\"，将始终每秒重试一次。可通过在对象中指定 \"delay\" 和 \"maxAttempts\" 来自定义时间间隔和最大尝试次数。","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","type":"array"},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]},"websocketAddress":{"description":"要附加到的确切 websocket 地址。如果未指定，将从地址和端口中发现它。","type":"string"}}},"launch":{"properties":{"args":{"default":[],"description":"传递给程序的命令行参数。\r\n\r\n可以是字符串数组或单个字符串。在终端中启动程序时，将此属性设置为单个字符串将导致 shell 的参数无法转义。","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"如果设置，则通过给定端口附加到进程。Node.js 程序通常不再需要该设置，而且它没法再调试子进程，但在使用 Deno 和 Docker 启动等更复杂的场景中，它可能很有用。如果设置为 0，则将选择随机端口，并自动向启动参数添加 --inspect-brk。","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"自动将调试器附加到新的子进程。","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"启动调试目标的位置。","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code 调试控制台(不支持从程序读取输入)","VS Code 的集成终端","可通过用户设置来配置的外部终端"],"type":"string"},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"包含环境变量定义的文件的绝对路径。","type":"string"},"experimentalNetworking":{"default":"auto","description":"在 Node.js 中启用实验性检查。如果设置为 `自动`，则会为支持它的 Node.js 版本启用此功能。可以将其设置为 `开` 或 `关` 以显式启用或禁用它。","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"配置在停止会话时如何终止调试进程。可以是:\r\n\r\n- forceful (default): 强制关闭进程树。在 posix 上发送 SIGKILL，在 Windows 上发送 \"taskkill.exe /F\"。\r\n- polite: 正常关闭进程树。可能出现按此方式关闭后继续运行行为出错的进程的情况。在 posix 上发送 SIGTERM，在 Windows 上发送 \"taskkill.exe\" 但不带 \"/F\" (强制)标志。\r\n- 无: 将不终止。","type":"string"},"localRoot":{"default":null,"description":"包含该程序的本地目录的路径。","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"profileStartup":{"default":true,"description":"如果为 true，则将在进程启动后立即开始分析","type":"boolean"},"program":{"default":"","description":"程序的绝对路径。通过查看 package.json 和打开的文件猜测所生成的值。编辑此属性。","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"包含该程序的远程目录的绝对路径。","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"如果连接断开，请尝试重新连接到该程序。如果设置为 \"true\"，将始终每秒重试一次。可通过在对象中指定 \"delay\" 和 \"maxAttempts\" 来自定义时间间隔和最大尝试次数。","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"传递给运行时可执行文件的可选参数。","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"要使用的运行时。应为绝对路径或在 PATH 上可用的运行时名称。默认值为 \"node\"。","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"要使用的 \"node\" 运行时版本。需要 \"nvm\"。","type":"string"},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"stopOnEntry":{"default":true,"description":"启动后自动停止程序。","type":["boolean","string"]},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]}}}},"configurationSnippets":[],"deprecated":"Please use type node instead","label":"Node.js","languages":["javascript","typescript","javascriptreact","typescriptreact"],"strings":{"unverifiedBreakpoints":"无法设置某些断点。如果遇到问题，可以 [对启动配置进行故障排除](command:extension.js-debug.createDiagnostics)。"},"type":"pwa-node","variables":{"PickProcess":"extension.js-debug.pickNodeProcess"}},{"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","configurationAttributes":{"attach":{"properties":{"address":{"default":"localhost","description":"要调试的进程的 TCP/IP 地址。默认值为 \"localhost\"。","type":"string"},"attachExistingChildren":{"default":false,"description":"是否尝试附加到已生成的子进程。","type":"boolean"},"autoAttachChildProcesses":{"default":true,"description":"自动将调试器附加到新的子进程。","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"continueOnAttach":{"default":true,"markdownDescription":"如果为 true，我们将自动恢复启动的程序并等待 \"--inspect-brk\"","type":"boolean"},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"包含环境变量定义的文件的绝对路径。","type":"string"},"localRoot":{"default":null,"description":"包含该程序的本地目录的路径。","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"port":{"default":9229,"description":"要附加到的调试端口。默认值为 9229。","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}],"tags":["setup"]},"processId":{"default":"${command:PickProcess}","description":"要附加到的进程 ID。","type":"string"},"remoteHostHeader":{"description":"连接到检查器的 Websocket 时要使用的显式主机标头。如果未指定，主机标头将设置为 \"localhost\"。当检查器在仅接受特定主机标头的代理后面运行时，这非常有用。","type":"string"},"remoteRoot":{"default":null,"description":"包含该程序的远程目录的绝对路径。","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"如果连接断开，请尝试重新连接到该程序。如果设置为 \"true\"，将始终每秒重试一次。可通过在对象中指定 \"delay\" 和 \"maxAttempts\" 来自定义时间间隔和最大尝试次数。","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","type":"array"},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]},"websocketAddress":{"description":"要附加到的确切 websocket 地址。如果未指定，将从地址和端口中发现它。","type":"string"}}},"launch":{"properties":{"args":{"default":[],"description":"传递给程序的命令行参数。\r\n\r\n可以是字符串数组或单个字符串。在终端中启动程序时，将此属性设置为单个字符串将导致 shell 的参数无法转义。","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"如果设置，则通过给定端口附加到进程。Node.js 程序通常不再需要该设置，而且它没法再调试子进程，但在使用 Deno 和 Docker 启动等更复杂的场景中，它可能很有用。如果设置为 0，则将选择随机端口，并自动向启动参数添加 --inspect-brk。","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"自动将调试器附加到新的子进程。","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"启动调试目标的位置。","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code 调试控制台(不支持从程序读取输入)","VS Code 的集成终端","可通过用户设置来配置的外部终端"],"type":"string"},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"包含环境变量定义的文件的绝对路径。","type":"string"},"experimentalNetworking":{"default":"auto","description":"在 Node.js 中启用实验性检查。如果设置为 `自动`，则会为支持它的 Node.js 版本启用此功能。可以将其设置为 `开` 或 `关` 以显式启用或禁用它。","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"配置在停止会话时如何终止调试进程。可以是:\r\n\r\n- forceful (default): 强制关闭进程树。在 posix 上发送 SIGKILL，在 Windows 上发送 \"taskkill.exe /F\"。\r\n- polite: 正常关闭进程树。可能出现按此方式关闭后继续运行行为出错的进程的情况。在 posix 上发送 SIGTERM，在 Windows 上发送 \"taskkill.exe\" 但不带 \"/F\" (强制)标志。\r\n- 无: 将不终止。","type":"string"},"localRoot":{"default":null,"description":"包含该程序的本地目录的路径。","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"profileStartup":{"default":true,"description":"如果为 true，则将在进程启动后立即开始分析","type":"boolean"},"program":{"default":"","description":"程序的绝对路径。通过查看 package.json 和打开的文件猜测所生成的值。编辑此属性。","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"包含该程序的远程目录的绝对路径。","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"如果连接断开，请尝试重新连接到该程序。如果设置为 \"true\"，将始终每秒重试一次。可通过在对象中指定 \"delay\" 和 \"maxAttempts\" 来自定义时间间隔和最大尝试次数。","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"传递给运行时可执行文件的可选参数。","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"要使用的运行时。应为绝对路径或在 PATH 上可用的运行时名称。默认值为 \"node\"。","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"要使用的 \"node\" 运行时版本。需要 \"nvm\"。","type":"string"},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"stopOnEntry":{"default":true,"description":"启动后自动停止程序。","type":["boolean","string"]},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]}}}},"configurationSnippets":[{"body":{"name":"${1:Attach}","port":9229,"request":"attach","skipFiles":["<node_internals>/**"],"type":"node"},"description":"附加到正在运行的 node 程序","label":"Node.js: 附加"},{"body":{"address":"${2:TCP/IP address of process to be debugged}","localRoot":"^\"\\${workspaceFolder}\"","name":"${1:Attach to Remote}","port":9229,"remoteRoot":"${3:Absolute path to the remote directory containing the program}","request":"attach","skipFiles":["<node_internals>/**"],"type":"node"},"description":"附加到远程节点计划的调试端口","label":"Node.js: 附加到远程程序"},{"body":{"name":"${1:Attach by Process ID}","processId":"^\"\\${command:PickProcess}\"","request":"attach","skipFiles":["<node_internals>/**"],"type":"node"},"description":"打开进程选取器并选择附加到的 node 进程","label":"Node.js: 附加到进程"},{"body":{"name":"${2:Launch Program}","program":"^\"\\${workspaceFolder}/${1:app.js}\"","request":"launch","skipFiles":["<node_internals>/**"],"type":"node"},"description":"在调试模式下启动节点计划","label":"Node.js: 启动程序"},{"body":{"name":"${1:Launch via NPM}","request":"launch","runtimeArgs":["run-script","debug"],"runtimeExecutable":"npm","skipFiles":["<node_internals>/**"],"type":"node"},"label":"Node.js: 通过 npm 启动","markdownDescription":"通过 npm \"debug\" 脚本启动 node 程序"},{"body":{"console":"integratedTerminal","internalConsoleOptions":"neverOpen","name":"nodemon","program":"^\"\\${workspaceFolder}/${1:app.js}\"","request":"launch","restart":true,"runtimeExecutable":"nodemon","skipFiles":["<node_internals>/**"],"type":"node"},"description":"使用 nodemon 以在源更改时重新启动调试会话","label":"Node.js: Nodemon 安装程序"},{"body":{"args":["-u","tdd","--timeout","999999","--colors","^\"\\${workspaceFolder}/${1:test}\""],"internalConsoleOptions":"openOnSessionStart","name":"Mocha Tests","program":"^\"mocha\"","request":"launch","skipFiles":["<node_internals>/**"],"type":"node"},"description":"调试 mocha 测试","label":"Node.js: Mocha 测试"},{"body":{"args":["${1:generator}"],"console":"integratedTerminal","internalConsoleOptions":"neverOpen","name":"Yeoman ${1:generator}","program":"^\"\\${workspaceFolder}/node_modules/yo/lib/cli.js\"","request":"launch","skipFiles":["<node_internals>/**"],"type":"node"},"label":"Node.js: Yeoman 生成器","markdownDescription":"调试 yeoman 生成器 (通过在项目文件夹中运行 \"npm link\" 进行安装)"},{"body":{"args":["${1:task}"],"name":"Gulp ${1:task}","program":"^\"\\${workspaceFolder}/node_modules/gulp/bin/gulp.js\"","request":"launch","skipFiles":["<node_internals>/**"],"type":"node"},"description":"调试 Gulp 任务(确保项目中已安装本地 Gulp)","label":"Node.js: Gulp 任务"},{"body":{"name":"Electron Main","program":"^\"\\${workspaceFolder}/main.js\"","request":"launch","runtimeExecutable":"^\"electron\"","skipFiles":["<node_internals>/**"],"type":"node"},"description":"调试 Electron 主进程","label":"Node.js: Electron 主进程"}],"label":"Node.js","strings":{"unverifiedBreakpoints":"无法设置某些断点。如果遇到问题，可以 [对启动配置进行故障排除](command:extension.js-debug.createDiagnostics)。"},"type":"node","variables":{"PickProcess":"extension.js-debug.pickNodeProcess"}},{"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","configurationAttributes":{"launch":{"properties":{"autoAttachChildProcesses":{"default":true,"description":"自动将调试器附加到新的子进程。","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"在启动的终端中运行命令。如果未提供命令，终端将在不启动程序的情况下打开。","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"包含环境变量定义的文件的绝对路径。","type":"string"},"localRoot":{"default":null,"description":"包含该程序的本地目录的路径。","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"remoteRoot":{"default":null,"description":"包含该程序的远程目录的绝对路径。","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","type":"array"},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]}}}},"configurationSnippets":[{"body":{"command":"npm start","name":"Run npm start","request":"launch","type":"node-terminal"},"description":"在调试终端中运行 \"npm start\"","label":"在调试终端中运行 \"npm start\""}],"label":"JavaScript 调试终端","languages":[],"strings":{"unverifiedBreakpoints":"无法设置某些断点。如果遇到问题，可以 [对启动配置进行故障排除](command:extension.js-debug.createDiagnostics)。"},"type":"node-terminal"},{"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","configurationAttributes":{"launch":{"properties":{"args":{"default":["--extensionDevelopmentPath=${workspaceFolder}"],"description":"传递给程序的命令行参数。\r\n\r\n可以是字符串数组或单个字符串。在终端中启动程序时，将此属性设置为单个字符串将导致 shell 的参数无法转义。","items":{"type":"string"},"tags":["setup"],"type":"array"},"autoAttachChildProcesses":{"default":true,"description":"自动将调试器附加到新的子进程。","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","tags":["setup"],"type":"string"},"debugWebWorkerHost":{"default":true,"markdownDescription":"配置是否应尝试附加到 Web 辅助进程扩展主机。","type":["boolean"]},"debugWebviews":{"default":true,"markdownDescription":"配置是否应尝试附加到已启动 VS Code 实例中的 Web 视图。此操作仅适用于桌面 VS Code。","type":["boolean"]},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"包含环境变量定义的文件的绝对路径。","type":"string"},"localRoot":{"default":null,"description":"包含该程序的本地目录的路径。","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"remoteRoot":{"default":null,"description":"包含该程序的远程目录的绝对路径。","type":["string","null"]},"rendererDebugOptions":{"default":{"webRoot":"${workspaceFolder}"},"markdownDescription":"附加到呈现器进程时使用的 Chrome 启动选项，具有 \"debugWebviews\" 或 \"debugWebWorkerHost\"。","properties":{"address":{"default":"localhost","description":"调试的浏览器正在侦听的 IP 地址或主机名。","type":"string"},"browserAttachLocation":{"default":null,"description":"强制在一个位置连接浏览器。在远程工作区中(例如通过 ssh 或 WSL)，这可用于在远程计算机上而不是在本地连接浏览器。","oneOf":[{"type":"null"},{"enum":["ui","workspace"],"type":"string"}]},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"disableNetworkCache":{"default":true,"description":"控制是否跳过每个请求的网络缓存","type":"boolean"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"inspectUri":{"default":null,"description":"用于重写 inspectUri 的格式: 这是一个模板字符串，可插入 \"{curlyBraces}\" 中的键。可用的键包括:\r\n - \"url.*\" 是正在运行的应用程序的解析地址，例如 \"{url.port}\" 和 \"{url.hostname}\"\r\n - \"port\" 是 Chrome 正在侦听的调试端口。\r\n - \"browserInspectUri\" 是启动的浏览器上的检查器 URI\r\n - \"browserInspectUriPath\" 是启动的浏览器上的检查器 URI 的路径部分(例如 \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\")。\r\n - \"wsProtocol\" 是提示的 websocket 协议。如果原始 URL 为 \"https\"，则设置为 \"wss\"，否则为 \"ws\"。\r\n","type":["string","null"]},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pathMapping":{"default":{},"description":"将 URL/路径映射到本地文件夹，以将浏览器中的脚本解析为磁盘上的脚本","type":"object"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"perScriptSourcemaps":{"default":"auto","description":"是否使用包含源文件基本名称的唯一源映射单独加载脚本。处理大量小型脚本时，可以设置此项来优化源映射处理。如果设置为“自动”，将在可以检测已知用例时进行检测。","enum":["yes","no","auto"],"type":"string"},"port":{"default":9229,"description":"用于远程调试浏览器的端口，在启动浏览器时通过 `--remote-debugging-port` 指定。","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}],"tags":["setup"]},"resolveSourceMapLocations":{"default":null,"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"restart":{"default":false,"markdownDescription":"是否在浏览器连接关闭时重新连接","type":"boolean"},"server":{"oneOf":[{"additionalProperties":false,"default":{"program":"node my-server.js"},"description":"配置要启动的 Web 服务器。采用与 \"node\" 启动任务相同的配置。","properties":{"args":{"default":[],"description":"传递给程序的命令行参数。\r\n\r\n可以是字符串数组或单个字符串。在终端中启动程序时，将此属性设置为单个字符串将导致 shell 的参数无法转义。","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"如果设置，则通过给定端口附加到进程。Node.js 程序通常不再需要该设置，而且它没法再调试子进程，但在使用 Deno 和 Docker 启动等更复杂的场景中，它可能很有用。如果设置为 0，则将选择随机端口，并自动向启动参数添加 --inspect-brk。","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"自动将调试器附加到新的子进程。","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"启动调试目标的位置。","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code 调试控制台(不支持从程序读取输入)","VS Code 的集成终端","可通过用户设置来配置的外部终端"],"type":"string"},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"包含环境变量定义的文件的绝对路径。","type":"string"},"experimentalNetworking":{"default":"auto","description":"在 Node.js 中启用实验性检查。如果设置为 `自动`，则会为支持它的 Node.js 版本启用此功能。可以将其设置为 `开` 或 `关` 以显式启用或禁用它。","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"配置在停止会话时如何终止调试进程。可以是:\r\n\r\n- forceful (default): 强制关闭进程树。在 posix 上发送 SIGKILL，在 Windows 上发送 \"taskkill.exe /F\"。\r\n- polite: 正常关闭进程树。可能出现按此方式关闭后继续运行行为出错的进程的情况。在 posix 上发送 SIGTERM，在 Windows 上发送 \"taskkill.exe\" 但不带 \"/F\" (强制)标志。\r\n- 无: 将不终止。","type":"string"},"localRoot":{"default":null,"description":"包含该程序的本地目录的路径。","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"profileStartup":{"default":true,"description":"如果为 true，则将在进程启动后立即开始分析","type":"boolean"},"program":{"default":"","description":"程序的绝对路径。通过查看 package.json 和打开的文件猜测所生成的值。编辑此属性。","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"包含该程序的远程目录的绝对路径。","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"如果连接断开，请尝试重新连接到该程序。如果设置为 \"true\"，将始终每秒重试一次。可通过在对象中指定 \"delay\" 和 \"maxAttempts\" 来自定义时间间隔和最大尝试次数。","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"传递给运行时可执行文件的可选参数。","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"要使用的运行时。应为绝对路径或在 PATH 上可用的运行时名称。默认值为 \"node\"。","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"要使用的 \"node\" 运行时版本。需要 \"nvm\"。","type":"string"},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"stopOnEntry":{"default":true,"description":"启动后自动停止程序。","type":["boolean","string"]},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]}},"type":"object"},{"additionalProperties":false,"default":{"program":"npm start"},"description":"JavaScript 调试终端","properties":{"autoAttachChildProcesses":{"default":true,"description":"自动将调试器附加到新的子进程。","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"在启动的终端中运行命令。如果未提供命令，终端将在不启动程序的情况下打开。","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"包含环境变量定义的文件的绝对路径。","type":"string"},"localRoot":{"default":null,"description":"包含该程序的本地目录的路径。","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"remoteRoot":{"default":null,"description":"包含该程序的远程目录的绝对路径。","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","type":"array"},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]}},"type":"object"}]},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"targetSelection":{"default":"automatic","enum":["pick","automatic"],"markdownDescription":"是附加到与 URL 筛选器匹配的所有目标(“自动”)还是要求选择一个(“选择”)。","type":"string"},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]},"url":{"default":"http://localhost:8080","description":"将搜索具有此确切网址的标签并附加到该标签(若找到)","tags":["setup"],"type":"string"},"urlFilter":{"default":"","description":"将使用此 URL 搜索页面，找到后将连接到该页面。可使用 * 通配符。","type":"string"},"vueComponentPaths":{"default":["${workspaceFolder}/**/*.vue"],"description":"用于查找 \"*.vue\" 组件的文件 glob 模式的列表。默认搜索整个工作区。需要指定此项，因为 Vue 的源映射需要在 Vue CLI 4 中进行额外查找。可通过将此项设置为空数组来禁用此特殊处理。","type":"array"},"webRoot":{"default":"${workspaceFolder}","description":"此设置指定 Web 服务器根的工作区绝对路径。用于将 `/app.js` 等路径解析为磁盘上的文件。pathMapping 的速记方式为 \"/\"","tags":["setup"],"type":"string"}},"type":"object"},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"runtimeExecutable":{"default":"node","markdownDescription":"VS Code 的绝对路径。","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","type":"array"},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"testConfiguration":{"default":"${workspaceFolder}/.vscode-test.js","markdownDescription":"[测试 CLI](https://code.visualstudio.com/api/working-with-extensions/testing-extension#quick-setup-the-test-cli) 的测试配置文件的路径。","type":"string"},"testConfigurationLabel":{"default":"","markdownDescription":"要从文件中运行的单个配置。如果未指定，系统可能会要求你选取。","type":"string"},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]}},"required":[]}},"configurationSnippets":[],"deprecated":"Please use type extensionHost instead","label":"VS Code 扩展开发","languages":["javascript","typescript","javascriptreact","typescriptreact"],"strings":{"unverifiedBreakpoints":"无法设置某些断点。如果遇到问题，可以 [对启动配置进行故障排除](command:extension.js-debug.createDiagnostics)。"},"type":"pwa-extensionHost"},{"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","configurationAttributes":{"launch":{"properties":{"args":{"default":["--extensionDevelopmentPath=${workspaceFolder}"],"description":"传递给程序的命令行参数。\r\n\r\n可以是字符串数组或单个字符串。在终端中启动程序时，将此属性设置为单个字符串将导致 shell 的参数无法转义。","items":{"type":"string"},"tags":["setup"],"type":"array"},"autoAttachChildProcesses":{"default":true,"description":"自动将调试器附加到新的子进程。","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","tags":["setup"],"type":"string"},"debugWebWorkerHost":{"default":true,"markdownDescription":"配置是否应尝试附加到 Web 辅助进程扩展主机。","type":["boolean"]},"debugWebviews":{"default":true,"markdownDescription":"配置是否应尝试附加到已启动 VS Code 实例中的 Web 视图。此操作仅适用于桌面 VS Code。","type":["boolean"]},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"包含环境变量定义的文件的绝对路径。","type":"string"},"localRoot":{"default":null,"description":"包含该程序的本地目录的路径。","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"remoteRoot":{"default":null,"description":"包含该程序的远程目录的绝对路径。","type":["string","null"]},"rendererDebugOptions":{"default":{"webRoot":"${workspaceFolder}"},"markdownDescription":"附加到呈现器进程时使用的 Chrome 启动选项，具有 \"debugWebviews\" 或 \"debugWebWorkerHost\"。","properties":{"address":{"default":"localhost","description":"调试的浏览器正在侦听的 IP 地址或主机名。","type":"string"},"browserAttachLocation":{"default":null,"description":"强制在一个位置连接浏览器。在远程工作区中(例如通过 ssh 或 WSL)，这可用于在远程计算机上而不是在本地连接浏览器。","oneOf":[{"type":"null"},{"enum":["ui","workspace"],"type":"string"}]},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"disableNetworkCache":{"default":true,"description":"控制是否跳过每个请求的网络缓存","type":"boolean"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"inspectUri":{"default":null,"description":"用于重写 inspectUri 的格式: 这是一个模板字符串，可插入 \"{curlyBraces}\" 中的键。可用的键包括:\r\n - \"url.*\" 是正在运行的应用程序的解析地址，例如 \"{url.port}\" 和 \"{url.hostname}\"\r\n - \"port\" 是 Chrome 正在侦听的调试端口。\r\n - \"browserInspectUri\" 是启动的浏览器上的检查器 URI\r\n - \"browserInspectUriPath\" 是启动的浏览器上的检查器 URI 的路径部分(例如 \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\")。\r\n - \"wsProtocol\" 是提示的 websocket 协议。如果原始 URL 为 \"https\"，则设置为 \"wss\"，否则为 \"ws\"。\r\n","type":["string","null"]},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pathMapping":{"default":{},"description":"将 URL/路径映射到本地文件夹，以将浏览器中的脚本解析为磁盘上的脚本","type":"object"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"perScriptSourcemaps":{"default":"auto","description":"是否使用包含源文件基本名称的唯一源映射单独加载脚本。处理大量小型脚本时，可以设置此项来优化源映射处理。如果设置为“自动”，将在可以检测已知用例时进行检测。","enum":["yes","no","auto"],"type":"string"},"port":{"default":9229,"description":"用于远程调试浏览器的端口，在启动浏览器时通过 `--remote-debugging-port` 指定。","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}],"tags":["setup"]},"resolveSourceMapLocations":{"default":null,"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"restart":{"default":false,"markdownDescription":"是否在浏览器连接关闭时重新连接","type":"boolean"},"server":{"oneOf":[{"additionalProperties":false,"default":{"program":"node my-server.js"},"description":"配置要启动的 Web 服务器。采用与 \"node\" 启动任务相同的配置。","properties":{"args":{"default":[],"description":"传递给程序的命令行参数。\r\n\r\n可以是字符串数组或单个字符串。在终端中启动程序时，将此属性设置为单个字符串将导致 shell 的参数无法转义。","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"如果设置，则通过给定端口附加到进程。Node.js 程序通常不再需要该设置，而且它没法再调试子进程，但在使用 Deno 和 Docker 启动等更复杂的场景中，它可能很有用。如果设置为 0，则将选择随机端口，并自动向启动参数添加 --inspect-brk。","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"自动将调试器附加到新的子进程。","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"启动调试目标的位置。","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code 调试控制台(不支持从程序读取输入)","VS Code 的集成终端","可通过用户设置来配置的外部终端"],"type":"string"},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"包含环境变量定义的文件的绝对路径。","type":"string"},"experimentalNetworking":{"default":"auto","description":"在 Node.js 中启用实验性检查。如果设置为 `自动`，则会为支持它的 Node.js 版本启用此功能。可以将其设置为 `开` 或 `关` 以显式启用或禁用它。","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"配置在停止会话时如何终止调试进程。可以是:\r\n\r\n- forceful (default): 强制关闭进程树。在 posix 上发送 SIGKILL，在 Windows 上发送 \"taskkill.exe /F\"。\r\n- polite: 正常关闭进程树。可能出现按此方式关闭后继续运行行为出错的进程的情况。在 posix 上发送 SIGTERM，在 Windows 上发送 \"taskkill.exe\" 但不带 \"/F\" (强制)标志。\r\n- 无: 将不终止。","type":"string"},"localRoot":{"default":null,"description":"包含该程序的本地目录的路径。","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"profileStartup":{"default":true,"description":"如果为 true，则将在进程启动后立即开始分析","type":"boolean"},"program":{"default":"","description":"程序的绝对路径。通过查看 package.json 和打开的文件猜测所生成的值。编辑此属性。","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"包含该程序的远程目录的绝对路径。","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"如果连接断开，请尝试重新连接到该程序。如果设置为 \"true\"，将始终每秒重试一次。可通过在对象中指定 \"delay\" 和 \"maxAttempts\" 来自定义时间间隔和最大尝试次数。","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"传递给运行时可执行文件的可选参数。","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"要使用的运行时。应为绝对路径或在 PATH 上可用的运行时名称。默认值为 \"node\"。","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"要使用的 \"node\" 运行时版本。需要 \"nvm\"。","type":"string"},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"stopOnEntry":{"default":true,"description":"启动后自动停止程序。","type":["boolean","string"]},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]}},"type":"object"},{"additionalProperties":false,"default":{"program":"npm start"},"description":"JavaScript 调试终端","properties":{"autoAttachChildProcesses":{"default":true,"description":"自动将调试器附加到新的子进程。","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"在启动的终端中运行命令。如果未提供命令，终端将在不启动程序的情况下打开。","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"包含环境变量定义的文件的绝对路径。","type":"string"},"localRoot":{"default":null,"description":"包含该程序的本地目录的路径。","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"remoteRoot":{"default":null,"description":"包含该程序的远程目录的绝对路径。","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","type":"array"},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]}},"type":"object"}]},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"targetSelection":{"default":"automatic","enum":["pick","automatic"],"markdownDescription":"是附加到与 URL 筛选器匹配的所有目标(“自动”)还是要求选择一个(“选择”)。","type":"string"},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]},"url":{"default":"http://localhost:8080","description":"将搜索具有此确切网址的标签并附加到该标签(若找到)","tags":["setup"],"type":"string"},"urlFilter":{"default":"","description":"将使用此 URL 搜索页面，找到后将连接到该页面。可使用 * 通配符。","type":"string"},"vueComponentPaths":{"default":["${workspaceFolder}/**/*.vue"],"description":"用于查找 \"*.vue\" 组件的文件 glob 模式的列表。默认搜索整个工作区。需要指定此项，因为 Vue 的源映射需要在 Vue CLI 4 中进行额外查找。可通过将此项设置为空数组来禁用此特殊处理。","type":"array"},"webRoot":{"default":"${workspaceFolder}","description":"此设置指定 Web 服务器根的工作区绝对路径。用于将 `/app.js` 等路径解析为磁盘上的文件。pathMapping 的速记方式为 \"/\"","tags":["setup"],"type":"string"}},"type":"object"},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"runtimeExecutable":{"default":"node","markdownDescription":"VS Code 的绝对路径。","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","type":"array"},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"testConfiguration":{"default":"${workspaceFolder}/.vscode-test.js","markdownDescription":"[测试 CLI](https://code.visualstudio.com/api/working-with-extensions/testing-extension#quick-setup-the-test-cli) 的测试配置文件的路径。","type":"string"},"testConfigurationLabel":{"default":"","markdownDescription":"要从文件中运行的单个配置。如果未指定，系统可能会要求你选取。","type":"string"},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]}},"required":[]}},"configurationSnippets":[{"body":{"args":["^\"--extensionDevelopmentPath=\\${workspaceFolder}\""],"name":"启动扩展","outFiles":["^\"\\${workspaceFolder}/out/**/*.js\""],"preLaunchTask":"npm","request":"launch","type":"extensionHost"},"description":"在调试模式下启动 VS Code 扩展","label":"VS Code 扩展开发"}],"label":"VS Code 扩展开发","strings":{"unverifiedBreakpoints":"无法设置某些断点。如果遇到问题，可以 [对启动配置进行故障排除](command:extension.js-debug.createDiagnostics)。"},"type":"extensionHost"},{"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","configurationAttributes":{"attach":{"properties":{"address":{"default":"localhost","description":"调试的浏览器正在侦听的 IP 地址或主机名。","type":"string"},"browserAttachLocation":{"default":null,"description":"强制在一个位置连接浏览器。在远程工作区中(例如通过 ssh 或 WSL)，这可用于在远程计算机上而不是在本地连接浏览器。","oneOf":[{"type":"null"},{"enum":["ui","workspace"],"type":"string"}]},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"disableNetworkCache":{"default":true,"description":"控制是否跳过每个请求的网络缓存","type":"boolean"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"inspectUri":{"default":null,"description":"用于重写 inspectUri 的格式: 这是一个模板字符串，可插入 \"{curlyBraces}\" 中的键。可用的键包括:\r\n - \"url.*\" 是正在运行的应用程序的解析地址，例如 \"{url.port}\" 和 \"{url.hostname}\"\r\n - \"port\" 是 Chrome 正在侦听的调试端口。\r\n - \"browserInspectUri\" 是启动的浏览器上的检查器 URI\r\n - \"browserInspectUriPath\" 是启动的浏览器上的检查器 URI 的路径部分(例如 \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\")。\r\n - \"wsProtocol\" 是提示的 websocket 协议。如果原始 URL 为 \"https\"，则设置为 \"wss\"，否则为 \"ws\"。\r\n","type":["string","null"]},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pathMapping":{"default":{},"description":"将 URL/路径映射到本地文件夹，以将浏览器中的脚本解析为磁盘上的脚本","type":"object"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"perScriptSourcemaps":{"default":"auto","description":"是否使用包含源文件基本名称的唯一源映射单独加载脚本。处理大量小型脚本时，可以设置此项来优化源映射处理。如果设置为“自动”，将在可以检测已知用例时进行检测。","enum":["yes","no","auto"],"type":"string"},"port":{"default":9229,"description":"用于远程调试浏览器的端口，在启动浏览器时通过 `--remote-debugging-port` 指定。","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}],"tags":["setup"]},"resolveSourceMapLocations":{"default":null,"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"restart":{"default":false,"markdownDescription":"是否在浏览器连接关闭时重新连接","type":"boolean"},"server":{"oneOf":[{"additionalProperties":false,"default":{"program":"node my-server.js"},"description":"配置要启动的 Web 服务器。采用与 \"node\" 启动任务相同的配置。","properties":{"args":{"default":[],"description":"传递给程序的命令行参数。\r\n\r\n可以是字符串数组或单个字符串。在终端中启动程序时，将此属性设置为单个字符串将导致 shell 的参数无法转义。","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"如果设置，则通过给定端口附加到进程。Node.js 程序通常不再需要该设置，而且它没法再调试子进程，但在使用 Deno 和 Docker 启动等更复杂的场景中，它可能很有用。如果设置为 0，则将选择随机端口，并自动向启动参数添加 --inspect-brk。","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"自动将调试器附加到新的子进程。","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"启动调试目标的位置。","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code 调试控制台(不支持从程序读取输入)","VS Code 的集成终端","可通过用户设置来配置的外部终端"],"type":"string"},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"包含环境变量定义的文件的绝对路径。","type":"string"},"experimentalNetworking":{"default":"auto","description":"在 Node.js 中启用实验性检查。如果设置为 `自动`，则会为支持它的 Node.js 版本启用此功能。可以将其设置为 `开` 或 `关` 以显式启用或禁用它。","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"配置在停止会话时如何终止调试进程。可以是:\r\n\r\n- forceful (default): 强制关闭进程树。在 posix 上发送 SIGKILL，在 Windows 上发送 \"taskkill.exe /F\"。\r\n- polite: 正常关闭进程树。可能出现按此方式关闭后继续运行行为出错的进程的情况。在 posix 上发送 SIGTERM，在 Windows 上发送 \"taskkill.exe\" 但不带 \"/F\" (强制)标志。\r\n- 无: 将不终止。","type":"string"},"localRoot":{"default":null,"description":"包含该程序的本地目录的路径。","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"profileStartup":{"default":true,"description":"如果为 true，则将在进程启动后立即开始分析","type":"boolean"},"program":{"default":"","description":"程序的绝对路径。通过查看 package.json 和打开的文件猜测所生成的值。编辑此属性。","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"包含该程序的远程目录的绝对路径。","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"如果连接断开，请尝试重新连接到该程序。如果设置为 \"true\"，将始终每秒重试一次。可通过在对象中指定 \"delay\" 和 \"maxAttempts\" 来自定义时间间隔和最大尝试次数。","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"传递给运行时可执行文件的可选参数。","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"要使用的运行时。应为绝对路径或在 PATH 上可用的运行时名称。默认值为 \"node\"。","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"要使用的 \"node\" 运行时版本。需要 \"nvm\"。","type":"string"},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"stopOnEntry":{"default":true,"description":"启动后自动停止程序。","type":["boolean","string"]},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]}},"type":"object"},{"additionalProperties":false,"default":{"program":"npm start"},"description":"JavaScript 调试终端","properties":{"autoAttachChildProcesses":{"default":true,"description":"自动将调试器附加到新的子进程。","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"在启动的终端中运行命令。如果未提供命令，终端将在不启动程序的情况下打开。","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"包含环境变量定义的文件的绝对路径。","type":"string"},"localRoot":{"default":null,"description":"包含该程序的本地目录的路径。","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"remoteRoot":{"default":null,"description":"包含该程序的远程目录的绝对路径。","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","type":"array"},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]}},"type":"object"}]},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"targetSelection":{"default":"automatic","enum":["pick","automatic"],"markdownDescription":"是附加到与 URL 筛选器匹配的所有目标(“自动”)还是要求选择一个(“选择”)。","type":"string"},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]},"url":{"default":"http://localhost:8080","description":"将搜索具有此确切网址的标签并附加到该标签(若找到)","tags":["setup"],"type":"string"},"urlFilter":{"default":"","description":"将使用此 URL 搜索页面，找到后将连接到该页面。可使用 * 通配符。","type":"string"},"vueComponentPaths":{"default":["${workspaceFolder}/**/*.vue"],"description":"用于查找 \"*.vue\" 组件的文件 glob 模式的列表。默认搜索整个工作区。需要指定此项，因为 Vue 的源映射需要在 Vue CLI 4 中进行额外查找。可通过将此项设置为空数组来禁用此特殊处理。","type":"array"},"webRoot":{"default":"${workspaceFolder}","description":"此设置指定 Web 服务器根的工作区绝对路径。用于将 `/app.js` 等路径解析为磁盘上的文件。pathMapping 的速记方式为 \"/\"","tags":["setup"],"type":"string"}}},"launch":{"properties":{"browserLaunchLocation":{"default":null,"description":"强制在一个位置启动浏览器。在远程工作区中(例如通过 ssh 或 WSL)，这可用于在远程计算机上而不是在本地打开浏览器。","oneOf":[{"type":"null"},{"enum":["ui","workspace"],"type":"string"}]},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"cleanUp":{"default":"wholeBrowser","description":"调试会话完成后的清理操作:“仅关闭正在调试的选项卡”和“关闭整个浏览器”。","enum":["wholeBrowser","onlyTab"],"type":"string"},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":null,"description":"运行时可执行文件的可选工作目录。","type":"string"},"disableNetworkCache":{"default":true,"description":"控制是否跳过每个请求的网络缓存","type":"boolean"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"default":{},"description":"浏览器的环境键/值对的可选字典。","type":"object"},"file":{"default":"${workspaceFolder}/index.html","description":"要在浏览器中打开的本地 HTML 文件","tags":["setup"],"type":"string"},"includeDefaultArgs":{"default":true,"description":"启动中是否包括默认浏览器启动参数(以禁用可能使调试更加困难的功能)。","type":"boolean"},"includeLaunchArgs":{"default":true,"description":"高级: 是否在浏览器上设置任何默认启动/调试参数。调试器将假定浏览器将使用管道调试，如`--remote-debugging-pipe`提供的管道调试。","type":"boolean"},"inspectUri":{"default":null,"description":"用于重写 inspectUri 的格式: 这是一个模板字符串，可插入 \"{curlyBraces}\" 中的键。可用的键包括:\r\n - \"url.*\" 是正在运行的应用程序的解析地址，例如 \"{url.port}\" 和 \"{url.hostname}\"\r\n - \"port\" 是 Chrome 正在侦听的调试端口。\r\n - \"browserInspectUri\" 是启动的浏览器上的检查器 URI\r\n - \"browserInspectUriPath\" 是启动的浏览器上的检查器 URI 的路径部分(例如 \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\")。\r\n - \"wsProtocol\" 是提示的 websocket 协议。如果原始 URL 为 \"https\"，则设置为 \"wss\"，否则为 \"ws\"。\r\n","type":["string","null"]},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"配置如何在停止与 `cleanUp: wholeBrowser` 的会话时终止浏览器进程。可以是:\r\n\r\n- forceful (默认): 强制关闭进程树。在 posix 上发送 SIGKILL，在 Windows 上发送 `taskkill.exe /F`。\r\n- polite: 正常关闭进程树。使用此方式关闭后，行为异常的进程可能会继续运行。在 posix 上发送 SIGTERM，或在 Windows 上发送 `taskkill.exe` 但不带 `/F` (强制)标志。\r\n- none: 不会发生终止。","type":"string"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pathMapping":{"default":{},"description":"将 URL/路径映射到本地文件夹，以将浏览器中的脚本解析为磁盘上的脚本","type":"object"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"perScriptSourcemaps":{"default":"auto","description":"是否使用包含源文件基本名称的唯一源映射单独加载脚本。处理大量小型脚本时，可以设置此项来优化源映射处理。如果设置为“自动”，将在可以检测已知用例时进行检测。","enum":["yes","no","auto"],"type":"string"},"port":{"default":0,"description":"浏览器侦听的端口。默认值为“0”，这将导致浏览器通过管道进行调试，这通常更安全，除非需要从其他工具连接到浏览器，否则应选择该值。","type":"number"},"profileStartup":{"default":true,"description":"如果为 true，则将在进程启动后立即开始分析","type":"boolean"},"resolveSourceMapLocations":{"default":null,"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"runtimeArgs":{"default":[],"description":"传递给运行时可执行文件的可选参数。","items":{"type":"string"},"type":"array"},"runtimeExecutable":{"default":"stable","description":"\"canary\"、\"stable\"、\"custom\" 或浏览器可执行文件的路径。 Custom 表示自定义包装器、自定义生成或 CHROME_PATH 环境变量。","type":["string","null"]},"server":{"oneOf":[{"additionalProperties":false,"default":{"program":"node my-server.js"},"description":"配置要启动的 Web 服务器。采用与 \"node\" 启动任务相同的配置。","properties":{"args":{"default":[],"description":"传递给程序的命令行参数。\r\n\r\n可以是字符串数组或单个字符串。在终端中启动程序时，将此属性设置为单个字符串将导致 shell 的参数无法转义。","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"如果设置，则通过给定端口附加到进程。Node.js 程序通常不再需要该设置，而且它没法再调试子进程，但在使用 Deno 和 Docker 启动等更复杂的场景中，它可能很有用。如果设置为 0，则将选择随机端口，并自动向启动参数添加 --inspect-brk。","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"自动将调试器附加到新的子进程。","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"启动调试目标的位置。","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code 调试控制台(不支持从程序读取输入)","VS Code 的集成终端","可通过用户设置来配置的外部终端"],"type":"string"},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"包含环境变量定义的文件的绝对路径。","type":"string"},"experimentalNetworking":{"default":"auto","description":"在 Node.js 中启用实验性检查。如果设置为 `自动`，则会为支持它的 Node.js 版本启用此功能。可以将其设置为 `开` 或 `关` 以显式启用或禁用它。","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"配置在停止会话时如何终止调试进程。可以是:\r\n\r\n- forceful (default): 强制关闭进程树。在 posix 上发送 SIGKILL，在 Windows 上发送 \"taskkill.exe /F\"。\r\n- polite: 正常关闭进程树。可能出现按此方式关闭后继续运行行为出错的进程的情况。在 posix 上发送 SIGTERM，在 Windows 上发送 \"taskkill.exe\" 但不带 \"/F\" (强制)标志。\r\n- 无: 将不终止。","type":"string"},"localRoot":{"default":null,"description":"包含该程序的本地目录的路径。","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"profileStartup":{"default":true,"description":"如果为 true，则将在进程启动后立即开始分析","type":"boolean"},"program":{"default":"","description":"程序的绝对路径。通过查看 package.json 和打开的文件猜测所生成的值。编辑此属性。","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"包含该程序的远程目录的绝对路径。","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"如果连接断开，请尝试重新连接到该程序。如果设置为 \"true\"，将始终每秒重试一次。可通过在对象中指定 \"delay\" 和 \"maxAttempts\" 来自定义时间间隔和最大尝试次数。","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"传递给运行时可执行文件的可选参数。","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"要使用的运行时。应为绝对路径或在 PATH 上可用的运行时名称。默认值为 \"node\"。","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"要使用的 \"node\" 运行时版本。需要 \"nvm\"。","type":"string"},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"stopOnEntry":{"default":true,"description":"启动后自动停止程序。","type":["boolean","string"]},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]}},"type":"object"},{"additionalProperties":false,"default":{"program":"npm start"},"description":"JavaScript 调试终端","properties":{"autoAttachChildProcesses":{"default":true,"description":"自动将调试器附加到新的子进程。","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"在启动的终端中运行命令。如果未提供命令，终端将在不启动程序的情况下打开。","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"包含环境变量定义的文件的绝对路径。","type":"string"},"localRoot":{"default":null,"description":"包含该程序的本地目录的路径。","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"remoteRoot":{"default":null,"description":"包含该程序的远程目录的绝对路径。","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","type":"array"},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]}},"type":"object"}]},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]},"url":{"default":"http://localhost:8080","description":"将搜索具有此确切网址的标签并附加到该标签(若找到)","tags":["setup"],"type":"string"},"urlFilter":{"default":"","description":"将使用此 URL 搜索页面，找到后将连接到该页面。可使用 * 通配符。","type":"string"},"userDataDir":{"default":true,"description":"默认情况下，在临时文件夹中使用单独的用户配置文件启动浏览器。使用此选项可进行替代。设置为 false 以使用默认用户配置文件启动。如果实例已从 `userDataDir` 运行，则无法启动新的浏览器。","type":["string","boolean"]},"vueComponentPaths":{"default":["${workspaceFolder}/**/*.vue"],"description":"用于查找 \"*.vue\" 组件的文件 glob 模式的列表。默认搜索整个工作区。需要指定此项，因为 Vue 的源映射需要在 Vue CLI 4 中进行额外查找。可通过将此项设置为空数组来禁用此特殊处理。","type":"array"},"webRoot":{"default":"${workspaceFolder}","description":"此设置指定 Web 服务器根的工作区绝对路径。用于将 `/app.js` 等路径解析为磁盘上的文件。pathMapping 的速记方式为 \"/\"","tags":["setup"],"type":"string"}}}},"configurationSnippets":[],"deprecated":"Please use type chrome instead","label":"Web 应用(Chrome)","languages":["javascript","typescript","javascriptreact","typescriptreact","html","css","coffeescript","handlebars","vue"],"strings":{"unverifiedBreakpoints":"无法设置某些断点。如果遇到问题，可以 [对启动配置进行故障排除](command:extension.js-debug.createDiagnostics)。"},"type":"pwa-chrome"},{"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","configurationAttributes":{"attach":{"properties":{"address":{"default":"localhost","description":"调试的浏览器正在侦听的 IP 地址或主机名。","type":"string"},"browserAttachLocation":{"default":null,"description":"强制在一个位置连接浏览器。在远程工作区中(例如通过 ssh 或 WSL)，这可用于在远程计算机上而不是在本地连接浏览器。","oneOf":[{"type":"null"},{"enum":["ui","workspace"],"type":"string"}]},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"disableNetworkCache":{"default":true,"description":"控制是否跳过每个请求的网络缓存","type":"boolean"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"inspectUri":{"default":null,"description":"用于重写 inspectUri 的格式: 这是一个模板字符串，可插入 \"{curlyBraces}\" 中的键。可用的键包括:\r\n - \"url.*\" 是正在运行的应用程序的解析地址，例如 \"{url.port}\" 和 \"{url.hostname}\"\r\n - \"port\" 是 Chrome 正在侦听的调试端口。\r\n - \"browserInspectUri\" 是启动的浏览器上的检查器 URI\r\n - \"browserInspectUriPath\" 是启动的浏览器上的检查器 URI 的路径部分(例如 \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\")。\r\n - \"wsProtocol\" 是提示的 websocket 协议。如果原始 URL 为 \"https\"，则设置为 \"wss\"，否则为 \"ws\"。\r\n","type":["string","null"]},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pathMapping":{"default":{},"description":"将 URL/路径映射到本地文件夹，以将浏览器中的脚本解析为磁盘上的脚本","type":"object"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"perScriptSourcemaps":{"default":"auto","description":"是否使用包含源文件基本名称的唯一源映射单独加载脚本。处理大量小型脚本时，可以设置此项来优化源映射处理。如果设置为“自动”，将在可以检测已知用例时进行检测。","enum":["yes","no","auto"],"type":"string"},"port":{"default":9229,"description":"用于远程调试浏览器的端口，在启动浏览器时通过 `--remote-debugging-port` 指定。","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}],"tags":["setup"]},"resolveSourceMapLocations":{"default":null,"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"restart":{"default":false,"markdownDescription":"是否在浏览器连接关闭时重新连接","type":"boolean"},"server":{"oneOf":[{"additionalProperties":false,"default":{"program":"node my-server.js"},"description":"配置要启动的 Web 服务器。采用与 \"node\" 启动任务相同的配置。","properties":{"args":{"default":[],"description":"传递给程序的命令行参数。\r\n\r\n可以是字符串数组或单个字符串。在终端中启动程序时，将此属性设置为单个字符串将导致 shell 的参数无法转义。","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"如果设置，则通过给定端口附加到进程。Node.js 程序通常不再需要该设置，而且它没法再调试子进程，但在使用 Deno 和 Docker 启动等更复杂的场景中，它可能很有用。如果设置为 0，则将选择随机端口，并自动向启动参数添加 --inspect-brk。","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"自动将调试器附加到新的子进程。","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"启动调试目标的位置。","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code 调试控制台(不支持从程序读取输入)","VS Code 的集成终端","可通过用户设置来配置的外部终端"],"type":"string"},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"包含环境变量定义的文件的绝对路径。","type":"string"},"experimentalNetworking":{"default":"auto","description":"在 Node.js 中启用实验性检查。如果设置为 `自动`，则会为支持它的 Node.js 版本启用此功能。可以将其设置为 `开` 或 `关` 以显式启用或禁用它。","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"配置在停止会话时如何终止调试进程。可以是:\r\n\r\n- forceful (default): 强制关闭进程树。在 posix 上发送 SIGKILL，在 Windows 上发送 \"taskkill.exe /F\"。\r\n- polite: 正常关闭进程树。可能出现按此方式关闭后继续运行行为出错的进程的情况。在 posix 上发送 SIGTERM，在 Windows 上发送 \"taskkill.exe\" 但不带 \"/F\" (强制)标志。\r\n- 无: 将不终止。","type":"string"},"localRoot":{"default":null,"description":"包含该程序的本地目录的路径。","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"profileStartup":{"default":true,"description":"如果为 true，则将在进程启动后立即开始分析","type":"boolean"},"program":{"default":"","description":"程序的绝对路径。通过查看 package.json 和打开的文件猜测所生成的值。编辑此属性。","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"包含该程序的远程目录的绝对路径。","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"如果连接断开，请尝试重新连接到该程序。如果设置为 \"true\"，将始终每秒重试一次。可通过在对象中指定 \"delay\" 和 \"maxAttempts\" 来自定义时间间隔和最大尝试次数。","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"传递给运行时可执行文件的可选参数。","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"要使用的运行时。应为绝对路径或在 PATH 上可用的运行时名称。默认值为 \"node\"。","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"要使用的 \"node\" 运行时版本。需要 \"nvm\"。","type":"string"},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"stopOnEntry":{"default":true,"description":"启动后自动停止程序。","type":["boolean","string"]},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]}},"type":"object"},{"additionalProperties":false,"default":{"program":"npm start"},"description":"JavaScript 调试终端","properties":{"autoAttachChildProcesses":{"default":true,"description":"自动将调试器附加到新的子进程。","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"在启动的终端中运行命令。如果未提供命令，终端将在不启动程序的情况下打开。","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"包含环境变量定义的文件的绝对路径。","type":"string"},"localRoot":{"default":null,"description":"包含该程序的本地目录的路径。","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"remoteRoot":{"default":null,"description":"包含该程序的远程目录的绝对路径。","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","type":"array"},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]}},"type":"object"}]},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"targetSelection":{"default":"automatic","enum":["pick","automatic"],"markdownDescription":"是附加到与 URL 筛选器匹配的所有目标(“自动”)还是要求选择一个(“选择”)。","type":"string"},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]},"url":{"default":"http://localhost:8080","description":"将搜索具有此确切网址的标签并附加到该标签(若找到)","tags":["setup"],"type":"string"},"urlFilter":{"default":"","description":"将使用此 URL 搜索页面，找到后将连接到该页面。可使用 * 通配符。","type":"string"},"vueComponentPaths":{"default":["${workspaceFolder}/**/*.vue"],"description":"用于查找 \"*.vue\" 组件的文件 glob 模式的列表。默认搜索整个工作区。需要指定此项，因为 Vue 的源映射需要在 Vue CLI 4 中进行额外查找。可通过将此项设置为空数组来禁用此特殊处理。","type":"array"},"webRoot":{"default":"${workspaceFolder}","description":"此设置指定 Web 服务器根的工作区绝对路径。用于将 `/app.js` 等路径解析为磁盘上的文件。pathMapping 的速记方式为 \"/\"","tags":["setup"],"type":"string"}}},"launch":{"properties":{"browserLaunchLocation":{"default":null,"description":"强制在一个位置启动浏览器。在远程工作区中(例如通过 ssh 或 WSL)，这可用于在远程计算机上而不是在本地打开浏览器。","oneOf":[{"type":"null"},{"enum":["ui","workspace"],"type":"string"}]},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"cleanUp":{"default":"wholeBrowser","description":"调试会话完成后的清理操作:“仅关闭正在调试的选项卡”和“关闭整个浏览器”。","enum":["wholeBrowser","onlyTab"],"type":"string"},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":null,"description":"运行时可执行文件的可选工作目录。","type":"string"},"disableNetworkCache":{"default":true,"description":"控制是否跳过每个请求的网络缓存","type":"boolean"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"default":{},"description":"浏览器的环境键/值对的可选字典。","type":"object"},"file":{"default":"${workspaceFolder}/index.html","description":"要在浏览器中打开的本地 HTML 文件","tags":["setup"],"type":"string"},"includeDefaultArgs":{"default":true,"description":"启动中是否包括默认浏览器启动参数(以禁用可能使调试更加困难的功能)。","type":"boolean"},"includeLaunchArgs":{"default":true,"description":"高级: 是否在浏览器上设置任何默认启动/调试参数。调试器将假定浏览器将使用管道调试，如`--remote-debugging-pipe`提供的管道调试。","type":"boolean"},"inspectUri":{"default":null,"description":"用于重写 inspectUri 的格式: 这是一个模板字符串，可插入 \"{curlyBraces}\" 中的键。可用的键包括:\r\n - \"url.*\" 是正在运行的应用程序的解析地址，例如 \"{url.port}\" 和 \"{url.hostname}\"\r\n - \"port\" 是 Chrome 正在侦听的调试端口。\r\n - \"browserInspectUri\" 是启动的浏览器上的检查器 URI\r\n - \"browserInspectUriPath\" 是启动的浏览器上的检查器 URI 的路径部分(例如 \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\")。\r\n - \"wsProtocol\" 是提示的 websocket 协议。如果原始 URL 为 \"https\"，则设置为 \"wss\"，否则为 \"ws\"。\r\n","type":["string","null"]},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"配置如何在停止与 `cleanUp: wholeBrowser` 的会话时终止浏览器进程。可以是:\r\n\r\n- forceful (默认): 强制关闭进程树。在 posix 上发送 SIGKILL，在 Windows 上发送 `taskkill.exe /F`。\r\n- polite: 正常关闭进程树。使用此方式关闭后，行为异常的进程可能会继续运行。在 posix 上发送 SIGTERM，或在 Windows 上发送 `taskkill.exe` 但不带 `/F` (强制)标志。\r\n- none: 不会发生终止。","type":"string"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pathMapping":{"default":{},"description":"将 URL/路径映射到本地文件夹，以将浏览器中的脚本解析为磁盘上的脚本","type":"object"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"perScriptSourcemaps":{"default":"auto","description":"是否使用包含源文件基本名称的唯一源映射单独加载脚本。处理大量小型脚本时，可以设置此项来优化源映射处理。如果设置为“自动”，将在可以检测已知用例时进行检测。","enum":["yes","no","auto"],"type":"string"},"port":{"default":0,"description":"浏览器侦听的端口。默认值为“0”，这将导致浏览器通过管道进行调试，这通常更安全，除非需要从其他工具连接到浏览器，否则应选择该值。","type":"number"},"profileStartup":{"default":true,"description":"如果为 true，则将在进程启动后立即开始分析","type":"boolean"},"resolveSourceMapLocations":{"default":null,"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"runtimeArgs":{"default":[],"description":"传递给运行时可执行文件的可选参数。","items":{"type":"string"},"type":"array"},"runtimeExecutable":{"default":"stable","description":"\"canary\"、\"stable\"、\"custom\" 或浏览器可执行文件的路径。 Custom 表示自定义包装器、自定义生成或 CHROME_PATH 环境变量。","type":["string","null"]},"server":{"oneOf":[{"additionalProperties":false,"default":{"program":"node my-server.js"},"description":"配置要启动的 Web 服务器。采用与 \"node\" 启动任务相同的配置。","properties":{"args":{"default":[],"description":"传递给程序的命令行参数。\r\n\r\n可以是字符串数组或单个字符串。在终端中启动程序时，将此属性设置为单个字符串将导致 shell 的参数无法转义。","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"如果设置，则通过给定端口附加到进程。Node.js 程序通常不再需要该设置，而且它没法再调试子进程，但在使用 Deno 和 Docker 启动等更复杂的场景中，它可能很有用。如果设置为 0，则将选择随机端口，并自动向启动参数添加 --inspect-brk。","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"自动将调试器附加到新的子进程。","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"启动调试目标的位置。","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code 调试控制台(不支持从程序读取输入)","VS Code 的集成终端","可通过用户设置来配置的外部终端"],"type":"string"},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"包含环境变量定义的文件的绝对路径。","type":"string"},"experimentalNetworking":{"default":"auto","description":"在 Node.js 中启用实验性检查。如果设置为 `自动`，则会为支持它的 Node.js 版本启用此功能。可以将其设置为 `开` 或 `关` 以显式启用或禁用它。","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"配置在停止会话时如何终止调试进程。可以是:\r\n\r\n- forceful (default): 强制关闭进程树。在 posix 上发送 SIGKILL，在 Windows 上发送 \"taskkill.exe /F\"。\r\n- polite: 正常关闭进程树。可能出现按此方式关闭后继续运行行为出错的进程的情况。在 posix 上发送 SIGTERM，在 Windows 上发送 \"taskkill.exe\" 但不带 \"/F\" (强制)标志。\r\n- 无: 将不终止。","type":"string"},"localRoot":{"default":null,"description":"包含该程序的本地目录的路径。","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"profileStartup":{"default":true,"description":"如果为 true，则将在进程启动后立即开始分析","type":"boolean"},"program":{"default":"","description":"程序的绝对路径。通过查看 package.json 和打开的文件猜测所生成的值。编辑此属性。","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"包含该程序的远程目录的绝对路径。","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"如果连接断开，请尝试重新连接到该程序。如果设置为 \"true\"，将始终每秒重试一次。可通过在对象中指定 \"delay\" 和 \"maxAttempts\" 来自定义时间间隔和最大尝试次数。","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"传递给运行时可执行文件的可选参数。","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"要使用的运行时。应为绝对路径或在 PATH 上可用的运行时名称。默认值为 \"node\"。","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"要使用的 \"node\" 运行时版本。需要 \"nvm\"。","type":"string"},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"stopOnEntry":{"default":true,"description":"启动后自动停止程序。","type":["boolean","string"]},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]}},"type":"object"},{"additionalProperties":false,"default":{"program":"npm start"},"description":"JavaScript 调试终端","properties":{"autoAttachChildProcesses":{"default":true,"description":"自动将调试器附加到新的子进程。","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"在启动的终端中运行命令。如果未提供命令，终端将在不启动程序的情况下打开。","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"包含环境变量定义的文件的绝对路径。","type":"string"},"localRoot":{"default":null,"description":"包含该程序的本地目录的路径。","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"remoteRoot":{"default":null,"description":"包含该程序的远程目录的绝对路径。","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","type":"array"},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]}},"type":"object"}]},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]},"url":{"default":"http://localhost:8080","description":"将搜索具有此确切网址的标签并附加到该标签(若找到)","tags":["setup"],"type":"string"},"urlFilter":{"default":"","description":"将使用此 URL 搜索页面，找到后将连接到该页面。可使用 * 通配符。","type":"string"},"userDataDir":{"default":true,"description":"默认情况下，在临时文件夹中使用单独的用户配置文件启动浏览器。使用此选项可进行替代。设置为 false 以使用默认用户配置文件启动。如果实例已从 `userDataDir` 运行，则无法启动新的浏览器。","type":["string","boolean"]},"vueComponentPaths":{"default":["${workspaceFolder}/**/*.vue"],"description":"用于查找 \"*.vue\" 组件的文件 glob 模式的列表。默认搜索整个工作区。需要指定此项，因为 Vue 的源映射需要在 Vue CLI 4 中进行额外查找。可通过将此项设置为空数组来禁用此特殊处理。","type":"array"},"webRoot":{"default":"${workspaceFolder}","description":"此设置指定 Web 服务器根的工作区绝对路径。用于将 `/app.js` 等路径解析为磁盘上的文件。pathMapping 的速记方式为 \"/\"","tags":["setup"],"type":"string"}}}},"configurationSnippets":[{"body":{"name":"Launch Chrome","request":"launch","type":"chrome","url":"http://localhost:8080","webRoot":"^\"${2:\\${workspaceFolder\\}}\""},"description":"启动 Chrome 以调试 URL","label":"Chrome: 启动"},{"body":{"name":"Attach to Chrome","port":9222,"request":"attach","type":"chrome","webRoot":"^\"${2:\\${workspaceFolder\\}}\""},"description":"附加到已处于调试模式的 Chrome 实例","label":"Chrome: 附加"}],"label":"Web 应用(Chrome)","strings":{"unverifiedBreakpoints":"无法设置某些断点。如果遇到问题，可以 [对启动配置进行故障排除](command:extension.js-debug.createDiagnostics)。"},"type":"chrome"},{"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","configurationAttributes":{"attach":{"properties":{"address":{"default":"localhost","description":"调试的浏览器正在侦听的 IP 地址或主机名。","type":"string"},"browserAttachLocation":{"default":null,"description":"强制在一个位置连接浏览器。在远程工作区中(例如通过 ssh 或 WSL)，这可用于在远程计算机上而不是在本地连接浏览器。","oneOf":[{"type":"null"},{"enum":["ui","workspace"],"type":"string"}]},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"disableNetworkCache":{"default":true,"description":"控制是否跳过每个请求的网络缓存","type":"boolean"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"inspectUri":{"default":null,"description":"用于重写 inspectUri 的格式: 这是一个模板字符串，可插入 \"{curlyBraces}\" 中的键。可用的键包括:\r\n - \"url.*\" 是正在运行的应用程序的解析地址，例如 \"{url.port}\" 和 \"{url.hostname}\"\r\n - \"port\" 是 Chrome 正在侦听的调试端口。\r\n - \"browserInspectUri\" 是启动的浏览器上的检查器 URI\r\n - \"browserInspectUriPath\" 是启动的浏览器上的检查器 URI 的路径部分(例如 \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\")。\r\n - \"wsProtocol\" 是提示的 websocket 协议。如果原始 URL 为 \"https\"，则设置为 \"wss\"，否则为 \"ws\"。\r\n","type":["string","null"]},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pathMapping":{"default":{},"description":"将 URL/路径映射到本地文件夹，以将浏览器中的脚本解析为磁盘上的脚本","type":"object"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"perScriptSourcemaps":{"default":"auto","description":"是否使用包含源文件基本名称的唯一源映射单独加载脚本。处理大量小型脚本时，可以设置此项来优化源映射处理。如果设置为“自动”，将在可以检测已知用例时进行检测。","enum":["yes","no","auto"],"type":"string"},"port":{"default":9229,"description":"用于远程调试浏览器的端口，在启动浏览器时通过 `--remote-debugging-port` 指定。","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}],"tags":["setup"]},"resolveSourceMapLocations":{"default":null,"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"restart":{"default":false,"markdownDescription":"是否在浏览器连接关闭时重新连接","type":"boolean"},"server":{"oneOf":[{"additionalProperties":false,"default":{"program":"node my-server.js"},"description":"配置要启动的 Web 服务器。采用与 \"node\" 启动任务相同的配置。","properties":{"args":{"default":[],"description":"传递给程序的命令行参数。\r\n\r\n可以是字符串数组或单个字符串。在终端中启动程序时，将此属性设置为单个字符串将导致 shell 的参数无法转义。","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"如果设置，则通过给定端口附加到进程。Node.js 程序通常不再需要该设置，而且它没法再调试子进程，但在使用 Deno 和 Docker 启动等更复杂的场景中，它可能很有用。如果设置为 0，则将选择随机端口，并自动向启动参数添加 --inspect-brk。","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"自动将调试器附加到新的子进程。","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"启动调试目标的位置。","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code 调试控制台(不支持从程序读取输入)","VS Code 的集成终端","可通过用户设置来配置的外部终端"],"type":"string"},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"包含环境变量定义的文件的绝对路径。","type":"string"},"experimentalNetworking":{"default":"auto","description":"在 Node.js 中启用实验性检查。如果设置为 `自动`，则会为支持它的 Node.js 版本启用此功能。可以将其设置为 `开` 或 `关` 以显式启用或禁用它。","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"配置在停止会话时如何终止调试进程。可以是:\r\n\r\n- forceful (default): 强制关闭进程树。在 posix 上发送 SIGKILL，在 Windows 上发送 \"taskkill.exe /F\"。\r\n- polite: 正常关闭进程树。可能出现按此方式关闭后继续运行行为出错的进程的情况。在 posix 上发送 SIGTERM，在 Windows 上发送 \"taskkill.exe\" 但不带 \"/F\" (强制)标志。\r\n- 无: 将不终止。","type":"string"},"localRoot":{"default":null,"description":"包含该程序的本地目录的路径。","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"profileStartup":{"default":true,"description":"如果为 true，则将在进程启动后立即开始分析","type":"boolean"},"program":{"default":"","description":"程序的绝对路径。通过查看 package.json 和打开的文件猜测所生成的值。编辑此属性。","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"包含该程序的远程目录的绝对路径。","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"如果连接断开，请尝试重新连接到该程序。如果设置为 \"true\"，将始终每秒重试一次。可通过在对象中指定 \"delay\" 和 \"maxAttempts\" 来自定义时间间隔和最大尝试次数。","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"传递给运行时可执行文件的可选参数。","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"要使用的运行时。应为绝对路径或在 PATH 上可用的运行时名称。默认值为 \"node\"。","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"要使用的 \"node\" 运行时版本。需要 \"nvm\"。","type":"string"},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"stopOnEntry":{"default":true,"description":"启动后自动停止程序。","type":["boolean","string"]},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]}},"type":"object"},{"additionalProperties":false,"default":{"program":"npm start"},"description":"JavaScript 调试终端","properties":{"autoAttachChildProcesses":{"default":true,"description":"自动将调试器附加到新的子进程。","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"在启动的终端中运行命令。如果未提供命令，终端将在不启动程序的情况下打开。","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"包含环境变量定义的文件的绝对路径。","type":"string"},"localRoot":{"default":null,"description":"包含该程序的本地目录的路径。","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"remoteRoot":{"default":null,"description":"包含该程序的远程目录的绝对路径。","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","type":"array"},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]}},"type":"object"}]},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"targetSelection":{"default":"automatic","enum":["pick","automatic"],"markdownDescription":"是附加到与 URL 筛选器匹配的所有目标(“自动”)还是要求选择一个(“选择”)。","type":"string"},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]},"url":{"default":"http://localhost:8080","description":"将搜索具有此确切网址的标签并附加到该标签(若找到)","tags":["setup"],"type":"string"},"urlFilter":{"default":"","description":"将使用此 URL 搜索页面，找到后将连接到该页面。可使用 * 通配符。","type":"string"},"useWebView":{"default":{"pipeName":"MyPipeName"},"description":"包含 UWP 托管 Webview2 的调试管道“pipeName”的对象。这是创建管道“\\\\.\\pipe\\LOCAL\\MyTestSharedMemory”时的“MyTestSharedMemory”","properties":{"pipeName":{"type":"string"}},"type":"object"},"vueComponentPaths":{"default":["${workspaceFolder}/**/*.vue"],"description":"用于查找 \"*.vue\" 组件的文件 glob 模式的列表。默认搜索整个工作区。需要指定此项，因为 Vue 的源映射需要在 Vue CLI 4 中进行额外查找。可通过将此项设置为空数组来禁用此特殊处理。","type":"array"},"webRoot":{"default":"${workspaceFolder}","description":"此设置指定 Web 服务器根的工作区绝对路径。用于将 `/app.js` 等路径解析为磁盘上的文件。pathMapping 的速记方式为 \"/\"","tags":["setup"],"type":"string"}}},"launch":{"properties":{"address":{"default":"localhost","description":"调试 Web 视图时，Web 视图正在侦听的 IP 地址或主机名。如果未设置，则自动发现。","type":"string"},"browserLaunchLocation":{"default":null,"description":"强制在一个位置启动浏览器。在远程工作区中(例如通过 ssh 或 WSL)，这可用于在远程计算机上而不是在本地打开浏览器。","oneOf":[{"type":"null"},{"enum":["ui","workspace"],"type":"string"}]},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"cleanUp":{"default":"wholeBrowser","description":"调试会话完成后的清理操作:“仅关闭正在调试的选项卡”和“关闭整个浏览器”。","enum":["wholeBrowser","onlyTab"],"type":"string"},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":null,"description":"运行时可执行文件的可选工作目录。","type":"string"},"disableNetworkCache":{"default":true,"description":"控制是否跳过每个请求的网络缓存","type":"boolean"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"default":{},"description":"浏览器的环境键/值对的可选字典。","type":"object"},"file":{"default":"${workspaceFolder}/index.html","description":"要在浏览器中打开的本地 HTML 文件","tags":["setup"],"type":"string"},"includeDefaultArgs":{"default":true,"description":"启动中是否包括默认浏览器启动参数(以禁用可能使调试更加困难的功能)。","type":"boolean"},"includeLaunchArgs":{"default":true,"description":"高级: 是否在浏览器上设置任何默认启动/调试参数。调试器将假定浏览器将使用管道调试，如`--remote-debugging-pipe`提供的管道调试。","type":"boolean"},"inspectUri":{"default":null,"description":"用于重写 inspectUri 的格式: 这是一个模板字符串，可插入 \"{curlyBraces}\" 中的键。可用的键包括:\r\n - \"url.*\" 是正在运行的应用程序的解析地址，例如 \"{url.port}\" 和 \"{url.hostname}\"\r\n - \"port\" 是 Chrome 正在侦听的调试端口。\r\n - \"browserInspectUri\" 是启动的浏览器上的检查器 URI\r\n - \"browserInspectUriPath\" 是启动的浏览器上的检查器 URI 的路径部分(例如 \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\")。\r\n - \"wsProtocol\" 是提示的 websocket 协议。如果原始 URL 为 \"https\"，则设置为 \"wss\"，否则为 \"ws\"。\r\n","type":["string","null"]},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"配置如何在停止与 `cleanUp: wholeBrowser` 的会话时终止浏览器进程。可以是:\r\n\r\n- forceful (默认): 强制关闭进程树。在 posix 上发送 SIGKILL，在 Windows 上发送 `taskkill.exe /F`。\r\n- polite: 正常关闭进程树。使用此方式关闭后，行为异常的进程可能会继续运行。在 posix 上发送 SIGTERM，或在 Windows 上发送 `taskkill.exe` 但不带 `/F` (强制)标志。\r\n- none: 不会发生终止。","type":"string"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pathMapping":{"default":{},"description":"将 URL/路径映射到本地文件夹，以将浏览器中的脚本解析为磁盘上的脚本","type":"object"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"perScriptSourcemaps":{"default":"auto","description":"是否使用包含源文件基本名称的唯一源映射单独加载脚本。处理大量小型脚本时，可以设置此项来优化源映射处理。如果设置为“自动”，将在可以检测已知用例时进行检测。","enum":["yes","no","auto"],"type":"string"},"port":{"default":9229,"description":"调试 Web 视图时，Web 视图调试程序正在侦听的端口。如果未设置，则自动发现。","type":"number"},"profileStartup":{"default":true,"description":"如果为 true，则将在进程启动后立即开始分析","type":"boolean"},"resolveSourceMapLocations":{"default":null,"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"runtimeArgs":{"default":[],"description":"传递给运行时可执行文件的可选参数。","items":{"type":"string"},"type":"array"},"runtimeExecutable":{"default":"stable","description":"\"canary\"、\"stable\"、\"dev'\"、\"custom\" 或浏览器可执行文件的路径。custom 表示自定义包装器、自定义生成或 EDGE_PATH 环境变量。","type":["string","null"]},"server":{"oneOf":[{"additionalProperties":false,"default":{"program":"node my-server.js"},"description":"配置要启动的 Web 服务器。采用与 \"node\" 启动任务相同的配置。","properties":{"args":{"default":[],"description":"传递给程序的命令行参数。\r\n\r\n可以是字符串数组或单个字符串。在终端中启动程序时，将此属性设置为单个字符串将导致 shell 的参数无法转义。","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"如果设置，则通过给定端口附加到进程。Node.js 程序通常不再需要该设置，而且它没法再调试子进程，但在使用 Deno 和 Docker 启动等更复杂的场景中，它可能很有用。如果设置为 0，则将选择随机端口，并自动向启动参数添加 --inspect-brk。","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"自动将调试器附加到新的子进程。","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"启动调试目标的位置。","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code 调试控制台(不支持从程序读取输入)","VS Code 的集成终端","可通过用户设置来配置的外部终端"],"type":"string"},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"包含环境变量定义的文件的绝对路径。","type":"string"},"experimentalNetworking":{"default":"auto","description":"在 Node.js 中启用实验性检查。如果设置为 `自动`，则会为支持它的 Node.js 版本启用此功能。可以将其设置为 `开` 或 `关` 以显式启用或禁用它。","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"配置在停止会话时如何终止调试进程。可以是:\r\n\r\n- forceful (default): 强制关闭进程树。在 posix 上发送 SIGKILL，在 Windows 上发送 \"taskkill.exe /F\"。\r\n- polite: 正常关闭进程树。可能出现按此方式关闭后继续运行行为出错的进程的情况。在 posix 上发送 SIGTERM，在 Windows 上发送 \"taskkill.exe\" 但不带 \"/F\" (强制)标志。\r\n- 无: 将不终止。","type":"string"},"localRoot":{"default":null,"description":"包含该程序的本地目录的路径。","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"profileStartup":{"default":true,"description":"如果为 true，则将在进程启动后立即开始分析","type":"boolean"},"program":{"default":"","description":"程序的绝对路径。通过查看 package.json 和打开的文件猜测所生成的值。编辑此属性。","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"包含该程序的远程目录的绝对路径。","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"如果连接断开，请尝试重新连接到该程序。如果设置为 \"true\"，将始终每秒重试一次。可通过在对象中指定 \"delay\" 和 \"maxAttempts\" 来自定义时间间隔和最大尝试次数。","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"传递给运行时可执行文件的可选参数。","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"要使用的运行时。应为绝对路径或在 PATH 上可用的运行时名称。默认值为 \"node\"。","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"要使用的 \"node\" 运行时版本。需要 \"nvm\"。","type":"string"},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"stopOnEntry":{"default":true,"description":"启动后自动停止程序。","type":["boolean","string"]},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]}},"type":"object"},{"additionalProperties":false,"default":{"program":"npm start"},"description":"JavaScript 调试终端","properties":{"autoAttachChildProcesses":{"default":true,"description":"自动将调试器附加到新的子进程。","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"在启动的终端中运行命令。如果未提供命令，终端将在不启动程序的情况下打开。","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"包含环境变量定义的文件的绝对路径。","type":"string"},"localRoot":{"default":null,"description":"包含该程序的本地目录的路径。","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"remoteRoot":{"default":null,"description":"包含该程序的远程目录的绝对路径。","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","type":"array"},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]}},"type":"object"}]},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]},"url":{"default":"http://localhost:8080","description":"将搜索具有此确切网址的标签并附加到该标签(若找到)","tags":["setup"],"type":"string"},"urlFilter":{"default":"","description":"将使用此 URL 搜索页面，找到后将连接到该页面。可使用 * 通配符。","type":"string"},"useWebView":{"default":false,"description":"如果设置为“true”，则调试器会将运行时可执行文件视为包含 WebView 的主机应用程序，以允许你调试 WebView 脚本内容。","type":"boolean"},"userDataDir":{"default":true,"description":"默认情况下，在临时文件夹中使用单独的用户配置文件启动浏览器。使用此选项可进行替代。设置为 false 以使用默认用户配置文件启动。如果实例已从 `userDataDir` 运行，则无法启动新的浏览器。","type":["string","boolean"]},"vueComponentPaths":{"default":["${workspaceFolder}/**/*.vue"],"description":"用于查找 \"*.vue\" 组件的文件 glob 模式的列表。默认搜索整个工作区。需要指定此项，因为 Vue 的源映射需要在 Vue CLI 4 中进行额外查找。可通过将此项设置为空数组来禁用此特殊处理。","type":"array"},"webRoot":{"default":"${workspaceFolder}","description":"此设置指定 Web 服务器根的工作区绝对路径。用于将 `/app.js` 等路径解析为磁盘上的文件。pathMapping 的速记方式为 \"/\"","tags":["setup"],"type":"string"}}}},"configurationSnippets":[],"deprecated":"Please use type msedge instead","label":"Web 应用(Edge)","languages":["javascript","typescript","javascriptreact","typescriptreact","html","css","coffeescript","handlebars","vue"],"strings":{"unverifiedBreakpoints":"无法设置某些断点。如果遇到问题，可以 [对启动配置进行故障排除](command:extension.js-debug.createDiagnostics)。"},"type":"pwa-msedge"},{"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","configurationAttributes":{"attach":{"properties":{"address":{"default":"localhost","description":"调试的浏览器正在侦听的 IP 地址或主机名。","type":"string"},"browserAttachLocation":{"default":null,"description":"强制在一个位置连接浏览器。在远程工作区中(例如通过 ssh 或 WSL)，这可用于在远程计算机上而不是在本地连接浏览器。","oneOf":[{"type":"null"},{"enum":["ui","workspace"],"type":"string"}]},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"disableNetworkCache":{"default":true,"description":"控制是否跳过每个请求的网络缓存","type":"boolean"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"inspectUri":{"default":null,"description":"用于重写 inspectUri 的格式: 这是一个模板字符串，可插入 \"{curlyBraces}\" 中的键。可用的键包括:\r\n - \"url.*\" 是正在运行的应用程序的解析地址，例如 \"{url.port}\" 和 \"{url.hostname}\"\r\n - \"port\" 是 Chrome 正在侦听的调试端口。\r\n - \"browserInspectUri\" 是启动的浏览器上的检查器 URI\r\n - \"browserInspectUriPath\" 是启动的浏览器上的检查器 URI 的路径部分(例如 \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\")。\r\n - \"wsProtocol\" 是提示的 websocket 协议。如果原始 URL 为 \"https\"，则设置为 \"wss\"，否则为 \"ws\"。\r\n","type":["string","null"]},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pathMapping":{"default":{},"description":"将 URL/路径映射到本地文件夹，以将浏览器中的脚本解析为磁盘上的脚本","type":"object"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"perScriptSourcemaps":{"default":"auto","description":"是否使用包含源文件基本名称的唯一源映射单独加载脚本。处理大量小型脚本时，可以设置此项来优化源映射处理。如果设置为“自动”，将在可以检测已知用例时进行检测。","enum":["yes","no","auto"],"type":"string"},"port":{"default":9229,"description":"用于远程调试浏览器的端口，在启动浏览器时通过 `--remote-debugging-port` 指定。","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}],"tags":["setup"]},"resolveSourceMapLocations":{"default":null,"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"restart":{"default":false,"markdownDescription":"是否在浏览器连接关闭时重新连接","type":"boolean"},"server":{"oneOf":[{"additionalProperties":false,"default":{"program":"node my-server.js"},"description":"配置要启动的 Web 服务器。采用与 \"node\" 启动任务相同的配置。","properties":{"args":{"default":[],"description":"传递给程序的命令行参数。\r\n\r\n可以是字符串数组或单个字符串。在终端中启动程序时，将此属性设置为单个字符串将导致 shell 的参数无法转义。","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"如果设置，则通过给定端口附加到进程。Node.js 程序通常不再需要该设置，而且它没法再调试子进程，但在使用 Deno 和 Docker 启动等更复杂的场景中，它可能很有用。如果设置为 0，则将选择随机端口，并自动向启动参数添加 --inspect-brk。","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"自动将调试器附加到新的子进程。","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"启动调试目标的位置。","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code 调试控制台(不支持从程序读取输入)","VS Code 的集成终端","可通过用户设置来配置的外部终端"],"type":"string"},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"包含环境变量定义的文件的绝对路径。","type":"string"},"experimentalNetworking":{"default":"auto","description":"在 Node.js 中启用实验性检查。如果设置为 `自动`，则会为支持它的 Node.js 版本启用此功能。可以将其设置为 `开` 或 `关` 以显式启用或禁用它。","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"配置在停止会话时如何终止调试进程。可以是:\r\n\r\n- forceful (default): 强制关闭进程树。在 posix 上发送 SIGKILL，在 Windows 上发送 \"taskkill.exe /F\"。\r\n- polite: 正常关闭进程树。可能出现按此方式关闭后继续运行行为出错的进程的情况。在 posix 上发送 SIGTERM，在 Windows 上发送 \"taskkill.exe\" 但不带 \"/F\" (强制)标志。\r\n- 无: 将不终止。","type":"string"},"localRoot":{"default":null,"description":"包含该程序的本地目录的路径。","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"profileStartup":{"default":true,"description":"如果为 true，则将在进程启动后立即开始分析","type":"boolean"},"program":{"default":"","description":"程序的绝对路径。通过查看 package.json 和打开的文件猜测所生成的值。编辑此属性。","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"包含该程序的远程目录的绝对路径。","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"如果连接断开，请尝试重新连接到该程序。如果设置为 \"true\"，将始终每秒重试一次。可通过在对象中指定 \"delay\" 和 \"maxAttempts\" 来自定义时间间隔和最大尝试次数。","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"传递给运行时可执行文件的可选参数。","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"要使用的运行时。应为绝对路径或在 PATH 上可用的运行时名称。默认值为 \"node\"。","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"要使用的 \"node\" 运行时版本。需要 \"nvm\"。","type":"string"},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"stopOnEntry":{"default":true,"description":"启动后自动停止程序。","type":["boolean","string"]},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]}},"type":"object"},{"additionalProperties":false,"default":{"program":"npm start"},"description":"JavaScript 调试终端","properties":{"autoAttachChildProcesses":{"default":true,"description":"自动将调试器附加到新的子进程。","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"在启动的终端中运行命令。如果未提供命令，终端将在不启动程序的情况下打开。","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"包含环境变量定义的文件的绝对路径。","type":"string"},"localRoot":{"default":null,"description":"包含该程序的本地目录的路径。","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"remoteRoot":{"default":null,"description":"包含该程序的远程目录的绝对路径。","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","type":"array"},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]}},"type":"object"}]},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"targetSelection":{"default":"automatic","enum":["pick","automatic"],"markdownDescription":"是附加到与 URL 筛选器匹配的所有目标(“自动”)还是要求选择一个(“选择”)。","type":"string"},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]},"url":{"default":"http://localhost:8080","description":"将搜索具有此确切网址的标签并附加到该标签(若找到)","tags":["setup"],"type":"string"},"urlFilter":{"default":"","description":"将使用此 URL 搜索页面，找到后将连接到该页面。可使用 * 通配符。","type":"string"},"useWebView":{"default":{"pipeName":"MyPipeName"},"description":"包含 UWP 托管 Webview2 的调试管道“pipeName”的对象。这是创建管道“\\\\.\\pipe\\LOCAL\\MyTestSharedMemory”时的“MyTestSharedMemory”","properties":{"pipeName":{"type":"string"}},"type":"object"},"vueComponentPaths":{"default":["${workspaceFolder}/**/*.vue"],"description":"用于查找 \"*.vue\" 组件的文件 glob 模式的列表。默认搜索整个工作区。需要指定此项，因为 Vue 的源映射需要在 Vue CLI 4 中进行额外查找。可通过将此项设置为空数组来禁用此特殊处理。","type":"array"},"webRoot":{"default":"${workspaceFolder}","description":"此设置指定 Web 服务器根的工作区绝对路径。用于将 `/app.js` 等路径解析为磁盘上的文件。pathMapping 的速记方式为 \"/\"","tags":["setup"],"type":"string"}}},"launch":{"properties":{"address":{"default":"localhost","description":"调试 Web 视图时，Web 视图正在侦听的 IP 地址或主机名。如果未设置，则自动发现。","type":"string"},"browserLaunchLocation":{"default":null,"description":"强制在一个位置启动浏览器。在远程工作区中(例如通过 ssh 或 WSL)，这可用于在远程计算机上而不是在本地打开浏览器。","oneOf":[{"type":"null"},{"enum":["ui","workspace"],"type":"string"}]},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"cleanUp":{"default":"wholeBrowser","description":"调试会话完成后的清理操作:“仅关闭正在调试的选项卡”和“关闭整个浏览器”。","enum":["wholeBrowser","onlyTab"],"type":"string"},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":null,"description":"运行时可执行文件的可选工作目录。","type":"string"},"disableNetworkCache":{"default":true,"description":"控制是否跳过每个请求的网络缓存","type":"boolean"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"default":{},"description":"浏览器的环境键/值对的可选字典。","type":"object"},"file":{"default":"${workspaceFolder}/index.html","description":"要在浏览器中打开的本地 HTML 文件","tags":["setup"],"type":"string"},"includeDefaultArgs":{"default":true,"description":"启动中是否包括默认浏览器启动参数(以禁用可能使调试更加困难的功能)。","type":"boolean"},"includeLaunchArgs":{"default":true,"description":"高级: 是否在浏览器上设置任何默认启动/调试参数。调试器将假定浏览器将使用管道调试，如`--remote-debugging-pipe`提供的管道调试。","type":"boolean"},"inspectUri":{"default":null,"description":"用于重写 inspectUri 的格式: 这是一个模板字符串，可插入 \"{curlyBraces}\" 中的键。可用的键包括:\r\n - \"url.*\" 是正在运行的应用程序的解析地址，例如 \"{url.port}\" 和 \"{url.hostname}\"\r\n - \"port\" 是 Chrome 正在侦听的调试端口。\r\n - \"browserInspectUri\" 是启动的浏览器上的检查器 URI\r\n - \"browserInspectUriPath\" 是启动的浏览器上的检查器 URI 的路径部分(例如 \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\")。\r\n - \"wsProtocol\" 是提示的 websocket 协议。如果原始 URL 为 \"https\"，则设置为 \"wss\"，否则为 \"ws\"。\r\n","type":["string","null"]},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"配置如何在停止与 `cleanUp: wholeBrowser` 的会话时终止浏览器进程。可以是:\r\n\r\n- forceful (默认): 强制关闭进程树。在 posix 上发送 SIGKILL，在 Windows 上发送 `taskkill.exe /F`。\r\n- polite: 正常关闭进程树。使用此方式关闭后，行为异常的进程可能会继续运行。在 posix 上发送 SIGTERM，或在 Windows 上发送 `taskkill.exe` 但不带 `/F` (强制)标志。\r\n- none: 不会发生终止。","type":"string"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pathMapping":{"default":{},"description":"将 URL/路径映射到本地文件夹，以将浏览器中的脚本解析为磁盘上的脚本","type":"object"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"perScriptSourcemaps":{"default":"auto","description":"是否使用包含源文件基本名称的唯一源映射单独加载脚本。处理大量小型脚本时，可以设置此项来优化源映射处理。如果设置为“自动”，将在可以检测已知用例时进行检测。","enum":["yes","no","auto"],"type":"string"},"port":{"default":9229,"description":"调试 Web 视图时，Web 视图调试程序正在侦听的端口。如果未设置，则自动发现。","type":"number"},"profileStartup":{"default":true,"description":"如果为 true，则将在进程启动后立即开始分析","type":"boolean"},"resolveSourceMapLocations":{"default":null,"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"runtimeArgs":{"default":[],"description":"传递给运行时可执行文件的可选参数。","items":{"type":"string"},"type":"array"},"runtimeExecutable":{"default":"stable","description":"\"canary\"、\"stable\"、\"dev'\"、\"custom\" 或浏览器可执行文件的路径。custom 表示自定义包装器、自定义生成或 EDGE_PATH 环境变量。","type":["string","null"]},"server":{"oneOf":[{"additionalProperties":false,"default":{"program":"node my-server.js"},"description":"配置要启动的 Web 服务器。采用与 \"node\" 启动任务相同的配置。","properties":{"args":{"default":[],"description":"传递给程序的命令行参数。\r\n\r\n可以是字符串数组或单个字符串。在终端中启动程序时，将此属性设置为单个字符串将导致 shell 的参数无法转义。","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"如果设置，则通过给定端口附加到进程。Node.js 程序通常不再需要该设置，而且它没法再调试子进程，但在使用 Deno 和 Docker 启动等更复杂的场景中，它可能很有用。如果设置为 0，则将选择随机端口，并自动向启动参数添加 --inspect-brk。","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"自动将调试器附加到新的子进程。","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"启动调试目标的位置。","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code 调试控制台(不支持从程序读取输入)","VS Code 的集成终端","可通过用户设置来配置的外部终端"],"type":"string"},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"包含环境变量定义的文件的绝对路径。","type":"string"},"experimentalNetworking":{"default":"auto","description":"在 Node.js 中启用实验性检查。如果设置为 `自动`，则会为支持它的 Node.js 版本启用此功能。可以将其设置为 `开` 或 `关` 以显式启用或禁用它。","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"配置在停止会话时如何终止调试进程。可以是:\r\n\r\n- forceful (default): 强制关闭进程树。在 posix 上发送 SIGKILL，在 Windows 上发送 \"taskkill.exe /F\"。\r\n- polite: 正常关闭进程树。可能出现按此方式关闭后继续运行行为出错的进程的情况。在 posix 上发送 SIGTERM，在 Windows 上发送 \"taskkill.exe\" 但不带 \"/F\" (强制)标志。\r\n- 无: 将不终止。","type":"string"},"localRoot":{"default":null,"description":"包含该程序的本地目录的路径。","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"profileStartup":{"default":true,"description":"如果为 true，则将在进程启动后立即开始分析","type":"boolean"},"program":{"default":"","description":"程序的绝对路径。通过查看 package.json 和打开的文件猜测所生成的值。编辑此属性。","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"包含该程序的远程目录的绝对路径。","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"如果连接断开，请尝试重新连接到该程序。如果设置为 \"true\"，将始终每秒重试一次。可通过在对象中指定 \"delay\" 和 \"maxAttempts\" 来自定义时间间隔和最大尝试次数。","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"传递给运行时可执行文件的可选参数。","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"要使用的运行时。应为绝对路径或在 PATH 上可用的运行时名称。默认值为 \"node\"。","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"要使用的 \"node\" 运行时版本。需要 \"nvm\"。","type":"string"},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"stopOnEntry":{"default":true,"description":"启动后自动停止程序。","type":["boolean","string"]},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]}},"type":"object"},{"additionalProperties":false,"default":{"program":"npm start"},"description":"JavaScript 调试终端","properties":{"autoAttachChildProcesses":{"default":true,"description":"自动将调试器附加到新的子进程。","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"在启动的终端中运行命令。如果未提供命令，终端将在不启动程序的情况下打开。","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"包含环境变量定义的文件的绝对路径。","type":"string"},"localRoot":{"default":null,"description":"包含该程序的本地目录的路径。","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"remoteRoot":{"default":null,"description":"包含该程序的远程目录的绝对路径。","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","type":"array"},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]}},"type":"object"}]},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]},"url":{"default":"http://localhost:8080","description":"将搜索具有此确切网址的标签并附加到该标签(若找到)","tags":["setup"],"type":"string"},"urlFilter":{"default":"","description":"将使用此 URL 搜索页面，找到后将连接到该页面。可使用 * 通配符。","type":"string"},"useWebView":{"default":false,"description":"如果设置为“true”，则调试器会将运行时可执行文件视为包含 WebView 的主机应用程序，以允许你调试 WebView 脚本内容。","type":"boolean"},"userDataDir":{"default":true,"description":"默认情况下，在临时文件夹中使用单独的用户配置文件启动浏览器。使用此选项可进行替代。设置为 false 以使用默认用户配置文件启动。如果实例已从 `userDataDir` 运行，则无法启动新的浏览器。","type":["string","boolean"]},"vueComponentPaths":{"default":["${workspaceFolder}/**/*.vue"],"description":"用于查找 \"*.vue\" 组件的文件 glob 模式的列表。默认搜索整个工作区。需要指定此项，因为 Vue 的源映射需要在 Vue CLI 4 中进行额外查找。可通过将此项设置为空数组来禁用此特殊处理。","type":"array"},"webRoot":{"default":"${workspaceFolder}","description":"此设置指定 Web 服务器根的工作区绝对路径。用于将 `/app.js` 等路径解析为磁盘上的文件。pathMapping 的速记方式为 \"/\"","tags":["setup"],"type":"string"}}}},"configurationSnippets":[{"body":{"name":"Launch Edge","request":"launch","type":"msedge","url":"http://localhost:8080","webRoot":"^\"${2:\\${workspaceFolder\\}}\""},"description":"启动 Microsoft Edge 以调试 URL","label":"Edge: 启动"},{"body":{"name":"Attach to Edge","port":9222,"request":"attach","type":"msedge","webRoot":"^\"${2:\\${workspaceFolder\\}}\""},"description":"附加到已在调试模式下的 Edge 实例","label":"Edge: 附加"}],"label":"Web 应用(Edge)","strings":{"unverifiedBreakpoints":"无法设置某些断点。如果遇到问题，可以 [对启动配置进行故障排除](command:extension.js-debug.createDiagnostics)。"},"type":"msedge"},{"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","configurationAttributes":{"attach":{"properties":{"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"disableNetworkCache":{"default":true,"description":"控制是否跳过每个请求的网络缓存","type":"boolean"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"inspectUri":{"default":null,"description":"用于重写 inspectUri 的格式: 这是一个模板字符串，可插入 \"{curlyBraces}\" 中的键。可用的键包括:\r\n - \"url.*\" 是正在运行的应用程序的解析地址，例如 \"{url.port}\" 和 \"{url.hostname}\"\r\n - \"port\" 是 Chrome 正在侦听的调试端口。\r\n - \"browserInspectUri\" 是启动的浏览器上的检查器 URI\r\n - \"browserInspectUriPath\" 是启动的浏览器上的检查器 URI 的路径部分(例如 \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\")。\r\n - \"wsProtocol\" 是提示的 websocket 协议。如果原始 URL 为 \"https\"，则设置为 \"wss\"，否则为 \"ws\"。\r\n","type":["string","null"]},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pathMapping":{"default":{},"description":"将 URL/路径映射到本地文件夹，以将浏览器中的脚本解析为磁盘上的脚本","type":"object"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"perScriptSourcemaps":{"default":"auto","description":"是否使用包含源文件基本名称的唯一源映射单独加载脚本。处理大量小型脚本时，可以设置此项来优化源映射处理。如果设置为“自动”，将在可以检测已知用例时进行检测。","enum":["yes","no","auto"],"type":"string"},"resolveSourceMapLocations":{"default":null,"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"server":{"oneOf":[{"additionalProperties":false,"default":{"program":"node my-server.js"},"description":"配置要启动的 Web 服务器。采用与 \"node\" 启动任务相同的配置。","properties":{"args":{"default":[],"description":"传递给程序的命令行参数。\r\n\r\n可以是字符串数组或单个字符串。在终端中启动程序时，将此属性设置为单个字符串将导致 shell 的参数无法转义。","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"如果设置，则通过给定端口附加到进程。Node.js 程序通常不再需要该设置，而且它没法再调试子进程，但在使用 Deno 和 Docker 启动等更复杂的场景中，它可能很有用。如果设置为 0，则将选择随机端口，并自动向启动参数添加 --inspect-brk。","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"自动将调试器附加到新的子进程。","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"启动调试目标的位置。","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code 调试控制台(不支持从程序读取输入)","VS Code 的集成终端","可通过用户设置来配置的外部终端"],"type":"string"},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"包含环境变量定义的文件的绝对路径。","type":"string"},"experimentalNetworking":{"default":"auto","description":"在 Node.js 中启用实验性检查。如果设置为 `自动`，则会为支持它的 Node.js 版本启用此功能。可以将其设置为 `开` 或 `关` 以显式启用或禁用它。","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"配置在停止会话时如何终止调试进程。可以是:\r\n\r\n- forceful (default): 强制关闭进程树。在 posix 上发送 SIGKILL，在 Windows 上发送 \"taskkill.exe /F\"。\r\n- polite: 正常关闭进程树。可能出现按此方式关闭后继续运行行为出错的进程的情况。在 posix 上发送 SIGTERM，在 Windows 上发送 \"taskkill.exe\" 但不带 \"/F\" (强制)标志。\r\n- 无: 将不终止。","type":"string"},"localRoot":{"default":null,"description":"包含该程序的本地目录的路径。","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"profileStartup":{"default":true,"description":"如果为 true，则将在进程启动后立即开始分析","type":"boolean"},"program":{"default":"","description":"程序的绝对路径。通过查看 package.json 和打开的文件猜测所生成的值。编辑此属性。","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"包含该程序的远程目录的绝对路径。","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"如果连接断开，请尝试重新连接到该程序。如果设置为 \"true\"，将始终每秒重试一次。可通过在对象中指定 \"delay\" 和 \"maxAttempts\" 来自定义时间间隔和最大尝试次数。","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"传递给运行时可执行文件的可选参数。","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"要使用的运行时。应为绝对路径或在 PATH 上可用的运行时名称。默认值为 \"node\"。","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"要使用的 \"node\" 运行时版本。需要 \"nvm\"。","type":"string"},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"stopOnEntry":{"default":true,"description":"启动后自动停止程序。","type":["boolean","string"]},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]}},"type":"object"},{"additionalProperties":false,"default":{"program":"npm start"},"description":"JavaScript 调试终端","properties":{"autoAttachChildProcesses":{"default":true,"description":"自动将调试器附加到新的子进程。","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"在启动的终端中运行命令。如果未提供命令，终端将在不启动程序的情况下打开。","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"包含环境变量定义的文件的绝对路径。","type":"string"},"localRoot":{"default":null,"description":"包含该程序的本地目录的路径。","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"remoteRoot":{"default":null,"description":"包含该程序的远程目录的绝对路径。","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","type":"array"},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]}},"type":"object"}]},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]},"url":{"default":"http://localhost:8080","description":"将搜索具有此确切网址的标签并附加到该标签(若找到)","tags":["setup"],"type":"string"},"urlFilter":{"default":"","description":"将使用此 URL 搜索页面，找到后将连接到该页面。可使用 * 通配符。","type":"string"},"vueComponentPaths":{"default":["${workspaceFolder}/**/*.vue"],"description":"用于查找 \"*.vue\" 组件的文件 glob 模式的列表。默认搜索整个工作区。需要指定此项，因为 Vue 的源映射需要在 Vue CLI 4 中进行额外查找。可通过将此项设置为空数组来禁用此特殊处理。","type":"array"},"webRoot":{"default":"${workspaceFolder}","description":"此设置指定 Web 服务器根的工作区绝对路径。用于将 `/app.js` 等路径解析为磁盘上的文件。pathMapping 的速记方式为 \"/\"","tags":["setup"],"type":"string"}}},"launch":{"properties":{"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"disableNetworkCache":{"default":true,"description":"控制是否跳过每个请求的网络缓存","type":"boolean"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"inspectUri":{"default":null,"description":"用于重写 inspectUri 的格式: 这是一个模板字符串，可插入 \"{curlyBraces}\" 中的键。可用的键包括:\r\n - \"url.*\" 是正在运行的应用程序的解析地址，例如 \"{url.port}\" 和 \"{url.hostname}\"\r\n - \"port\" 是 Chrome 正在侦听的调试端口。\r\n - \"browserInspectUri\" 是启动的浏览器上的检查器 URI\r\n - \"browserInspectUriPath\" 是启动的浏览器上的检查器 URI 的路径部分(例如 \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\")。\r\n - \"wsProtocol\" 是提示的 websocket 协议。如果原始 URL 为 \"https\"，则设置为 \"wss\"，否则为 \"ws\"。\r\n","type":["string","null"]},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pathMapping":{"default":{},"description":"将 URL/路径映射到本地文件夹，以将浏览器中的脚本解析为磁盘上的脚本","type":"object"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"perScriptSourcemaps":{"default":"auto","description":"是否使用包含源文件基本名称的唯一源映射单独加载脚本。处理大量小型脚本时，可以设置此项来优化源映射处理。如果设置为“自动”，将在可以检测已知用例时进行检测。","enum":["yes","no","auto"],"type":"string"},"resolveSourceMapLocations":{"default":null,"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"server":{"oneOf":[{"additionalProperties":false,"default":{"program":"node my-server.js"},"description":"配置要启动的 Web 服务器。采用与 \"node\" 启动任务相同的配置。","properties":{"args":{"default":[],"description":"传递给程序的命令行参数。\r\n\r\n可以是字符串数组或单个字符串。在终端中启动程序时，将此属性设置为单个字符串将导致 shell 的参数无法转义。","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"如果设置，则通过给定端口附加到进程。Node.js 程序通常不再需要该设置，而且它没法再调试子进程，但在使用 Deno 和 Docker 启动等更复杂的场景中，它可能很有用。如果设置为 0，则将选择随机端口，并自动向启动参数添加 --inspect-brk。","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"自动将调试器附加到新的子进程。","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"启动调试目标的位置。","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code 调试控制台(不支持从程序读取输入)","VS Code 的集成终端","可通过用户设置来配置的外部终端"],"type":"string"},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"包含环境变量定义的文件的绝对路径。","type":"string"},"experimentalNetworking":{"default":"auto","description":"在 Node.js 中启用实验性检查。如果设置为 `自动`，则会为支持它的 Node.js 版本启用此功能。可以将其设置为 `开` 或 `关` 以显式启用或禁用它。","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"配置在停止会话时如何终止调试进程。可以是:\r\n\r\n- forceful (default): 强制关闭进程树。在 posix 上发送 SIGKILL，在 Windows 上发送 \"taskkill.exe /F\"。\r\n- polite: 正常关闭进程树。可能出现按此方式关闭后继续运行行为出错的进程的情况。在 posix 上发送 SIGTERM，在 Windows 上发送 \"taskkill.exe\" 但不带 \"/F\" (强制)标志。\r\n- 无: 将不终止。","type":"string"},"localRoot":{"default":null,"description":"包含该程序的本地目录的路径。","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"profileStartup":{"default":true,"description":"如果为 true，则将在进程启动后立即开始分析","type":"boolean"},"program":{"default":"","description":"程序的绝对路径。通过查看 package.json 和打开的文件猜测所生成的值。编辑此属性。","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"包含该程序的远程目录的绝对路径。","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"如果连接断开，请尝试重新连接到该程序。如果设置为 \"true\"，将始终每秒重试一次。可通过在对象中指定 \"delay\" 和 \"maxAttempts\" 来自定义时间间隔和最大尝试次数。","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"传递给运行时可执行文件的可选参数。","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"要使用的运行时。应为绝对路径或在 PATH 上可用的运行时名称。默认值为 \"node\"。","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"要使用的 \"node\" 运行时版本。需要 \"nvm\"。","type":"string"},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"stopOnEntry":{"default":true,"description":"启动后自动停止程序。","type":["boolean","string"]},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]}},"type":"object"},{"additionalProperties":false,"default":{"program":"npm start"},"description":"JavaScript 调试终端","properties":{"autoAttachChildProcesses":{"default":true,"description":"自动将调试器附加到新的子进程。","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"在启动的终端中运行命令。如果未提供命令，终端将在不启动程序的情况下打开。","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"包含环境变量定义的文件的绝对路径。","type":"string"},"localRoot":{"default":null,"description":"包含该程序的本地目录的路径。","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"remoteRoot":{"default":null,"description":"包含该程序的远程目录的绝对路径。","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","type":"array"},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]}},"type":"object"}]},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]},"url":{"default":"http://localhost:8080","description":"将搜索具有此确切网址的标签并附加到该标签(若找到)","tags":["setup"],"type":"string"},"urlFilter":{"default":"","description":"将使用此 URL 搜索页面，找到后将连接到该页面。可使用 * 通配符。","type":"string"},"vueComponentPaths":{"default":["${workspaceFolder}/**/*.vue"],"description":"用于查找 \"*.vue\" 组件的文件 glob 模式的列表。默认搜索整个工作区。需要指定此项，因为 Vue 的源映射需要在 Vue CLI 4 中进行额外查找。可通过将此项设置为空数组来禁用此特殊处理。","type":"array"},"webRoot":{"default":"${workspaceFolder}","description":"此设置指定 Web 服务器根的工作区绝对路径。用于将 `/app.js` 等路径解析为磁盘上的文件。pathMapping 的速记方式为 \"/\"","tags":["setup"],"type":"string"}},"required":["url"]}},"configurationSnippets":[],"deprecated":"Please use type editor-browser instead","label":"Web 应用(集成浏览器)","languages":["javascript","typescript","javascriptreact","typescriptreact","html","css","coffeescript","handlebars","vue"],"strings":{"unverifiedBreakpoints":"无法设置某些断点。如果遇到问题，可以 [对启动配置进行故障排除](command:extension.js-debug.createDiagnostics)。"},"type":"pwa-editor-browser","when":"!isWeb"},{"aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","configurationAttributes":{"attach":{"properties":{"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"disableNetworkCache":{"default":true,"description":"控制是否跳过每个请求的网络缓存","type":"boolean"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"inspectUri":{"default":null,"description":"用于重写 inspectUri 的格式: 这是一个模板字符串，可插入 \"{curlyBraces}\" 中的键。可用的键包括:\r\n - \"url.*\" 是正在运行的应用程序的解析地址，例如 \"{url.port}\" 和 \"{url.hostname}\"\r\n - \"port\" 是 Chrome 正在侦听的调试端口。\r\n - \"browserInspectUri\" 是启动的浏览器上的检查器 URI\r\n - \"browserInspectUriPath\" 是启动的浏览器上的检查器 URI 的路径部分(例如 \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\")。\r\n - \"wsProtocol\" 是提示的 websocket 协议。如果原始 URL 为 \"https\"，则设置为 \"wss\"，否则为 \"ws\"。\r\n","type":["string","null"]},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pathMapping":{"default":{},"description":"将 URL/路径映射到本地文件夹，以将浏览器中的脚本解析为磁盘上的脚本","type":"object"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"perScriptSourcemaps":{"default":"auto","description":"是否使用包含源文件基本名称的唯一源映射单独加载脚本。处理大量小型脚本时，可以设置此项来优化源映射处理。如果设置为“自动”，将在可以检测已知用例时进行检测。","enum":["yes","no","auto"],"type":"string"},"resolveSourceMapLocations":{"default":null,"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"server":{"oneOf":[{"additionalProperties":false,"default":{"program":"node my-server.js"},"description":"配置要启动的 Web 服务器。采用与 \"node\" 启动任务相同的配置。","properties":{"args":{"default":[],"description":"传递给程序的命令行参数。\r\n\r\n可以是字符串数组或单个字符串。在终端中启动程序时，将此属性设置为单个字符串将导致 shell 的参数无法转义。","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"如果设置，则通过给定端口附加到进程。Node.js 程序通常不再需要该设置，而且它没法再调试子进程，但在使用 Deno 和 Docker 启动等更复杂的场景中，它可能很有用。如果设置为 0，则将选择随机端口，并自动向启动参数添加 --inspect-brk。","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"自动将调试器附加到新的子进程。","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"启动调试目标的位置。","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code 调试控制台(不支持从程序读取输入)","VS Code 的集成终端","可通过用户设置来配置的外部终端"],"type":"string"},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"包含环境变量定义的文件的绝对路径。","type":"string"},"experimentalNetworking":{"default":"auto","description":"在 Node.js 中启用实验性检查。如果设置为 `自动`，则会为支持它的 Node.js 版本启用此功能。可以将其设置为 `开` 或 `关` 以显式启用或禁用它。","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"配置在停止会话时如何终止调试进程。可以是:\r\n\r\n- forceful (default): 强制关闭进程树。在 posix 上发送 SIGKILL，在 Windows 上发送 \"taskkill.exe /F\"。\r\n- polite: 正常关闭进程树。可能出现按此方式关闭后继续运行行为出错的进程的情况。在 posix 上发送 SIGTERM，在 Windows 上发送 \"taskkill.exe\" 但不带 \"/F\" (强制)标志。\r\n- 无: 将不终止。","type":"string"},"localRoot":{"default":null,"description":"包含该程序的本地目录的路径。","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"profileStartup":{"default":true,"description":"如果为 true，则将在进程启动后立即开始分析","type":"boolean"},"program":{"default":"","description":"程序的绝对路径。通过查看 package.json 和打开的文件猜测所生成的值。编辑此属性。","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"包含该程序的远程目录的绝对路径。","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"如果连接断开，请尝试重新连接到该程序。如果设置为 \"true\"，将始终每秒重试一次。可通过在对象中指定 \"delay\" 和 \"maxAttempts\" 来自定义时间间隔和最大尝试次数。","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"传递给运行时可执行文件的可选参数。","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"要使用的运行时。应为绝对路径或在 PATH 上可用的运行时名称。默认值为 \"node\"。","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"要使用的 \"node\" 运行时版本。需要 \"nvm\"。","type":"string"},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"stopOnEntry":{"default":true,"description":"启动后自动停止程序。","type":["boolean","string"]},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]}},"type":"object"},{"additionalProperties":false,"default":{"program":"npm start"},"description":"JavaScript 调试终端","properties":{"autoAttachChildProcesses":{"default":true,"description":"自动将调试器附加到新的子进程。","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"在启动的终端中运行命令。如果未提供命令，终端将在不启动程序的情况下打开。","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"包含环境变量定义的文件的绝对路径。","type":"string"},"localRoot":{"default":null,"description":"包含该程序的本地目录的路径。","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"remoteRoot":{"default":null,"description":"包含该程序的远程目录的绝对路径。","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","type":"array"},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]}},"type":"object"}]},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]},"url":{"default":"http://localhost:8080","description":"将搜索具有此确切网址的标签并附加到该标签(若找到)","tags":["setup"],"type":"string"},"urlFilter":{"default":"","description":"将使用此 URL 搜索页面，找到后将连接到该页面。可使用 * 通配符。","type":"string"},"vueComponentPaths":{"default":["${workspaceFolder}/**/*.vue"],"description":"用于查找 \"*.vue\" 组件的文件 glob 模式的列表。默认搜索整个工作区。需要指定此项，因为 Vue 的源映射需要在 Vue CLI 4 中进行额外查找。可通过将此项设置为空数组来禁用此特殊处理。","type":"array"},"webRoot":{"default":"${workspaceFolder}","description":"此设置指定 Web 服务器根的工作区绝对路径。用于将 `/app.js` 等路径解析为磁盘上的文件。pathMapping 的速记方式为 \"/\"","tags":["setup"],"type":"string"}}},"launch":{"properties":{"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"disableNetworkCache":{"default":true,"description":"控制是否跳过每个请求的网络缓存","type":"boolean"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"inspectUri":{"default":null,"description":"用于重写 inspectUri 的格式: 这是一个模板字符串，可插入 \"{curlyBraces}\" 中的键。可用的键包括:\r\n - \"url.*\" 是正在运行的应用程序的解析地址，例如 \"{url.port}\" 和 \"{url.hostname}\"\r\n - \"port\" 是 Chrome 正在侦听的调试端口。\r\n - \"browserInspectUri\" 是启动的浏览器上的检查器 URI\r\n - \"browserInspectUriPath\" 是启动的浏览器上的检查器 URI 的路径部分(例如 \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\")。\r\n - \"wsProtocol\" 是提示的 websocket 协议。如果原始 URL 为 \"https\"，则设置为 \"wss\"，否则为 \"ws\"。\r\n","type":["string","null"]},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pathMapping":{"default":{},"description":"将 URL/路径映射到本地文件夹，以将浏览器中的脚本解析为磁盘上的脚本","type":"object"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"perScriptSourcemaps":{"default":"auto","description":"是否使用包含源文件基本名称的唯一源映射单独加载脚本。处理大量小型脚本时，可以设置此项来优化源映射处理。如果设置为“自动”，将在可以检测已知用例时进行检测。","enum":["yes","no","auto"],"type":"string"},"resolveSourceMapLocations":{"default":null,"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"server":{"oneOf":[{"additionalProperties":false,"default":{"program":"node my-server.js"},"description":"配置要启动的 Web 服务器。采用与 \"node\" 启动任务相同的配置。","properties":{"args":{"default":[],"description":"传递给程序的命令行参数。\r\n\r\n可以是字符串数组或单个字符串。在终端中启动程序时，将此属性设置为单个字符串将导致 shell 的参数无法转义。","items":{"type":"string"},"tags":["setup"],"type":["array","string"]},"attachSimplePort":{"default":9229,"description":"如果设置，则通过给定端口附加到进程。Node.js 程序通常不再需要该设置，而且它没法再调试子进程，但在使用 Deno 和 Docker 启动等更复杂的场景中，它可能很有用。如果设置为 0，则将选择随机端口，并自动向启动参数添加 --inspect-brk。","oneOf":[{"type":"integer"},{"pattern":"^\\${.*}$","type":"string"}]},"autoAttachChildProcesses":{"default":true,"description":"自动将调试器附加到新的子进程。","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"console":{"default":"internalConsole","description":"启动调试目标的位置。","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code 调试控制台(不支持从程序读取输入)","VS Code 的集成终端","可通过用户设置来配置的外部终端"],"type":"string"},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"包含环境变量定义的文件的绝对路径。","type":"string"},"experimentalNetworking":{"default":"auto","description":"在 Node.js 中启用实验性检查。如果设置为 `自动`，则会为支持它的 Node.js 版本启用此功能。可以将其设置为 `开` 或 `关` 以显式启用或禁用它。","enum":["auto","on","off"],"type":"string"},"killBehavior":{"default":"forceful","enum":["forceful","polite","none"],"markdownDescription":"配置在停止会话时如何终止调试进程。可以是:\r\n\r\n- forceful (default): 强制关闭进程树。在 posix 上发送 SIGKILL，在 Windows 上发送 \"taskkill.exe /F\"。\r\n- polite: 正常关闭进程树。可能出现按此方式关闭后继续运行行为出错的进程的情况。在 posix 上发送 SIGTERM，在 Windows 上发送 \"taskkill.exe\" 但不带 \"/F\" (强制)标志。\r\n- 无: 将不终止。","type":"string"},"localRoot":{"default":null,"description":"包含该程序的本地目录的路径。","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"profileStartup":{"default":true,"description":"如果为 true，则将在进程启动后立即开始分析","type":"boolean"},"program":{"default":"","description":"程序的绝对路径。通过查看 package.json 和打开的文件猜测所生成的值。编辑此属性。","tags":["setup"],"type":"string"},"remoteRoot":{"default":null,"description":"包含该程序的远程目录的绝对路径。","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"restart":{"default":true,"description":"如果连接断开，请尝试重新连接到该程序。如果设置为 \"true\"，将始终每秒重试一次。可通过在对象中指定 \"delay\" 和 \"maxAttempts\" 来自定义时间间隔和最大尝试次数。","oneOf":[{"type":"boolean"},{"properties":{"delay":{"default":1000,"minimum":0,"type":"number"},"maxAttempts":{"default":10,"minimum":0,"type":"number"}},"type":"object"}]},"runtimeArgs":{"default":[],"description":"传递给运行时可执行文件的可选参数。","items":{"type":"string"},"tags":["setup"],"type":"array"},"runtimeExecutable":{"default":"node","markdownDescription":"要使用的运行时。应为绝对路径或在 PATH 上可用的运行时名称。默认值为 \"node\"。","type":["string","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","type":"array"},"runtimeVersion":{"default":"default","markdownDescription":"要使用的 \"node\" 运行时版本。需要 \"nvm\"。","type":"string"},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"stopOnEntry":{"default":true,"description":"启动后自动停止程序。","type":["boolean","string"]},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]}},"type":"object"},{"additionalProperties":false,"default":{"program":"npm start"},"description":"JavaScript 调试终端","properties":{"autoAttachChildProcesses":{"default":true,"description":"自动将调试器附加到新的子进程。","type":"boolean"},"cascadeTerminateToConfigurations":{"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。","items":{"type":"string","uniqueItems":true},"type":"array"},"command":{"default":"npm start","description":"在启动的终端中运行命令。如果未提供命令，终端将在不启动程序的情况下打开。","tags":["setup"],"type":["string","null"]},"customDescriptionGenerator":{"description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      ","type":"string"},"customPropertiesGenerator":{"deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181","type":"string"},"cwd":{"default":"${workspaceFolder}","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"],"type":"string"},"enableContentValidation":{"default":true,"description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。","type":"boolean"},"enableDWARF":{"default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。","type":"boolean"},"env":{"additionalProperties":{"type":["string","null"]},"default":{},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","tags":["setup"],"type":"object"},"envFile":{"default":"${workspaceFolder}/.env","description":"包含环境变量定义的文件的绝对路径。","type":"string"},"localRoot":{"default":null,"description":"包含该程序的本地目录的路径。","type":["string","null"]},"nodeVersionHint":{"default":12,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","minimum":8,"type":"number"},"outFiles":{"default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","items":{"type":"string"},"tags":["setup"],"type":["array"]},"outputCapture":{"default":"console","enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。"},"pauseForSourceMap":{"default":false,"markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","type":"boolean"},"remoteRoot":{"default":null,"description":"包含该程序的远程目录的绝对路径。","type":["string","null"]},"resolveSourceMapLocations":{"default":["${workspaceFolder}/**","!**/node_modules/**"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","items":{"type":"string"},"type":["array","null"]},"runtimeSourcemapPausePatterns":{"default":[],"items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","type":"array"},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]}},"type":"object"}]},"showAsyncStacks":{"default":true,"description":"显示导致当前调用堆栈的异步调用。","oneOf":[{"type":"boolean"},{"properties":{"onAttach":{"default":32,"type":"number"}},"required":["onAttach"],"type":"object"},{"properties":{"onceBreakpointResolved":{"default":32,"type":"number"}},"required":["onceBreakpointResolved"],"type":"object"}]},"skipFiles":{"default":["${/**"],"description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","type":"array"},"smartStep":{"default":true,"description":"通过单步执行自动生成的代码不能映射回原始源。","type":"boolean"},"sourceMapPathOverrides":{"default":{"meteor://💻app/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","webpack://?:*/*":"${workspaceFolder}/*"},"description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","type":"object"},"sourceMapRenames":{"default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。","type":"boolean"},"sourceMaps":{"default":true,"description":"使用 JavaScript 源映射(如存在)。","type":"boolean"},"timeout":{"default":10000,"description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","type":"number"},"timeouts":{"additionalProperties":false,"default":{},"description":"多个调试程序操作的超时。","markdownDescription":"多个调试程序操作的超时。","properties":{"hoverEvaluation":{"default":500,"description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","type":"number"},"sourceMapCumulativePause":{"default":1000,"description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","type":"number"},"sourceMapMinPause":{"default":1000,"description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","type":"number"}},"type":"object"},"trace":{"default":true,"description":"配置生成哪些诊断输出。","oneOf":[{"description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。","type":"boolean"},{"additionalProperties":false,"properties":{"logFile":{"description":"配置磁盘日志的写入位置。","type":["string","null"]},"stdio":{"description":"是否从启动的应用程序或浏览器返回跟踪数据。","type":"boolean"}},"type":"object"}]},"url":{"default":"http://localhost:8080","description":"将搜索具有此确切网址的标签并附加到该标签(若找到)","tags":["setup"],"type":"string"},"urlFilter":{"default":"","description":"将使用此 URL 搜索页面，找到后将连接到该页面。可使用 * 通配符。","type":"string"},"vueComponentPaths":{"default":["${workspaceFolder}/**/*.vue"],"description":"用于查找 \"*.vue\" 组件的文件 glob 模式的列表。默认搜索整个工作区。需要指定此项，因为 Vue 的源映射需要在 Vue CLI 4 中进行额外查找。可通过将此项设置为空数组来禁用此特殊处理。","type":"array"},"webRoot":{"default":"${workspaceFolder}","description":"此设置指定 Web 服务器根的工作区绝对路径。用于将 `/app.js` 等路径解析为磁盘上的文件。pathMapping 的速记方式为 \"/\"","tags":["setup"],"type":"string"}},"required":["url"]}},"configurationSnippets":[{"body":{"name":"Launch Integrated Browser","request":"launch","type":"editor-browser","url":"http://localhost:8080","webRoot":"^\"${2:\\${workspaceFolder\\}}\""},"description":"启动 VS Code 集成浏览器以调试 URL","label":"集成浏览器: 启动"},{"body":{"name":"Attach to Integrated Browser","request":"attach","type":"editor-browser","webRoot":"^\"${2:\\${workspaceFolder\\}}\""},"description":"附加到打开的 VS Code 集成浏览器","label":"集成浏览器: 附加"}],"label":"Web 应用(集成浏览器)","strings":{"unverifiedBreakpoints":"无法设置某些断点。如果遇到问题，可以 [对启动配置进行故障排除](command:extension.js-debug.createDiagnostics)。"},"type":"editor-browser","when":"!isWeb"}],"commands":[{"command":"extension.js-debug.prettyPrint","title":{"value":"用于调试的美观格式打印","original":"Pretty print for debugging"},"category":"Debug","icon":"$(json)"},{"command":"extension.js-debug.toggleSkippingFile","title":{"value":"跳过此文件的开关","original":"Toggle Skipping this File"},"category":"Debug"},{"command":"extension.js-debug.addCustomBreakpoints","title":{"value":"切换事件侦听器断点","original":"Toggle Event Listener Breakpoints"},"icon":"$(add)"},{"command":"extension.js-debug.removeAllCustomBreakpoints","title":{"value":"移除所有事件侦听器断点","original":"Remove All Event Listener Breakpoints"},"icon":"$(close-all)"},{"command":"extension.js-debug.addXHRBreakpoints","title":{"value":"添加 XHR/提取断点","original":"Add XHR/fetch Breakpoint"},"icon":"$(add)"},{"command":"extension.js-debug.removeXHRBreakpoint","title":{"value":"删除 XHR/提取断点","original":"Remove XHR/fetch Breakpoint"},"icon":"$(remove)"},{"command":"extension.js-debug.editXHRBreakpoints","title":{"value":"编辑 XHR/提取断点","original":"Edit XHR/fetch Breakpoint"},"icon":"$(edit)"},{"command":"extension.pwa-node-debug.attachNodeProcess","title":{"value":"附加到 Node 进程","original":"Attach to Node Process"},"category":"Debug"},{"command":"extension.js-debug.npmScript","title":{"value":"调试 npm 脚本","original":"Debug npm Script"},"category":"Debug"},{"command":"extension.js-debug.createDebuggerTerminal","title":{"value":"JavaScript 调试终端","original":"JavaScript Debug Terminal"},"category":"Debug"},{"command":"extension.js-debug.startProfile","title":{"value":"获取性能配置文件","original":"Take Performance Profile"},"category":"Debug","icon":"$(record)"},{"command":"extension.js-debug.stopProfile","title":{"value":"停止性能配置文件","original":"Stop Performance Profile"},"category":"Debug","icon":"resources/dark/stop-profiling.svg"},{"command":"extension.js-debug.revealPage","title":{"value":"焦点选项卡","original":"Focus Tab"},"category":"Debug"},{"command":"extension.js-debug.debugLink","title":{"value":"打开链接","original":"Open Link"},"category":"Debug"},{"command":"extension.js-debug.createDiagnostics","title":{"value":"诊断断点问题","original":"Diagnose Breakpoint Problems"},"category":"Debug"},{"command":"extension.js-debug.getDiagnosticLogs","title":{"value":"保存诊断 JS 调试日志","original":"Save Diagnostic JS Debug Logs"},"category":"Debug"},{"command":"extension.node-debug.startWithStopOnEntry","title":{"value":"开始调试并在输入时停止","original":"Start Debugging and Stop on Entry"},"category":"Debug"},{"command":"extension.js-debug.openEdgeDevTools","title":{"value":"打开浏览器开发工具","original":"Open Browser Devtools"},"icon":"$(inspect)","category":"Debug"},{"command":"extension.js-debug.callers.add","title":{"value":"排除调用方","original":"Exclude Caller"},"category":"Debug"},{"command":"extension.js-debug.callers.remove","title":{"value":"移除排除的调用方","original":"Remove excluded caller"},"icon":"$(close)"},{"command":"extension.js-debug.callers.removeAll","title":{"value":"删除所有排除的调用方","original":"Remove all excluded callers"},"icon":"$(clear-all)"},{"command":"extension.js-debug.callers.goToCaller","title":{"value":"转到调用方位置","original":"Go to caller location"},"icon":"$(call-outgoing)"},{"command":"extension.js-debug.callers.gotToTarget","title":{"value":"转到目标位置","original":"Go to target location"},"icon":"$(call-incoming)"},{"command":"extension.js-debug.enableSourceMapStepping","title":{"value":"启用源映射单步执行","original":"Enable Source Mapped Stepping"},"icon":"$(compass-dot)"},{"command":"extension.js-debug.disableSourceMapStepping","title":{"value":"禁用源映射单步执行","original":"Disable Source Mapped Stepping"},"icon":"$(compass)"},{"command":"extension.js-debug.network.viewRequest","title":{"value":"以 cURL 形式查看请求","original":"View Request as cURL"},"icon":"$(arrow-right)"},{"command":"extension.js-debug.network.clear","title":{"value":"清除网络日志","original":"Clear Network Log"},"icon":"$(clear-all)"},{"command":"extension.js-debug.network.openBody","title":{"value":"打开响应正文","original":"Open Response Body"}},{"command":"extension.js-debug.network.openBodyInHex","title":{"value":"在十六进制编辑器中打开响应正文","original":"Open Response Body in Hex Editor"}},{"command":"extension.js-debug.network.replayXHR","title":{"value":"重播请求","original":"Replay Request"}},{"command":"extension.js-debug.network.copyUri","title":{"value":"复制请求 URL","original":"Copy Request URL"}}],"keybindings":[{"command":"extension.node-debug.startWithStopOnEntry","key":"F10","mac":"F10","when":"debugConfigurationType == pwa-node && !inDebugMode || debugConfigurationType == pwa-extensionHost && !inDebugMode || debugConfigurationType == node && !inDebugMode"},{"command":"extension.node-debug.startWithStopOnEntry","key":"F11","mac":"F11","when":"debugConfigurationType == pwa-node && !inDebugMode && activeViewlet == workbench.view.debug || debugConfigurationType == pwa-extensionHost && !inDebugMode && activeViewlet == workbench.view.debug || debugConfigurationType == node && !inDebugMode && activeViewlet == workbench.view.debug"}],"configuration":{"title":"JavaScript Debugger","properties":{"debug.javascript.codelens.npmScripts":{"enum":["top","all","never"],"default":"top","description":"在 npm 脚本中应显示“运行”和“调试”代码的位置。 它可以在脚本部分的“全部”、脚本、脚本部分的“顶部”或“从不”上面。"},"debug.javascript.terminalOptions":{"type":"object","description":"JavaScript 调试终端和 npm 脚本的默认启动选项。","default":{},"properties":{"resolveSourceMapLocations":{"type":["array","null"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","default":["${workspaceFolder}/**","!**/node_modules/**"],"items":{"type":"string"}},"outFiles":{"type":["array"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"items":{"type":"string"},"tags":["setup"]},"pauseForSourceMap":{"type":"boolean","markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","default":false},"showAsyncStacks":{"description":"显示导致当前调用堆栈的异步调用。","default":true,"oneOf":[{"type":"boolean"},{"type":"object","required":["onAttach"],"properties":{"onAttach":{"type":"number","default":32}}},{"type":"object","required":["onceBreakpointResolved"],"properties":{"onceBreakpointResolved":{"type":"number","default":32}}}]},"skipFiles":{"type":"array","description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","default":["${/**"]},"smartStep":{"type":"boolean","description":"通过单步执行自动生成的代码不能映射回原始源。","default":true},"sourceMaps":{"type":"boolean","description":"使用 JavaScript 源映射(如存在)。","default":true},"sourceMapRenames":{"type":"boolean","default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。"},"sourceMapPathOverrides":{"type":"object","description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","default":{"webpack://?:*/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","meteor://💻app/*":"${workspaceFolder}/*"}},"timeout":{"type":"number","description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","default":10000},"timeouts":{"type":"object","description":"多个调试程序操作的超时。","default":{},"properties":{"sourceMapMinPause":{"type":"number","description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","default":1000},"sourceMapCumulativePause":{"type":"number","description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","default":1000},"hoverEvaluation":{"type":"number","description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","default":500}},"additionalProperties":false,"markdownDescription":"多个调试程序操作的超时。"},"trace":{"description":"配置生成哪些诊断输出。","default":true,"oneOf":[{"type":"boolean","description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。"},{"type":"object","additionalProperties":false,"properties":{"stdio":{"type":"boolean","description":"是否从启动的应用程序或浏览器返回跟踪数据。"},"logFile":{"type":["string","null"],"description":"配置磁盘日志的写入位置。"}}}]},"outputCapture":{"enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。","default":"console"},"enableContentValidation":{"default":true,"type":"boolean","description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。"},"customDescriptionGenerator":{"type":"string","description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      "},"customPropertiesGenerator":{"type":"string","deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181"},"cascadeTerminateToConfigurations":{"type":"array","items":{"type":"string","uniqueItems":true},"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。"},"enableDWARF":{"type":"boolean","default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。"},"cwd":{"type":"string","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","default":"${workspaceFolder}","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"]},"localRoot":{"type":["string","null"],"description":"包含该程序的本地目录的路径。","default":null},"remoteRoot":{"type":["string","null"],"description":"包含该程序的远程目录的绝对路径。","default":null},"autoAttachChildProcesses":{"type":"boolean","description":"自动将调试器附加到新的子进程。","default":true},"env":{"type":"object","additionalProperties":{"type":["string","null"]},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","default":{},"tags":["setup"]},"envFile":{"type":"string","description":"包含环境变量定义的文件的绝对路径。","default":"${workspaceFolder}/.env"},"runtimeSourcemapPausePatterns":{"type":"array","items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","default":[]},"nodeVersionHint":{"type":"number","minimum":8,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","default":12},"command":{"type":["string","null"],"description":"在启动的终端中运行命令。如果未提供命令，终端将在不启动程序的情况下打开。","default":"npm start","tags":["setup"]}}},"debug.javascript.automaticallyTunnelRemoteServer":{"type":"boolean","description":"调试远程 Web 应用时，配置是否自动将远程服务器通过隧道传输到本地计算机。","default":true},"debug.javascript.debugByLinkOptions":{"default":"on","description":"调试时从调试终端内部单击链接使用的选项。可设置为\"false\"以禁用此行为。","oneOf":[{"type":"string","enum":["on","off","always"]},{"type":"object","properties":{"resolveSourceMapLocations":{"type":["array","null"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","default":null,"items":{"type":"string"}},"outFiles":{"type":["array"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"items":{"type":"string"},"tags":["setup"]},"pauseForSourceMap":{"type":"boolean","markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","default":false},"showAsyncStacks":{"description":"显示导致当前调用堆栈的异步调用。","default":true,"oneOf":[{"type":"boolean"},{"type":"object","required":["onAttach"],"properties":{"onAttach":{"type":"number","default":32}}},{"type":"object","required":["onceBreakpointResolved"],"properties":{"onceBreakpointResolved":{"type":"number","default":32}}}]},"skipFiles":{"type":"array","description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","default":["${/**"]},"smartStep":{"type":"boolean","description":"通过单步执行自动生成的代码不能映射回原始源。","default":true},"sourceMaps":{"type":"boolean","description":"使用 JavaScript 源映射(如存在)。","default":true},"sourceMapRenames":{"type":"boolean","default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。"},"sourceMapPathOverrides":{"type":"object","description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","default":{"webpack://?:*/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","meteor://💻app/*":"${workspaceFolder}/*"}},"timeout":{"type":"number","description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","default":10000},"timeouts":{"type":"object","description":"多个调试程序操作的超时。","default":{},"properties":{"sourceMapMinPause":{"type":"number","description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","default":1000},"sourceMapCumulativePause":{"type":"number","description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","default":1000},"hoverEvaluation":{"type":"number","description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","default":500}},"additionalProperties":false,"markdownDescription":"多个调试程序操作的超时。"},"trace":{"description":"配置生成哪些诊断输出。","default":true,"oneOf":[{"type":"boolean","description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。"},{"type":"object","additionalProperties":false,"properties":{"stdio":{"type":"boolean","description":"是否从启动的应用程序或浏览器返回跟踪数据。"},"logFile":{"type":["string","null"],"description":"配置磁盘日志的写入位置。"}}}]},"outputCapture":{"enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。","default":"console"},"enableContentValidation":{"default":true,"type":"boolean","description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。"},"customDescriptionGenerator":{"type":"string","description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      "},"customPropertiesGenerator":{"type":"string","deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181"},"cascadeTerminateToConfigurations":{"type":"array","items":{"type":"string","uniqueItems":true},"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。"},"enableDWARF":{"type":"boolean","default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。"},"disableNetworkCache":{"type":"boolean","description":"控制是否跳过每个请求的网络缓存","default":true},"pathMapping":{"type":"object","description":"将 URL/路径映射到本地文件夹，以将浏览器中的脚本解析为磁盘上的脚本","default":{}},"webRoot":{"type":"string","description":"此设置指定 Web 服务器根的工作区绝对路径。用于将 `/app.js` 等路径解析为磁盘上的文件。pathMapping 的速记方式为 \"/\"","default":"${workspaceFolder}","tags":["setup"]},"urlFilter":{"type":"string","description":"将使用此 URL 搜索页面，找到后将连接到该页面。可使用 * 通配符。","default":""},"url":{"type":"string","description":"将搜索具有此确切网址的标签并附加到该标签(若找到)","default":"http://localhost:8080","tags":["setup"]},"inspectUri":{"type":["string","null"],"description":"用于重写 inspectUri 的格式: 这是一个模板字符串，可插入 \"{curlyBraces}\" 中的键。可用的键包括:\r\n - \"url.*\" 是正在运行的应用程序的解析地址，例如 \"{url.port}\" 和 \"{url.hostname}\"\r\n - \"port\" 是 Chrome 正在侦听的调试端口。\r\n - \"browserInspectUri\" 是启动的浏览器上的检查器 URI\r\n - \"browserInspectUriPath\" 是启动的浏览器上的检查器 URI 的路径部分(例如 \"/devtools/browser/e9ec0098-306e-472a-8133-5e42488929c2\")。\r\n - \"wsProtocol\" 是提示的 websocket 协议。如果原始 URL 为 \"https\"，则设置为 \"wss\"，否则为 \"ws\"。\r\n","default":null},"vueComponentPaths":{"type":"array","description":"用于查找 \"*.vue\" 组件的文件 glob 模式的列表。默认搜索整个工作区。需要指定此项，因为 Vue 的源映射需要在 Vue CLI 4 中进行额外查找。可通过将此项设置为空数组来禁用此特殊处理。","default":["${workspaceFolder}/**/*.vue"]},"server":{"oneOf":[{"type":"object","description":"配置要启动的 Web 服务器。采用与 \"node\" 启动任务相同的配置。","additionalProperties":false,"default":{"program":"node my-server.js"},"properties":{"resolveSourceMapLocations":{"type":["array","null"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","default":["${workspaceFolder}/**","!**/node_modules/**"],"items":{"type":"string"}},"outFiles":{"type":["array"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"items":{"type":"string"},"tags":["setup"]},"pauseForSourceMap":{"type":"boolean","markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","default":false},"showAsyncStacks":{"description":"显示导致当前调用堆栈的异步调用。","default":true,"oneOf":[{"type":"boolean"},{"type":"object","required":["onAttach"],"properties":{"onAttach":{"type":"number","default":32}}},{"type":"object","required":["onceBreakpointResolved"],"properties":{"onceBreakpointResolved":{"type":"number","default":32}}}]},"skipFiles":{"type":"array","description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","default":["${/**"]},"smartStep":{"type":"boolean","description":"通过单步执行自动生成的代码不能映射回原始源。","default":true},"sourceMaps":{"type":"boolean","description":"使用 JavaScript 源映射(如存在)。","default":true},"sourceMapRenames":{"type":"boolean","default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。"},"sourceMapPathOverrides":{"type":"object","description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","default":{"webpack://?:*/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","meteor://💻app/*":"${workspaceFolder}/*"}},"timeout":{"type":"number","description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","default":10000},"timeouts":{"type":"object","description":"多个调试程序操作的超时。","default":{},"properties":{"sourceMapMinPause":{"type":"number","description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","default":1000},"sourceMapCumulativePause":{"type":"number","description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","default":1000},"hoverEvaluation":{"type":"number","description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","default":500}},"additionalProperties":false,"markdownDescription":"多个调试程序操作的超时。"},"trace":{"description":"配置生成哪些诊断输出。","default":true,"oneOf":[{"type":"boolean","description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。"},{"type":"object","additionalProperties":false,"properties":{"stdio":{"type":"boolean","description":"是否从启动的应用程序或浏览器返回跟踪数据。"},"logFile":{"type":["string","null"],"description":"配置磁盘日志的写入位置。"}}}]},"outputCapture":{"enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。","default":"console"},"enableContentValidation":{"default":true,"type":"boolean","description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。"},"customDescriptionGenerator":{"type":"string","description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      "},"customPropertiesGenerator":{"type":"string","deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181"},"cascadeTerminateToConfigurations":{"type":"array","items":{"type":"string","uniqueItems":true},"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。"},"enableDWARF":{"type":"boolean","default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。"},"cwd":{"type":"string","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","default":"${workspaceFolder}","tags":["setup"]},"localRoot":{"type":["string","null"],"description":"包含该程序的本地目录的路径。","default":null},"remoteRoot":{"type":["string","null"],"description":"包含该程序的远程目录的绝对路径。","default":null},"autoAttachChildProcesses":{"type":"boolean","description":"自动将调试器附加到新的子进程。","default":true},"env":{"type":"object","additionalProperties":{"type":["string","null"]},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","default":{},"tags":["setup"]},"envFile":{"type":"string","description":"包含环境变量定义的文件的绝对路径。","default":"${workspaceFolder}/.env"},"runtimeSourcemapPausePatterns":{"type":"array","items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","default":[]},"nodeVersionHint":{"type":"number","minimum":8,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","default":12},"program":{"type":"string","description":"程序的绝对路径。通过查看 package.json 和打开的文件猜测所生成的值。编辑此属性。","default":"","tags":["setup"]},"stopOnEntry":{"type":["boolean","string"],"description":"启动后自动停止程序。","default":true},"console":{"type":"string","enum":["internalConsole","integratedTerminal","externalTerminal"],"enumDescriptions":["VS Code 调试控制台(不支持从程序读取输入)","VS Code 的集成终端","可通过用户设置来配置的外部终端"],"description":"启动调试目标的位置。","default":"internalConsole"},"args":{"type":["array","string"],"description":"传递给程序的命令行参数。\r\n\r\n可以是字符串数组或单个字符串。在终端中启动程序时，将此属性设置为单个字符串将导致 shell 的参数无法转义。","items":{"type":"string"},"default":[],"tags":["setup"]},"restart":{"description":"如果连接断开，请尝试重新连接到该程序。如果设置为 \"true\"，将始终每秒重试一次。可通过在对象中指定 \"delay\" 和 \"maxAttempts\" 来自定义时间间隔和最大尝试次数。","default":true,"oneOf":[{"type":"boolean"},{"type":"object","properties":{"delay":{"type":"number","minimum":0,"default":1000},"maxAttempts":{"type":"number","minimum":0,"default":10}}}]},"runtimeExecutable":{"type":["string","null"],"markdownDescription":"要使用的运行时。应为绝对路径或在 PATH 上可用的运行时名称。默认值为 \"node\"。","default":"node"},"runtimeVersion":{"type":"string","markdownDescription":"要使用的 \"node\" 运行时版本。需要 \"nvm\"。","default":"default"},"runtimeArgs":{"type":"array","description":"传递给运行时可执行文件的可选参数。","items":{"type":"string"},"default":[],"tags":["setup"]},"profileStartup":{"type":"boolean","description":"如果为 true，则将在进程启动后立即开始分析","default":true},"attachSimplePort":{"oneOf":[{"type":"integer"},{"type":"string","pattern":"^\\${.*}$"}],"description":"如果设置，则通过给定端口附加到进程。Node.js 程序通常不再需要该设置，而且它没法再调试子进程，但在使用 Deno 和 Docker 启动等更复杂的场景中，它可能很有用。如果设置为 0，则将选择随机端口，并自动向启动参数添加 --inspect-brk。","default":9229},"killBehavior":{"type":"string","enum":["forceful","polite","none"],"default":"forceful","markdownDescription":"配置在停止会话时如何终止调试进程。可以是:\r\n\r\n- forceful (default): 强制关闭进程树。在 posix 上发送 SIGKILL，在 Windows 上发送 \"taskkill.exe /F\"。\r\n- polite: 正常关闭进程树。可能出现按此方式关闭后继续运行行为出错的进程的情况。在 posix 上发送 SIGTERM，在 Windows 上发送 \"taskkill.exe\" 但不带 \"/F\" (强制)标志。\r\n- 无: 将不终止。"},"experimentalNetworking":{"type":"string","default":"auto","description":"在 Node.js 中启用实验性检查。如果设置为 `自动`，则会为支持它的 Node.js 版本启用此功能。可以将其设置为 `开` 或 `关` 以显式启用或禁用它。","enum":["auto","on","off"]}}},{"type":"object","description":"JavaScript 调试终端","additionalProperties":false,"default":{"program":"npm start"},"properties":{"resolveSourceMapLocations":{"type":["array","null"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","default":["${workspaceFolder}/**","!**/node_modules/**"],"items":{"type":"string"}},"outFiles":{"type":["array"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"items":{"type":"string"},"tags":["setup"]},"pauseForSourceMap":{"type":"boolean","markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","default":false},"showAsyncStacks":{"description":"显示导致当前调用堆栈的异步调用。","default":true,"oneOf":[{"type":"boolean"},{"type":"object","required":["onAttach"],"properties":{"onAttach":{"type":"number","default":32}}},{"type":"object","required":["onceBreakpointResolved"],"properties":{"onceBreakpointResolved":{"type":"number","default":32}}}]},"skipFiles":{"type":"array","description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","default":["${/**"]},"smartStep":{"type":"boolean","description":"通过单步执行自动生成的代码不能映射回原始源。","default":true},"sourceMaps":{"type":"boolean","description":"使用 JavaScript 源映射(如存在)。","default":true},"sourceMapRenames":{"type":"boolean","default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。"},"sourceMapPathOverrides":{"type":"object","description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","default":{"webpack://?:*/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","meteor://💻app/*":"${workspaceFolder}/*"}},"timeout":{"type":"number","description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","default":10000},"timeouts":{"type":"object","description":"多个调试程序操作的超时。","default":{},"properties":{"sourceMapMinPause":{"type":"number","description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","default":1000},"sourceMapCumulativePause":{"type":"number","description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","default":1000},"hoverEvaluation":{"type":"number","description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","default":500}},"additionalProperties":false,"markdownDescription":"多个调试程序操作的超时。"},"trace":{"description":"配置生成哪些诊断输出。","default":true,"oneOf":[{"type":"boolean","description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。"},{"type":"object","additionalProperties":false,"properties":{"stdio":{"type":"boolean","description":"是否从启动的应用程序或浏览器返回跟踪数据。"},"logFile":{"type":["string","null"],"description":"配置磁盘日志的写入位置。"}}}]},"outputCapture":{"enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。","default":"console"},"enableContentValidation":{"default":true,"type":"boolean","description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。"},"customDescriptionGenerator":{"type":"string","description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      "},"customPropertiesGenerator":{"type":"string","deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181"},"cascadeTerminateToConfigurations":{"type":"array","items":{"type":"string","uniqueItems":true},"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。"},"enableDWARF":{"type":"boolean","default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。"},"cwd":{"type":"string","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","default":"${workspaceFolder}","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"]},"localRoot":{"type":["string","null"],"description":"包含该程序的本地目录的路径。","default":null},"remoteRoot":{"type":["string","null"],"description":"包含该程序的远程目录的绝对路径。","default":null},"autoAttachChildProcesses":{"type":"boolean","description":"自动将调试器附加到新的子进程。","default":true},"env":{"type":"object","additionalProperties":{"type":["string","null"]},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","default":{},"tags":["setup"]},"envFile":{"type":"string","description":"包含环境变量定义的文件的绝对路径。","default":"${workspaceFolder}/.env"},"runtimeSourcemapPausePatterns":{"type":"array","items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","default":[]},"nodeVersionHint":{"type":"number","minimum":8,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","default":12},"command":{"type":["string","null"],"description":"在启动的终端中运行命令。如果未提供命令，终端将在不启动程序的情况下打开。","default":"npm start","tags":["setup"]}}}]},"perScriptSourcemaps":{"type":"string","default":"auto","enum":["yes","no","auto"],"description":"是否使用包含源文件基本名称的唯一源映射单独加载脚本。处理大量小型脚本时，可以设置此项来优化源映射处理。如果设置为“自动”，将在可以检测已知用例时进行检测。"},"port":{"type":"number","description":"浏览器侦听的端口。默认值为“0”，这将导致浏览器通过管道进行调试，这通常更安全，除非需要从其他工具连接到浏览器，否则应选择该值。","default":0},"file":{"type":"string","description":"要在浏览器中打开的本地 HTML 文件","default":"${workspaceFolder}/index.html","tags":["setup"]},"userDataDir":{"type":["string","boolean"],"description":"默认情况下，在临时文件夹中使用单独的用户配置文件启动浏览器。使用此选项可进行替代。设置为 false 以使用默认用户配置文件启动。如果实例已从 `userDataDir` 运行，则无法启动新的浏览器。","default":true},"includeDefaultArgs":{"type":"boolean","description":"启动中是否包括默认浏览器启动参数(以禁用可能使调试更加困难的功能)。","default":true},"includeLaunchArgs":{"type":"boolean","description":"高级: 是否在浏览器上设置任何默认启动/调试参数。调试器将假定浏览器将使用管道调试，如`--remote-debugging-pipe`提供的管道调试。","default":true},"runtimeExecutable":{"type":["string","null"],"description":"\"canary\"、\"stable\"、\"custom\" 或浏览器可执行文件的路径。 Custom 表示自定义包装器、自定义生成或 CHROME_PATH 环境变量。","default":"stable"},"runtimeArgs":{"type":"array","description":"传递给运行时可执行文件的可选参数。","items":{"type":"string"},"default":[]},"env":{"type":"object","description":"浏览器的环境键/值对的可选字典。","default":{}},"cwd":{"type":"string","description":"运行时可执行文件的可选工作目录。","default":null},"profileStartup":{"type":"boolean","description":"如果为 true，则将在进程启动后立即开始分析","default":true},"cleanUp":{"type":"string","enum":["wholeBrowser","onlyTab"],"description":"调试会话完成后的清理操作:“仅关闭正在调试的选项卡”和“关闭整个浏览器”。","default":"wholeBrowser"},"killBehavior":{"type":"string","enum":["forceful","polite","none"],"default":"forceful","markdownDescription":"配置如何在停止与 `cleanUp: wholeBrowser` 的会话时终止浏览器进程。可以是:\r\n\r\n- forceful (默认): 强制关闭进程树。在 posix 上发送 SIGKILL，在 Windows 上发送 `taskkill.exe /F`。\r\n- polite: 正常关闭进程树。使用此方式关闭后，行为异常的进程可能会继续运行。在 posix 上发送 SIGTERM，或在 Windows 上发送 `taskkill.exe` 但不带 `/F` (强制)标志。\r\n- none: 不会发生终止。"},"browserLaunchLocation":{"description":"强制在一个位置启动浏览器。在远程工作区中(例如通过 ssh 或 WSL)，这可用于在远程计算机上而不是在本地打开浏览器。","default":null,"oneOf":[{"type":"null"},{"type":"string","enum":["ui","workspace"]}]},"enabled":{"type":"string","enum":["on","off","always"]}}}]},"debug.javascript.pickAndAttachOptions":{"type":"object","default":{},"markdownDescription":"通过 `Debug: Attach to Node.js Process` 命令调试进程时使用的默认选项","properties":{"resolveSourceMapLocations":{"type":["array","null"],"description":"可用源映射来解析本地文件的位置(文件夹和 URL)的小型匹配模式列表。这可用于避免造成外部源映射代码中错误地出现中断。使用前缀为 \"!\" 的模式可将这些中断排除。也可将其设置为空数组或 null 以避免限制。","default":["${workspaceFolder}/**","!**/node_modules/**"],"items":{"type":"string"}},"outFiles":{"type":["array"],"description":"如果启用了源映射，这些 glob 模式会指定生成的 JavaScript 文件。如果模式以 `!` 开头，则会排除这些文件。如果未指定，生成的代码应位于与其源相同的目录。","default":["${workspaceFolder}/**/*.(m|c|)js","!**/node_modules/**"],"items":{"type":"string"},"tags":["setup"]},"pauseForSourceMap":{"type":"boolean","markdownDescription":"是否等待每个传入脚本的源映射加载。 这会产生性能开销，只要没有禁用 rootPath，就可在磁盘空间不足时安全地禁用它。","default":false},"showAsyncStacks":{"description":"显示导致当前调用堆栈的异步调用。","default":true,"oneOf":[{"type":"boolean"},{"type":"object","required":["onAttach"],"properties":{"onAttach":{"type":"number","default":32}}},{"type":"object","required":["onceBreakpointResolved"],"properties":{"onceBreakpointResolved":{"type":"number","default":32}}}]},"skipFiles":{"type":"array","description":"调试时要跳过的文件或文件夹名称或路径 glob 的数组。允许星型模式和否定式，例如`[\"**/node_modules/**\", \"!**/node_modules/my-module/**\"]`","default":["${/**"]},"smartStep":{"type":"boolean","description":"通过单步执行自动生成的代码不能映射回原始源。","default":true},"sourceMaps":{"type":"boolean","description":"使用 JavaScript 源映射(如存在)。","default":true},"sourceMapRenames":{"type":"boolean","default":true,"description":"是否在 sourcemap 使用“名称”映射。这需要请求源内容，后者在使用某些调试程序时，速度会很慢。"},"sourceMapPathOverrides":{"type":"object","description":"一组重写源映射中源文件的位置为磁盘上所处位置的映射。","default":{"webpack://?:*/*":"${workspaceFolder}/*","webpack:///./~/*":"${workspaceFolder}/node_modules/*","meteor://💻app/*":"${workspaceFolder}/*"}},"timeout":{"type":"number","description":"重试此毫秒数以连接到 Node.js。默认值为 10000 毫秒。","default":10000},"timeouts":{"type":"object","description":"多个调试程序操作的超时。","default":{},"properties":{"sourceMapMinPause":{"type":"number","description":"分析脚本时等待每个源映射被处理的最小时间(以毫秒为单位)","default":1000},"sourceMapCumulativePause":{"type":"number","description":"在最小时间(sourceMapMinPause)耗尽后，每个会话等待源映射被处理的额外时间(以毫秒为单位)","default":1000},"hoverEvaluation":{"type":"number","description":"悬停符号的值计算中止之前的时间。如果设置为 0，则悬停计算永远不会超时。","default":500}},"additionalProperties":false,"markdownDescription":"多个调试程序操作的超时。"},"trace":{"description":"配置生成哪些诊断输出。","default":true,"oneOf":[{"type":"boolean","description":"跟踪可设置为 \"true\"，以将诊断日志写入磁盘。"},{"type":"object","additionalProperties":false,"properties":{"stdio":{"type":"boolean","description":"是否从启动的应用程序或浏览器返回跟踪数据。"},"logFile":{"type":["string","null"],"description":"配置磁盘日志的写入位置。"}}}]},"outputCapture":{"enum":["console","std"],"markdownDescription":"捕获输出消息的位置: 如果设置为 `console`，则为默认调试 API，如果设置为 `std`，则为 stdout/stderr 流。","default":"console"},"enableContentValidation":{"default":true,"type":"boolean","description":"切换是否要验证确定磁盘上的文件内容与运行时中加载的内容相匹配。这在各种情况下都很有用，在一些情况下还是必需操作，但是如果你具有脚本的服务器端转换，则可能会导致出现问题。"},"customDescriptionGenerator":{"type":"string","description":"自定义调试程序为对象(本地变量等)显示的文本说明。示例:\r\n      1. this.toString() // 将调用 toString 来打印所有对象\r\n      2. this.customDescription ? this.customDescription() : defaultValue // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      3. function (def) { return this.customDescription ? this.customDescription() : def } // 如果未返回 defaultValue，则使用 customDescription 方法(若可用)\r\n      "},"customPropertiesGenerator":{"type":"string","deprecated":true,"description":"自定义为调试程序中的对象显示的属性(本地变量等)。示例:\r\n    1. { ...this, extraProperty: '12345' } // 向所有对象添加 extraProperty 12345\r\n    2. this.customProperties ? this.customProperties() : this // 如果不使用此(默认属性)中的属性，请使用 customProperties 方法(若可用)\r\n    3. function () { return this.customProperties ? this.customProperties() : this } // 如果不返回默认属性，请使用 customDescription 方法(若可用)\r\n\r\n    已弃用: 这是此功能的临时实现，直到我们有时间按此处所示方法实现它为止: https://github.com/microsoft/vscode/issues/102181"},"cascadeTerminateToConfigurations":{"type":"array","items":{"type":"string","uniqueItems":true},"default":[],"description":"当终止此调试会话时，也将停止的调试会话的列表。"},"enableDWARF":{"type":"boolean","default":true,"markdownDescription":"切换调试程序是否尝试从 WebAssembly 读取 DWARF 调试符号，这可能会占用大量资源。需要“ms-vscode.wasm-dwarf-debugging”扩展才能运行。"},"cwd":{"type":"string","description":"正在调试程序工作目录的绝对路径。如果已设置 localRoot，则 cwd 将与该值匹配，否则它将回退到 workspaceFolder","default":"${workspaceFolder}","docDefault":"localRoot || ${workspaceFolder}","tags":["setup"]},"localRoot":{"type":["string","null"],"description":"包含该程序的本地目录的路径。","default":null},"remoteRoot":{"type":["string","null"],"description":"包含该程序的远程目录的绝对路径。","default":null},"autoAttachChildProcesses":{"type":"boolean","description":"自动将调试器附加到新的子进程。","default":true},"env":{"type":"object","additionalProperties":{"type":["string","null"]},"markdownDescription":"传递到程序的环境变量。`null` 值从环境中删除该变量。","default":{},"tags":["setup"]},"envFile":{"type":"string","description":"包含环境变量定义的文件的绝对路径。","default":"${workspaceFolder}/.env"},"runtimeSourcemapPausePatterns":{"type":"array","items":{"type":"string"},"markdownDescription":"手动插入入口点断点的模式列表。在使用不存在或启动前无法检测到的源映射时，这有助于让调试程序设置断点，例如[使用无服务器框架](https://github.com/microsoft/vscode-js-debug/issues/492)。","default":[]},"nodeVersionHint":{"type":"number","minimum":8,"description":"允许显式指定正在运行的节点版本，这可用于在自动版本检测不可用的情况下禁用或启用某些行为。","default":12},"address":{"type":"string","description":"要调试的进程的 TCP/IP 地址。默认值为 \"localhost\"。","default":"localhost"},"port":{"description":"要附加到的调试端口。默认值为 9229。","default":9229,"oneOf":[{"type":"integer"},{"type":"string","pattern":"^\\${.*}$"}],"tags":["setup"]},"websocketAddress":{"type":"string","description":"要附加到的确切 websocket 地址。如果未指定，将从地址和端口中发现它。"},"remoteHostHeader":{"type":"string","description":"连接到检查器的 Websocket 时要使用的显式主机标头。如果未指定，主机标头将设置为 \"localhost\"。当检查器在仅接受特定主机标头的代理后面运行时，这非常有用。"},"restart":{"description":"如果连接断开，请尝试重新连接到该程序。如果设置为 \"true\"，将始终每秒重试一次。可通过在对象中指定 \"delay\" 和 \"maxAttempts\" 来自定义时间间隔和最大尝试次数。","default":true,"oneOf":[{"type":"boolean"},{"type":"object","properties":{"delay":{"type":"number","minimum":0,"default":1000},"maxAttempts":{"type":"number","minimum":0,"default":10}}}]},"processId":{"type":"string","description":"要附加到的进程 ID。","default":"${command:PickProcess}"},"attachExistingChildren":{"type":"boolean","description":"是否尝试附加到已生成的子进程。","default":false},"continueOnAttach":{"type":"boolean","markdownDescription":"如果为 true，我们将自动恢复启动的程序并等待 \"--inspect-brk\"","default":true}}},"debug.javascript.autoAttachFilter":{"type":"string","default":"disabled","enum":["always","smart","onlyWithFlag","disabled"],"enumDescriptions":["自动附加到终端中启动的每个 Node.js 进程。","运行不在 node_modules 文件夹中的脚本时自动附加。","仅在给定 \"--inspect\" 时自动附加。","自动附加被禁用，且不在状态栏中显示。"],"markdownDescription":"配置在 \"#debug.node.autoAttach#\" 处于启用状态时自动附加和调试的进程。无论此设置如何，都始终附加到启动的带有 \"--inspect\" 标志的节点进程。"},"debug.javascript.autoAttachSmartPattern":{"type":"array","items":{"type":"string"},"default":["${workspaceFolder}/**","!**/node_modules/**","**/$KNOWN_TOOLS$/**"],"markdownDescription":"配置 glob 模式，以确定何时附加智能 `#debug.javascript.autoAttachFilter#` 模式。`$KNOWN_TOOLS$` 被替换为常见测试和代码运行器的名称的列表。[在 VS Code 文档中阅读更多内容](https://code.visualstudio.com/docs/nodejs/nodejs-debugging#_auto-attach-smart-patterns)。"},"debug.javascript.breakOnConditionalError":{"type":"boolean","default":false,"markdownDescription":"在条件断点引发错误时是否停止。"},"debug.javascript.unmapMissingSources":{"type":"boolean","default":false,"description":"配置是否会自动取消映射无法读取源文件的源映射文件。如果这是 false (默认)，系统会显示提示。"},"debug.javascript.defaultRuntimeExecutable":{"type":"object","default":{"pwa-node":"node"},"markdownDescription":"用于启动配置的默认 \"runtimeExecutable\" (如果未指定)。这可用于配置 Node.js 或浏览器安装项的自定义路径。","properties":{"pwa-node":{"type":"string"},"pwa-chrome":{"type":"string"},"pwa-msedge":{"type":"string"}}},"debug.javascript.resourceRequestOptions":{"type":"object","default":{},"markdownDescription":"在调试器中加载资源(如源映射)时可使用的请求选项。例如，如果你的源映射需要身份验证或使用自签名证书，则可能需要配置此设置。选项用于创建使用 [`got`](https://github.com/sindresorhus/got) 库的请求。\r\n\r\n可通过传递 `{ \"https\": { \"rejectUnauthorized\": false } }` 来实现禁用证书验证的常见情况。"},"debug.javascript.enableNetworkView":{"type":"boolean","default":true,"description":"为支持它的目标启用实验性网络视图。"}}},"grammars":[{"language":"wat","scopeName":"text.wat","path":"./src/ui/basic-wat.tmLanguage.json"}],"languages":[{"id":"wat","extensions":[".wat",".wasm"],"aliases":["WebAssembly Text Format"],"firstLine":"^\\(module","mimetypes":["text/wat"],"configuration":"./src/ui/basic-wat.configuration.json"}],"terminal":{"profiles":[{"id":"extension.js-debug.debugTerminal","title":"JavaScript 调试终端","icon":"$(debug)"}]},"views":{"debug":[{"id":"jsBrowserBreakpoints","name":"Browser Options","when":"debugType == pwa-chrome || debugType == pwa-msedge || debugType == pwa-editor-browser"},{"id":"jsExcludedCallers","name":"Excluded Callers","when":"debugType == pwa-extensionHost && jsDebugHasExcludedCallers || debugType == node-terminal && jsDebugHasExcludedCallers || debugType == pwa-node && jsDebugHasExcludedCallers || debugType == pwa-chrome && jsDebugHasExcludedCallers || debugType == pwa-msedge && jsDebugHasExcludedCallers || debugType == pwa-editor-browser && jsDebugHasExcludedCallers"},{"id":"jsDebugNetworkTree","name":"Network","when":"jsDebugNetworkAvailable"}]},"viewsWelcome":[{"view":"debug","contents":"[JavaScript 调试终端](command:extension.js-debug.createDebuggerTerminal)\r\n\r\n可使用 JavaScript 调试终端调试在命令行上运行的 Node.js 进程。\r\n\r\n[调试 URL](command:extension.js-debug.debugLink)","when":"debugStartLanguage == javascript && !isWeb || debugStartLanguage == typescript && !isWeb || debugStartLanguage == javascriptreact && !isWeb || debugStartLanguage == typescriptreact && !isWeb"},{"view":"debug","contents":"[JavaScript 调试终端](command:extension.js-debug.createDebuggerTerminal)\r\n\r\n可使用 JavaScript 调试终端调试在命令行上运行的 Node.js 进程。","when":"debugStartLanguage == javascript && isWeb || debugStartLanguage == typescript && isWeb || debugStartLanguage == javascriptreact && isWeb || debugStartLanguage == typescriptreact && isWeb"}]},"originalEnabledApiProposals":["portsAttributes","workspaceTrust","tunnels","browser"]},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","metadata":{},"isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"ms-vscode.js-debug-companion"},"manifest":{"name":"js-debug-companion","displayName":"JavaScript Debugger Companion Extension","description":"Companion extension to js-debug that provides capability for remote debugging","version":"1.1.3","publisher":"ms-vscode","engines":{"vscode":"^1.90.0"},"icon":"resources/logo.png","categories":["Other"],"repository":{"type":"git","url":"https://github.com/microsoft/vscode-js-debug-companion.git"},"author":"Connor Peet <connor@peet.io>","license":"MIT","bugs":{"url":"https://github.com/microsoft/vscode-js-debug-companion/issues"},"homepage":"https://github.com/microsoft/vscode-js-debug-companion#readme","capabilities":{"virtualWorkspaces":false,"untrustedWorkspaces":{"supported":true}},"activationEvents":["onCommand:js-debug-companion.launchAndAttach","onCommand:js-debug-companion.kill","onCommand:js-debug-companion.launch","onCommand:js-debug-companion.defaultBrowser"],"main":"./out/extension.js","contributes":{},"extensionKind":["ui"],"api":"none","prettier":{"trailingComma":"all","singleQuote":true,"printWidth":100,"tabWidth":2,"arrowParens":"avoid"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug-companion","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","metadata":{},"isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"ms-vscode.vscode-js-profile-table"},"manifest":{"name":"vscode-js-profile-table","version":"1.0.10","displayName":"Table Visualizer for JavaScript Profiles","description":"Text visualizer for profiles taken from the JavaScript debugger","author":"Connor Peet <connor@peet.io>","homepage":"https://github.com/microsoft/vscode-js-profile-visualizer#readme","license":"MIT","main":"out/extension.js","browser":"out/extension.web.js","repository":{"type":"git","url":"https://github.com/microsoft/vscode-js-profile-visualizer.git"},"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"icon":"resources/icon.png","publisher":"ms-vscode","sideEffects":false,"engines":{"vscode":"^1.74.0"},"contributes":{"customEditors":[{"viewType":"jsProfileVisualizer.cpuprofile.table","displayName":"CPU Profile Table Visualizer","priority":"default","selector":[{"filenamePattern":"*.cpuprofile"}]},{"viewType":"jsProfileVisualizer.heapprofile.table","displayName":"Heap Profile Table Visualizer","priority":"default","selector":[{"filenamePattern":"*.heapprofile"}]},{"viewType":"jsProfileVisualizer.heapsnapshot.table","displayName":"Heap Snapshot Table Visualizer","priority":"default","selector":[{"filenamePattern":"*.heapsnapshot"}]}],"commands":[{"command":"extension.jsProfileVisualizer.table.clearCodeLenses","title":"Clear Profile Code Lenses"}],"menus":{"commandPalette":[{"command":"extension.jsProfileVisualizer.table.clearCodeLenses","when":"jsProfileVisualizer.hasCodeLenses == true"}]}},"bugs":{"url":"https://github.com/microsoft/vscode-js-profile-visualizer/issues"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.vscode-js-profile-table","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","metadata":{},"isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.builtin-notebook-renderers"},"manifest":{"name":"builtin-notebook-renderers","displayName":"内置笔记本输出呈现器","description":"为笔记本提供基本输出呈现器","publisher":"vscode","version":"10.0.0","license":"MIT","icon":"media/icon.png","engines":{"vscode":"^1.57.0"},"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"contributes":{"notebookRenderer":[{"id":"vscode.builtin-renderer","entrypoint":"./renderer-out/index.js","displayName":"VS Code Builtin Notebook Output Renderer","requiresMessaging":"never","mimeTypes":["image/gif","image/png","image/jpeg","image/git","image/svg+xml","text/html","application/javascript","application/vnd.code.notebook.error","application/vnd.code.notebook.stdout","application/x.notebook.stdout","application/x.notebook.stream","application/vnd.code.notebook.stderr","application/x.notebook.stderr","text/plain"]}]},"scripts":{"compile":"npx gulp compile-extension:notebook-renderers && npm run build-notebook","watch":"npx gulp compile-watch:notebook-renderers","build-notebook":"node ./esbuild.notebook.mts"},"devDependencies":{"@types/jsdom":"^21.1.0","@types/node":"24.x","@types/vscode-notebook-renderer":"^1.60.0","jsdom":"^28.1.0"},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/notebook-renderers","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.npm"},"manifest":{"name":"npm","publisher":"vscode","displayName":"适用于 VS Code 的 npm 支持","description":"为 npm 脚本提供任务支持的扩展。","version":"1.0.1","private":true,"license":"MIT","engines":{"vscode":"0.10.x"},"icon":"images/npm_icon.png","categories":["Other"],"enabledApiProposals":["terminalQuickFixProvider"],"main":"./dist/npmMain","browser":"./dist/browser/npmBrowserMain","activationEvents":["onTaskType:npm","onLanguage:json","workspaceContains:package.json"],"capabilities":{"virtualWorkspaces":{"supported":"limited","description":"需要运行 “npm” 命令的功能在虚拟工作区中不可用。"},"untrustedWorkspaces":{"supported":"limited","description":"此扩展可以执行任务，需要信任才能运行。"}},"contributes":{"languages":[{"id":"ignore","extensions":[".npmignore"]},{"id":"properties","extensions":[".npmrc"]}],"views":{"explorer":[{"id":"npm","name":"npm 脚本","when":"npm:showScriptExplorer","icon":"$(json)","visibility":"hidden","contextualTitle":"npm 脚本"}]},"commands":[{"command":"npm.runScript","title":{"value":"运行","original":"Run"},"icon":"$(run)"},{"command":"npm.debugScript","title":{"value":"调试","original":"Debug"},"icon":"$(debug)"},{"command":"npm.openScript","title":{"value":"打开","original":"Open"}},{"command":"npm.runInstall","title":{"value":"运行 install","original":"Run Install"}},{"command":"npm.refresh","title":{"value":"刷新","original":"Refresh"},"icon":"$(refresh)"},{"command":"npm.runSelectedScript","title":{"value":"运行脚本","original":"Run Script"}},{"command":"npm.runScriptFromFolder","title":{"value":"运行文件夹中的NPM脚本...","original":"Run NPM Script in Folder..."}},{"command":"npm.packageManager","title":{"value":"获取已配置的包管理器","original":"Get Configured Package Manager"}}],"menus":{"commandPalette":[{"command":"npm.refresh","when":"false"},{"command":"npm.runScript","when":"false"},{"command":"npm.debugScript","when":"false"},{"command":"npm.openScript","when":"false"},{"command":"npm.runInstall","when":"false"},{"command":"npm.runSelectedScript","when":"false"},{"command":"npm.runScriptFromFolder","when":"false"},{"command":"npm.packageManager","when":"false"}],"editor/context":[{"command":"npm.runSelectedScript","when":"resourceFilename == 'package.json' && resourceScheme == file","group":"navigation@+1"}],"view/title":[{"command":"npm.refresh","when":"view == npm","group":"navigation"}],"view/item/context":[{"command":"npm.openScript","when":"view == npm && viewItem == packageJSON","group":"navigation@1"},{"command":"npm.runInstall","when":"view == npm && viewItem == packageJSON","group":"navigation@2"},{"command":"npm.openScript","when":"view == npm && viewItem == script","group":"navigation@1"},{"command":"npm.runScript","when":"view == npm && viewItem == script","group":"navigation@2"},{"command":"npm.runScript","when":"view == npm && viewItem == script","group":"inline"},{"command":"npm.debugScript","when":"view == npm && viewItem == script","group":"inline"},{"command":"npm.debugScript","when":"view == npm && viewItem == script","group":"navigation@3"}],"explorer/context":[{"when":"config.npm.enableRunFromFolder && explorerViewletVisible && explorerResourceIsFolder && resourceScheme == file","command":"npm.runScriptFromFolder","group":"2_workspace"}]},"configuration":{"id":"npm","type":"object","title":"Npm","properties":{"npm.autoDetect":{"type":"string","enum":["off","on"],"default":"on","scope":"resource","description":"控制是否自动检测 npm 脚本。"},"npm.runSilent":{"type":"boolean","default":false,"scope":"resource","markdownDescription":"使用 `--silent` 选项运行 npm 命令。"},"npm.packageManager":{"scope":"resource","type":"string","enum":["auto","npm","yarn","pnpm","bun"],"enumDescriptions":["根据锁定文件和已安装的包管理器自动检测要使用的包管理器。","使用 npm 作为包管理器。","使用 yarn 作为包管理器。","使用 pnpm 作为包管理器。","使用 bun 作为包管理器。"],"default":"auto","description":"用于安装依赖项的包管理器。"},"npm.scriptRunner":{"scope":"resource","type":"string","enum":["auto","npm","yarn","pnpm","bun","node","vp"],"enumDescriptions":["根据锁定文件和已安装的包管理器自动检测要使用的脚本运行器。","使用 npm 作为脚本运行程序。","使用 Yarn 作为脚本运行程序。","使用 pnpm 作为脚本运行程序。","使用 bun 作为脚本运行程序。","使用 Node.js 作为脚本运行程序。","将 Vite+ (vp) 用作脚本执行器。"],"default":"auto","description":"用于运行脚本的脚本运行程序。"},"npm.exclude":{"type":["string","array"],"items":{"type":"string"},"description":"配置应从自动脚本检测中排除的文件夹的 glob 模式。","scope":"resource"},"npm.enableScriptExplorer":{"type":"boolean","default":false,"scope":"resource","deprecationMessage":"The NPM Script Explorer is now available in 'Views' menu in the Explorer in all folders.","markdownDescription":"在没有顶级 `package.json` 文件时，为 npm 脚本启用资源管理器视图。"},"npm.enableRunFromFolder":{"type":"boolean","default":false,"scope":"resource","description":"从资源管理器上下文菜单中启用运行文件夹中包含的 NPM 脚本。"},"npm.scriptExplorerAction":{"type":"string","enum":["open","run"],"markdownDescription":"NPM 脚本资源管理器中使用的默认单击操作: `open` 或 `run`，默认值为 `open`。","scope":"window","default":"open"},"npm.scriptExplorerExclude":{"type":"array","items":{"type":"string"},"markdownDescription":"正则表达式的数组，指示应从 NPM 脚本视图中排除哪些脚本。","scope":"resource","default":[]},"npm.fetchOnlinePackageInfo":{"type":"boolean","description":"从 https://registry.npmjs.org 和 https://registry.bower.io 获取数据，以提供自动补全和 npm 依赖项上的悬停功能信息。","default":true,"scope":"window","tags":["usesOnlineServices"]},"npm.scriptHover":{"type":"boolean","markdownDescription":"使用脚本的 `Run` 和 `Debug` 命令显示悬停。","default":true,"scope":"window"}}},"jsonValidation":[{"fileMatch":"package.json","url":"https://www.schemastore.org/package"},{"fileMatch":"bower.json","url":"https://www.schemastore.org/bower"}],"taskDefinitions":[{"type":"npm","required":["script"],"properties":{"script":{"type":"string","description":"要自定义的 npm 脚本。"},"path":{"type":"string","description":"包含 package.json 文件的文件夹路径，其中 package.json 文件提供脚本。可以省略。"}},"when":"shellExecutionSupported"}],"terminalQuickFixes":[{"id":"ms-vscode.npm-command","commandLineMatcher":"npm","commandExitResult":"error","outputMatcher":{"anchor":"bottom","length":8,"lineMatcher":"Did you mean (?:this|one of these)\\?((?:\\n.+?npm .+ #.+)+)","offset":2}}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"},"originalEnabledApiProposals":["terminalQuickFixProvider"]},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/npm","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.objective-c"},"manifest":{"name":"objective-c","displayName":"Objective-C 语言基础功能","description":"在 Objective-C 文件中提供语法高亮和括号匹配功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ./build/update-grammars.js"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"objective-c","extensions":[".m"],"aliases":["Objective-C"],"configuration":"./language-configuration.json"},{"id":"objective-cpp","extensions":[".mm"],"aliases":["Objective-C++"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"objective-c","scopeName":"source.objc","path":"./syntaxes/objective-c.tmLanguage.json"},{"language":"objective-cpp","scopeName":"source.objcpp","path":"./syntaxes/objective-c++.tmLanguage.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/objective-c","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.perl"},"manifest":{"name":"perl","displayName":"Perl 语言基础功能","description":"在 Perl 文件中提供语法高亮和括号匹配功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin textmate/perl.tmbundle Syntaxes/Perl.plist ./syntaxes/perl.tmLanguage.json Syntaxes/Perl%206.tmLanguage ./syntaxes/perl6.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"perl","aliases":["Perl","perl"],"extensions":[".pl",".pm",".pod",".t",".PL",".psgi"],"firstLine":"^#!.*\\bperl\\b","configuration":"./perl.language-configuration.json"},{"id":"raku","aliases":["Raku","Perl6","perl6"],"extensions":[".raku",".rakumod",".rakutest",".rakudoc",".nqp",".p6",".pl6",".pm6"],"firstLine":"(^#!.*\\bperl6\\b)|use\\s+v6|raku|=begin\\spod|my\\sclass","configuration":"./perl6.language-configuration.json"}],"grammars":[{"language":"perl","scopeName":"source.perl","path":"./syntaxes/perl.tmLanguage.json","unbalancedBracketScopes":["variable.other.predefined.perl"]},{"language":"raku","scopeName":"source.perl.6","path":"./syntaxes/perl6.tmLanguage.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/perl","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.php"},"manifest":{"name":"php","displayName":"PHP 语言基础功能","description":"为 PHP 文件提供语法高亮和括号匹配功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"0.10.x"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"php","extensions":[".php",".php4",".php5",".phtml",".ctp"],"aliases":["PHP","php"],"firstLine":"^#!\\s*/.*\\bphp\\b","mimetypes":["application/x-php"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"php","scopeName":"source.php","path":"./syntaxes/php.tmLanguage.json"},{"language":"php","scopeName":"text.html.php","path":"./syntaxes/html.tmLanguage.json","embeddedLanguages":{"text.html":"html","source.php":"php","source.sql":"sql","text.xml":"xml","source.js":"javascript","source.json":"json","source.css":"css"}}],"snippets":[{"language":"php","path":"./snippets/php.code-snippets"}]},"scripts":{"update-grammar":"node ./build/update-grammar.mjs"},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/php","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.php-language-features"},"manifest":{"name":"php-language-features","displayName":"php 语言功能","description":"为 PHP 文件提供丰富的语言支持。","version":"10.0.0","publisher":"vscode","license":"MIT","icon":"icons/logo.png","engines":{"vscode":"0.10.x"},"activationEvents":["onLanguage:php"],"main":"./dist/phpMain","categories":["Programming Languages"],"capabilities":{"virtualWorkspaces":false,"untrustedWorkspaces":{"supported":"limited","description":"当 \"php.validate.executablePath\" 设置将在工作区中加载 PHP 版本时，扩展需要工作区信任。","restrictedConfigurations":["php.validate.executablePath"]}},"contributes":{"configuration":{"title":"PHP","type":"object","order":20,"properties":{"php.suggest.basic":{"type":"boolean","default":true,"description":"控制是否启用内置 PHP 语言建议。支持对 PHP 全局变量和变量进行建议。"},"php.validate.enable":{"type":"boolean","default":true,"description":"启用/禁用内置的 PHP 验证。"},"php.validate.executablePath":{"type":["string","null"],"default":null,"description":"指向 PHP 可执行文件。","scope":"machine-overridable"},"php.validate.run":{"type":"string","enum":["onSave","onType"],"default":"onSave","description":"不管 linter 是在 save 还是在 type 上运行。"}}},"jsonValidation":[{"fileMatch":"composer.json","url":"https://getcomposer.org/schema.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/php-language-features","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.powershell"},"manifest":{"name":"powershell","displayName":"Powershell 语言基础功能","description":"在 Powershell 文件中提供代码片段、语法高亮、括号匹配和折叠功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"powershell","extensions":[".ps1",".psm1",".psd1",".pssc",".psrc"],"aliases":["PowerShell","powershell","ps","ps1","pwsh"],"firstLine":"^#!\\s*/.*\\bpwsh\\b","configuration":"./language-configuration.json"}],"grammars":[{"language":"powershell","scopeName":"source.powershell","path":"./syntaxes/powershell.tmLanguage.json"}]},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin PowerShell/EditorSyntax PowerShellSyntax.tmLanguage ./syntaxes/powershell.tmLanguage.json"},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/powershell","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.prompt"},"manifest":{"name":"prompt","displayName":"提示语言基本信息","description":"提示和说明文档的语法高亮显示。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"^1.20.0"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"prompt","aliases":["Prompt","prompt"],"extensions":[".prompt.md"],"configuration":"./language-configuration.json"},{"id":"instructions","aliases":["Instructions","instructions"],"extensions":[".instructions.md","copilot-instructions.md"],"filenamePatterns":["**/.claude/rules/**/*.md"],"configuration":"./language-configuration.json"},{"id":"chatagent","aliases":["Agent","chat agent"],"extensions":[".agent.md",".chatmode.md"],"filenamePatterns":["**/.github/agents/*.md","**/.claude/agents/*.md"],"configuration":"./language-configuration.json"},{"id":"skill","aliases":["Skill","skill"],"filenames":["SKILL.md"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"prompt","path":"./syntaxes/prompt.tmLanguage.json","scopeName":"text.html.markdown.prompt","unbalancedBracketScopes":["markup.underline.link.markdown","punctuation.definition.list.begin.markdown"]},{"language":"instructions","path":"./syntaxes/prompt.tmLanguage.json","scopeName":"text.html.markdown.prompt","unbalancedBracketScopes":["markup.underline.link.markdown","punctuation.definition.list.begin.markdown"]},{"language":"chatagent","path":"./syntaxes/prompt.tmLanguage.json","scopeName":"text.html.markdown.prompt","unbalancedBracketScopes":["markup.underline.link.markdown","punctuation.definition.list.begin.markdown"]},{"language":"skill","path":"./syntaxes/prompt.tmLanguage.json","scopeName":"text.html.markdown.prompt","unbalancedBracketScopes":["markup.underline.link.markdown","punctuation.definition.list.begin.markdown"]}],"configurationDefaults":{"[prompt]":{"editor.insertSpaces":true,"editor.tabSize":2,"editor.autoIndent":"advanced","editor.unicodeHighlight.ambiguousCharacters":false,"editor.unicodeHighlight.invisibleCharacters":false,"diffEditor.ignoreTrimWhitespace":false,"editor.wordWrap":"on","editor.quickSuggestions":{"comments":"off","strings":"on","other":"on"},"editor.wordBasedSuggestions":"off"},"[instructions]":{"editor.insertSpaces":true,"editor.tabSize":2,"editor.autoIndent":"advanced","editor.unicodeHighlight.ambiguousCharacters":false,"editor.unicodeHighlight.invisibleCharacters":false,"diffEditor.ignoreTrimWhitespace":false,"editor.wordWrap":"on","editor.quickSuggestions":{"comments":"off","strings":"on","other":"on"},"editor.wordBasedSuggestions":"off"},"[chatagent]":{"editor.insertSpaces":true,"editor.tabSize":2,"editor.autoIndent":"advanced","editor.unicodeHighlight.ambiguousCharacters":false,"editor.unicodeHighlight.invisibleCharacters":false,"diffEditor.ignoreTrimWhitespace":false,"editor.wordWrap":"on","editor.quickSuggestions":{"comments":"off","strings":"on","other":"on"},"editor.wordBasedSuggestions":"off"},"[skill]":{"editor.insertSpaces":true,"editor.tabSize":2,"editor.autoIndent":"advanced","editor.unicodeHighlight.ambiguousCharacters":false,"editor.unicodeHighlight.invisibleCharacters":false,"diffEditor.ignoreTrimWhitespace":false,"editor.wordWrap":"on","editor.quickSuggestions":{"comments":"off","strings":"on","other":"on"},"editor.wordBasedSuggestions":"off"}}},"scripts":{},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/prompt-basics","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.pug"},"manifest":{"name":"pug","displayName":"Pug 语言基础功能","description":"在 Pug 文件中提供语法高亮和括号匹配功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin davidrios/pug-tmbundle Syntaxes/Pug.JSON-tmLanguage ./syntaxes/pug.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"jade","extensions":[".pug",".jade"],"aliases":["Pug","Jade","jade"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"jade","scopeName":"text.pug","path":"./syntaxes/pug.tmLanguage.json"}],"configurationDefaults":{"[jade]":{"diffEditor.ignoreTrimWhitespace":false}}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/pug","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.python"},"manifest":{"name":"python","displayName":"Python 语言基础功能","description":"在 Python 文件中提供语法高亮、括号匹配和折叠功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"python","extensions":[".py",".rpy",".pyw",".cpy",".gyp",".gypi",".pyi",".ipy",".pyt"],"aliases":["Python","py"],"filenames":["SConstruct","SConscript"],"firstLine":"^#!\\s*/?.*\\bpython[0-9.-]*\\b","configuration":"./language-configuration.json"}],"grammars":[{"language":"python","scopeName":"source.python","path":"./syntaxes/MagicPython.tmLanguage.json"},{"scopeName":"source.regexp.python","path":"./syntaxes/MagicRegExp.tmLanguage.json"}],"configurationDefaults":{"[python]":{"diffEditor.ignoreTrimWhitespace":false,"editor.defaultColorDecorators":"never"}}},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin MagicStack/MagicPython grammars/MagicPython.tmLanguage ./syntaxes/MagicPython.tmLanguage.json grammars/MagicRegExp.tmLanguage ./syntaxes/MagicRegExp.tmLanguage.json"},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/python","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.r"},"manifest":{"name":"r","displayName":"R 语言基础功能","description":"在 R 文件中提供语法高亮和括号匹配功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin REditorSupport/vscode-R-syntax syntaxes/r.json ./syntaxes/r.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"r","extensions":[".R",".Rhistory",".Rprofile",".rt"],"aliases":["R","r"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"r","scopeName":"source.r","path":"./syntaxes/r.tmLanguage.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/r","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.razor"},"manifest":{"name":"razor","displayName":"Razor 语言基础功能","description":"在 Razor 文件中提供语法高亮、括号匹配和折叠功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"0.10.x"},"scripts":{"update-grammar":"node ./build/update-grammar.mjs"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"razor","extensions":[".cshtml",".razor"],"aliases":["Razor","razor"],"mimetypes":["text/x-cshtml"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"razor","scopeName":"text.html.cshtml","path":"./syntaxes/cshtml.tmLanguage.json","embeddedLanguages":{"section.embedded.source.cshtml":"csharp","source.css":"css","source.js":"javascript"}}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/razor","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.references-view"},"manifest":{"name":"references-view","displayName":"引用搜索视图","description":"在边栏中以独立稳定的视图引用搜索结果","icon":"media/icon.png","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"^1.67.0"},"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"repository":{"type":"git","url":"https://github.com/Microsoft/vscode-references-view"},"bugs":{"url":"https://github.com/Microsoft/vscode-references-view/issues"},"activationEvents":["onCommand:references-view.find","onCommand:editor.action.showReferences"],"main":"./dist/extension","browser":"./dist/browser/extension","contributes":{"configuration":{"properties":{"references.preferredLocation":{"description":"控制在选择代码信息指示器引用时是否调用“速览引用”或“查找引用”。","type":"string","default":"peek","enum":["peek","view"],"enumDescriptions":["在速览编辑器中显示引用。","在单独的视图中显示引用。"]}}},"viewsContainers":{"activitybar":[{"id":"references-view","icon":"$(references)","title":"引用"}]},"views":{"references-view":[{"id":"references-view.tree","name":"引用搜索结果","when":"reference-list.isActive"}]},"commands":[{"command":"references-view.findReferences","title":{"value":"查找所有引用","original":"Find All References"},"category":{"value":"引用","original":"References"}},{"command":"references-view.findImplementations","title":{"value":"查找所有实现","original":"Find All Implementations"},"category":{"value":"引用","original":"References"}},{"command":"references-view.clearHistory","title":{"value":"清除历史记录","original":"Clear History"},"category":{"value":"引用","original":"References"},"icon":"$(clear-all)"},{"command":"references-view.clear","title":{"value":"清除","original":"Clear"},"category":{"value":"引用","original":"References"},"icon":"$(clear-all)"},{"command":"references-view.refresh","title":{"value":"刷新","original":"Refresh"},"category":{"value":"引用","original":"References"},"icon":"$(refresh)"},{"command":"references-view.pickFromHistory","title":{"value":"显示历史记录","original":"Show History"},"category":{"value":"引用","original":"References"}},{"command":"references-view.removeReferenceItem","title":{"value":"关闭","original":"Dismiss"},"icon":"$(close)"},{"command":"references-view.copy","title":{"value":"复制","original":"Copy"}},{"command":"references-view.copyAll","title":{"value":"全部复制","original":"Copy All"}},{"command":"references-view.copyPath","title":{"value":"复制路径","original":"Copy Path"}},{"command":"references-view.refind","title":{"value":"重新运行","original":"Rerun"},"icon":"$(refresh)"},{"command":"references-view.showCallHierarchy","title":{"value":"显示调用层次结构","original":"Show Call Hierarchy"},"category":"Calls"},{"command":"references-view.showOutgoingCalls","title":{"value":"显示传出调用","original":"Show Outgoing Calls"},"category":"Calls","icon":"$(call-incoming)"},{"command":"references-view.showIncomingCalls","title":{"value":"显示传入调用","original":"Show Incoming Calls"},"category":"Calls","icon":"$(call-outgoing)"},{"command":"references-view.removeCallItem","title":{"value":"取消","original":"Dismiss"},"icon":"$(close)"},{"command":"references-view.next","title":{"value":"转到下一个引用","original":"Go to Next Reference"},"enablement":"references-view.canNavigate"},{"command":"references-view.prev","title":{"value":"转到上一个引用","original":"Go to Previous Reference"},"enablement":"references-view.canNavigate"},{"command":"references-view.showTypeHierarchy","title":{"value":"显示类型层次结构","original":"Show Type Hierarchy"},"category":"Types"},{"command":"references-view.showSupertypes","title":{"value":"显示超类型","original":"Show Supertypes"},"category":"Types","icon":"$(type-hierarchy-super)"},{"command":"references-view.showSubtypes","title":{"value":"显示子类型","original":"Show Subtypes"},"category":"Types","icon":"$(type-hierarchy-sub)"},{"command":"references-view.removeTypeItem","title":{"value":"关闭","original":"Dismiss"},"icon":"$(close)"}],"menus":{"editor/context":[{"command":"references-view.findReferences","when":"editorHasReferenceProvider","group":"0_navigation@1"},{"command":"references-view.findImplementations","when":"editorHasImplementationProvider","group":"0_navigation@2"},{"command":"references-view.showCallHierarchy","when":"editorHasCallHierarchyProvider","group":"0_navigation@3"},{"command":"references-view.showTypeHierarchy","when":"editorHasTypeHierarchyProvider","group":"0_navigation@4"}],"view/title":[{"command":"references-view.clear","group":"navigation@3","when":"view == references-view.tree && reference-list.hasResult"},{"command":"references-view.clearHistory","group":"navigation@3","when":"view == references-view.tree && reference-list.hasHistory && !reference-list.hasResult"},{"command":"references-view.refresh","group":"navigation@2","when":"view == references-view.tree && reference-list.hasResult"},{"command":"references-view.showOutgoingCalls","group":"navigation@1","when":"view == references-view.tree && reference-list.hasResult && reference-list.source == callHierarchy &&  references-view.callHierarchyMode == showIncoming"},{"command":"references-view.showIncomingCalls","group":"navigation@1","when":"view == references-view.tree && reference-list.hasResult && reference-list.source == callHierarchy &&  references-view.callHierarchyMode == showOutgoing"},{"command":"references-view.showSupertypes","group":"navigation@1","when":"view == references-view.tree && reference-list.hasResult && reference-list.source == typeHierarchy &&  references-view.typeHierarchyMode != supertypes"},{"command":"references-view.showSubtypes","group":"navigation@1","when":"view == references-view.tree && reference-list.hasResult && reference-list.source == typeHierarchy &&  references-view.typeHierarchyMode != subtypes"}],"view/item/context":[{"command":"references-view.removeReferenceItem","group":"inline","when":"view == references-view.tree && viewItem == file-item || view == references-view.tree && viewItem == reference-item"},{"command":"references-view.removeCallItem","group":"inline","when":"view == references-view.tree && viewItem == call-item"},{"command":"references-view.removeTypeItem","group":"inline","when":"view == references-view.tree && viewItem == type-item"},{"command":"references-view.refind","group":"inline","when":"view == references-view.tree && viewItem == history-item"},{"command":"references-view.removeReferenceItem","group":"1","when":"view == references-view.tree && viewItem == file-item || view == references-view.tree && viewItem == reference-item"},{"command":"references-view.removeCallItem","group":"1","when":"view == references-view.tree && viewItem == call-item"},{"command":"references-view.removeTypeItem","group":"1","when":"view == references-view.tree && viewItem == type-item"},{"command":"references-view.refind","group":"1","when":"view == references-view.tree && viewItem == history-item"},{"command":"references-view.copy","group":"2@1","when":"view == references-view.tree && viewItem == file-item || view == references-view.tree && viewItem == reference-item"},{"command":"references-view.copyPath","group":"2@2","when":"view == references-view.tree && viewItem == file-item"},{"command":"references-view.copyAll","group":"2@3","when":"view == references-view.tree && viewItem == file-item || view == references-view.tree && viewItem == reference-item"},{"command":"references-view.showOutgoingCalls","group":"1","when":"view == references-view.tree && viewItem == call-item"},{"command":"references-view.showIncomingCalls","group":"1","when":"view == references-view.tree && viewItem == call-item"},{"command":"references-view.showSupertypes","group":"1","when":"view == references-view.tree && viewItem == type-item"},{"command":"references-view.showSubtypes","group":"1","when":"view == references-view.tree && viewItem == type-item"}],"commandPalette":[{"command":"references-view.removeReferenceItem","when":"never"},{"command":"references-view.removeCallItem","when":"never"},{"command":"references-view.removeTypeItem","when":"never"},{"command":"references-view.copy","when":"never"},{"command":"references-view.copyAll","when":"never"},{"command":"references-view.copyPath","when":"never"},{"command":"references-view.refind","when":"never"},{"command":"references-view.findReferences","when":"editorHasReferenceProvider"},{"command":"references-view.clear","when":"reference-list.hasResult"},{"command":"references-view.clearHistory","when":"reference-list.isActive && !reference-list.hasResult"},{"command":"references-view.refresh","when":"reference-list.hasResult"},{"command":"references-view.pickFromHistory","when":"reference-list.isActive"},{"command":"references-view.next","when":"never"},{"command":"references-view.prev","when":"never"}]},"keybindings":[{"command":"references-view.findReferences","when":"editorHasReferenceProvider","key":"shift+alt+f12"},{"command":"references-view.next","when":"reference-list.hasResult","key":"f4"},{"command":"references-view.prev","when":"reference-list.hasResult","key":"shift+f4"},{"command":"references-view.showCallHierarchy","when":"editorHasCallHierarchyProvider","key":"shift+alt+h"}]}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/references-view","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.restructuredtext"},"manifest":{"name":"restructuredtext","displayName":"reStructuredText 语言基础知识","description":"在 reStructuredText 文件中提供语法突出显示。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin trond-snekvik/vscode-rst syntaxes/rst.tmLanguage.json ./syntaxes/rst.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"restructuredtext","aliases":["reStructuredText"],"configuration":"./language-configuration.json","extensions":[".rst"]}],"grammars":[{"language":"restructuredtext","scopeName":"source.rst","path":"./syntaxes/rst.tmLanguage.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/restructuredtext","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.ruby"},"manifest":{"name":"ruby","displayName":"Ruby 语言基础功能","description":"在 Ruby 文件中提供语法高亮和括号匹配功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin Shopify/ruby-lsp vscode/grammars/ruby.cson.json ./syntaxes/ruby.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"ruby","extensions":[".rb",".rbx",".rjs",".gemspec",".rake",".ru",".erb",".podspec",".rbi"],"filenames":["rakefile","gemfile","guardfile","podfile","capfile","cheffile","hobofile","vagrantfile","appraisals","rantfile","berksfile","berksfile.lock","thorfile","puppetfile","dangerfile","brewfile","fastfile","appfile","deliverfile","matchfile","scanfile","snapfile","gymfile"],"aliases":["Ruby","rb"],"firstLine":"^#!\\s*/.*\\bruby\\b","configuration":"./language-configuration.json"}],"grammars":[{"language":"ruby","scopeName":"source.ruby","path":"./syntaxes/ruby.tmLanguage.json"}],"configurationDefaults":{"[ruby]":{"editor.defaultColorDecorators":"never"}}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/ruby","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.rust"},"manifest":{"name":"rust","displayName":"Rust 语言基础功能","description":"在 Rust 文件中提供语法高亮和括号匹配功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ./build/update-grammar.mjs"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"rust","extensions":[".rs"],"aliases":["Rust","rust"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"rust","path":"./syntaxes/rust.tmLanguage.json","scopeName":"source.rust"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/rust","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.scss"},"manifest":{"name":"scss","displayName":"SCSS 语言基础功能","description":"在 SCSS 文件中提供语法高亮、括号匹配和折叠功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin atom/language-sass grammars/scss.cson ./syntaxes/scss.tmLanguage.json grammars/sassdoc.cson ./syntaxes/sassdoc.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"scss","aliases":["SCSS","scss"],"extensions":[".scss"],"mimetypes":["text/x-scss","text/scss"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"scss","scopeName":"source.css.scss","path":"./syntaxes/scss.tmLanguage.json"},{"scopeName":"source.sassdoc","path":"./syntaxes/sassdoc.tmLanguage.json"}],"problemMatchers":[{"name":"node-sass","label":"Node Sass Compiler","owner":"node-sass","fileLocation":"absolute","pattern":[{"regexp":"^{$"},{"regexp":"\\s*\"status\":\\s\\d+,"},{"regexp":"\\s*\"file\":\\s\"(.*)\",","file":1},{"regexp":"\\s*\"line\":\\s(\\d+),","line":1},{"regexp":"\\s*\"column\":\\s(\\d+),","column":1},{"regexp":"\\s*\"message\":\\s\"(.*)\",","message":1},{"regexp":"\\s*\"formatted\":\\s(.*)"},{"regexp":"^}$"}]}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/scss","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.search-result"},"manifest":{"name":"search-result","displayName":"搜索结果","description":"为选项卡搜索结果中提供语法突出显示和语言功能。","version":"10.0.0","publisher":"vscode","license":"MIT","icon":"images/icon.png","engines":{"vscode":"^1.39.0"},"main":"./dist/extension.js","browser":"./dist/browser/extension","activationEvents":["onLanguage:search-result"],"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"enabledApiProposals":["documentFiltersExclusive"],"contributes":{"configurationDefaults":{"[search-result]":{"editor.lineNumbers":"off"}},"languages":[{"id":"search-result","extensions":[".code-search"],"aliases":["Search Result"]}],"grammars":[{"language":"search-result","scopeName":"text.searchResult","path":"./syntaxes/searchResult.tmLanguage.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"},"originalEnabledApiProposals":["documentFiltersExclusive"]},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/search-result","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.shaderlab"},"manifest":{"name":"shaderlab","displayName":"Shaderlab 语言基础功能","description":"在 Shaderlab 文件中提供语法高亮和括号匹配功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin tgjones/shaders-tmLanguage grammars/shaderlab.json ./syntaxes/shaderlab.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"shaderlab","extensions":[".shader"],"aliases":["ShaderLab","shaderlab"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"shaderlab","path":"./syntaxes/shaderlab.tmLanguage.json","scopeName":"source.shaderlab"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/shaderlab","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.shellscript"},"manifest":{"name":"shellscript","displayName":"Shell 脚本语言基础功能","description":"在 Shell 脚本文件中提供语法高亮和括号匹配功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin jeff-hykin/better-shell-syntax autogenerated/shell.tmLanguage.json ./syntaxes/shell-unix-bash.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"shellscript","aliases":["Shell Script","shellscript","bash","fish","sh","zsh","ksh","csh"],"extensions":[".sh",".bash",".bashrc",".bash_aliases",".bash_profile",".bash_login",".ebuild",".eclass",".profile",".bash_logout",".xprofile",".xsession",".xsessionrc",".Xsession",".zsh",".zshrc",".zprofile",".zlogin",".zlogout",".zshenv",".zsh-theme",".fish",".ksh",".csh",".cshrc",".tcshrc",".yashrc",".yash_profile"],"filenames":["APKBUILD","PKGBUILD",".envrc",".hushlogin","zshrc","zshenv","zlogin","zprofile","zlogout","bashrc_Apple_Terminal","zshrc_Apple_Terminal"],"firstLine":"^#!.*\\b(bash|fish|zsh|sh|ksh|dtksh|pdksh|mksh|ash|dash|yash|sh|csh|jcsh|tcsh|itcsh).*|^#\\s*-\\*-[^*]*mode:\\s*shell-script[^*]*-\\*-","configuration":"./language-configuration.json","mimetypes":["text/x-shellscript"]}],"grammars":[{"language":"shellscript","scopeName":"source.shell","path":"./syntaxes/shell-unix-bash.tmLanguage.json","balancedBracketScopes":["*"],"unbalancedBracketScopes":["meta.scope.case-pattern.shell"]}],"configurationDefaults":{"[shellscript]":{"files.eol":"\n","editor.defaultColorDecorators":"never"}}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/shellscript","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.simple-browser"},"manifest":{"name":"simple-browser","displayName":"简易浏览器","description":"一个非常基本的内置 Web 视图，用于显示 Web 内容。","enabledApiProposals":["externalUriOpener"],"version":"10.0.0","icon":"media/icon.png","publisher":"vscode","license":"MIT","aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","engines":{"vscode":"^1.70.0"},"main":"./dist/extension","browser":"./dist/browser/extension","categories":["Other"],"extensionKind":["ui","workspace"],"activationEvents":["onCommand:simpleBrowser.api.open","onOpenExternalUri:http","onOpenExternalUri:https","onWebviewPanel:simpleBrowser.view"],"capabilities":{"virtualWorkspaces":true,"untrustedWorkspaces":{"supported":true}},"contributes":{"commands":[{"command":"simpleBrowser.show","title":"Show","category":"Simple Browser"}],"menus":{"commandPalette":[{"command":"simpleBrowser.show","when":"isWeb"}]},"configuration":[{"title":"Simple Browser","properties":{"simpleBrowser.focusLockIndicator.enabled":{"type":"boolean","default":true,"title":"Focus Lock Indicator Enabled","description":"启用/禁用在简单浏览器中聚焦时显示的浮动指示器。"}}}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"},"originalEnabledApiProposals":["externalUriOpener"]},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/simple-browser","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.sql"},"manifest":{"name":"sql","displayName":"SQL 语言基础功能","description":"在 SQL 文件中提供语法高亮和括号匹配功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ./build/update-grammar.mjs"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"sql","extensions":[".sql",".dsql"],"aliases":["MS SQL","T-SQL"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"sql","scopeName":"source.sql","path":"./syntaxes/sql.tmLanguage.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/sql","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.swift"},"manifest":{"name":"swift","displayName":"Swift 语言基础功能","description":"在 Swift 文件中提供代码片段、语法高亮和括号匹配功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin jtbandes/swift-tmlanguage Swift.tmLanguage.json ./syntaxes/swift.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"swift","aliases":["Swift","swift"],"extensions":[".swift"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"swift","scopeName":"source.swift","path":"./syntaxes/swift.tmLanguage.json"}],"snippets":[{"language":"swift","path":"./snippets/swift.code-snippets"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/swift","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.terminal-suggest"},"manifest":{"name":"terminal-suggest","publisher":"vscode","displayName":"VS Code 的终端建议","description":"用于为 zsh、bash 和 fish 终端添加终端完成的扩展。","version":"1.0.1","private":true,"license":"MIT","icon":"./media/icon.png","engines":{"vscode":"^1.95.0"},"categories":["Other"],"enabledApiProposals":["terminalCompletionProvider","terminalShellEnv"],"contributes":{"commands":[{"command":"terminal.integrated.suggest.clearCachedGlobals","category":"Terminal","title":{"value":"清除建议缓存的全局变量","original":"Clear Suggest Cached Globals"}}],"terminal":{"completionProviders":[{"description":"Show suggestions for commands, arguments, flags, and file paths based upon the Fig spec."}]}},"main":"./dist/terminalSuggestMain","activationEvents":["onTerminalShellIntegration:*"],"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"},"originalEnabledApiProposals":["terminalCompletionProvider","terminalShellEnv"]},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/terminal-suggest","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.theme-abyss"},"manifest":{"name":"theme-abyss","displayName":"Abyss 主题","description":"适用于 Visual Studio Code 的 Abyss 主题","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"categories":["Themes"],"contributes":{"themes":[{"id":"Abyss","label":"Abyss","uiTheme":"vs-dark","path":"./themes/abyss-color-theme.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/theme-abyss","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.theme-defaults"},"manifest":{"name":"theme-defaults","displayName":"默认主题","description":"默认 Visual Studio 浅色和深色主题","categories":["Themes"],"version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"contributes":{"themes":[{"id":"Light 2026","label":"2026 浅色","uiTheme":"vs","path":"./themes/2026-light.json"},{"id":"Dark 2026","label":"2026 深色","uiTheme":"vs-dark","path":"./themes/2026-dark.json"},{"id":"Dark+","label":"深色+","uiTheme":"vs-dark","path":"./themes/dark_plus.json"},{"id":"Dark Modern","label":"现代深色","uiTheme":"vs-dark","path":"./themes/dark_modern.json"},{"id":"Light+","label":"浅色+","uiTheme":"vs","path":"./themes/light_plus.json"},{"id":"Light Modern","label":"现代浅色","uiTheme":"vs","path":"./themes/light_modern.json"},{"id":"Visual Studio Dark","label":"深色(Visual Studio)","uiTheme":"vs-dark","path":"./themes/dark_vs.json"},{"id":"Visual Studio Light","label":"浅色(Visual Studio)","uiTheme":"vs","path":"./themes/light_vs.json"},{"id":"Default High Contrast","label":"深色高对比度","uiTheme":"hc-black","path":"./themes/hc_black.json"},{"id":"Default High Contrast Light","label":"浅色高对比度","uiTheme":"hc-light","path":"./themes/hc_light.json"}],"iconThemes":[{"id":"vs-minimal","label":"最小(Visual Studio Code)","path":"./fileicons/vs_minimal-icon-theme.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/theme-defaults","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.theme-kimbie-dark"},"manifest":{"name":"theme-kimbie-dark","displayName":"Kimbie Dark 主题","description":"适用于 Visual Studio Code 的 Kimbie dark 主题","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"categories":["Themes"],"contributes":{"themes":[{"id":"Kimbie Dark","label":"Kimbie Dark","uiTheme":"vs-dark","path":"./themes/kimbie-dark-color-theme.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/theme-kimbie-dark","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.theme-monokai"},"manifest":{"name":"theme-monokai","displayName":"Monokai 主题","description":"适用于 Visual Studio Code 的 Monokai 主题","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"categories":["Themes"],"contributes":{"themes":[{"id":"Monokai","label":"Monokai","uiTheme":"vs-dark","path":"./themes/monokai-color-theme.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/theme-monokai","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.theme-monokai-dimmed"},"manifest":{"name":"theme-monokai-dimmed","displayName":"Monokai Dimmed 主题","description":"适用于 Visual Studio Code 的 Monokai dimmed 主题","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"categories":["Themes"],"contributes":{"themes":[{"id":"Monokai Dimmed","label":"Monokai Dimmed","uiTheme":"vs-dark","path":"./themes/dimmed-monokai-color-theme.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/theme-monokai-dimmed","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.theme-quietlight"},"manifest":{"name":"theme-quietlight","displayName":"Quiet Light 主题","description":"适用于 Visual Studio Code 的 Quiet light 主题","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"categories":["Themes"],"contributes":{"themes":[{"id":"Quiet Light","label":"Quiet Light","uiTheme":"vs","path":"./themes/quietlight-color-theme.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/theme-quietlight","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.theme-red"},"manifest":{"name":"theme-red","displayName":"Red 主题","description":"适用于 Visual Studio Code 的 Red 主题","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"categories":["Themes"],"contributes":{"themes":[{"id":"Red","label":"红色","uiTheme":"vs-dark","path":"./themes/Red-color-theme.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/theme-red","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.vscode-theme-seti"},"manifest":{"name":"vscode-theme-seti","private":true,"version":"10.0.0","displayName":"Seti 文件图标主题","description":"由 Seti UI 文件图标构成的文件图标主题","publisher":"vscode","license":"MIT","icon":"icons/seti-circular-128x128.png","scripts":{"update":"node ./build/update-icon-theme.js"},"engines":{"vscode":"*"},"categories":["Themes"],"contributes":{"iconThemes":[{"id":"vs-seti","label":"Seti (Visual Studio Code)","path":"./icons/vs-seti-icon-theme.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/theme-seti","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.theme-solarized-dark"},"manifest":{"name":"theme-solarized-dark","displayName":"Solarized Dark 主题","description":"适用于 Visual Studio Code 的 Solarized dark 主题","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"categories":["Themes"],"contributes":{"themes":[{"id":"Solarized Dark","label":"Solarized Dark","uiTheme":"vs-dark","path":"./themes/solarized-dark-color-theme.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/theme-solarized-dark","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.theme-solarized-light"},"manifest":{"name":"theme-solarized-light","displayName":"Solarized Light 主题","description":"适用于 Visual Studio Code 的 Solarized light 主题","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"categories":["Themes"],"contributes":{"themes":[{"id":"Solarized Light","label":"Solarized Light","uiTheme":"vs","path":"./themes/solarized-light-color-theme.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/theme-solarized-light","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.theme-tomorrow-night-blue"},"manifest":{"name":"theme-tomorrow-night-blue","displayName":"Tomorrow Night Blue 主题","description":"适用于 Visual Studio Code 的 Tomorrow night blue 主题","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"categories":["Themes"],"contributes":{"themes":[{"id":"Tomorrow Night Blue","label":"Tomorrow Night Blue","uiTheme":"vs-dark","path":"./themes/tomorrow-night-blue-color-theme.json"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/theme-tomorrow-night-blue","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.tunnel-forwarding"},"manifest":{"name":"tunnel-forwarding","displayName":"本地隧道端口转发","description":"允许通过 Internet 访问转发本地端口。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"^1.82.0"},"icon":"media/icon.png","capabilities":{"virtualWorkspaces":false,"untrustedWorkspaces":{"supported":true}},"enabledApiProposals":["resolvers","tunnelFactory"],"activationEvents":["onTunnel"],"contributes":{"commands":[{"category":{"value":"端口转发","original":"Port Forwarding"},"command":"tunnel-forwarding.showLog","title":{"value":"显示日志","original":"Show Log"},"enablement":"tunnelForwardingHasLog"},{"category":{"value":"端口转发","original":"Port Forwarding"},"command":"tunnel-forwarding.restart","title":{"value":"重新启动转发系统","original":"Restart Forwarding System"},"enablement":"tunnelForwardingIsRunning"}]},"main":"./dist/extension","prettier":{"printWidth":100,"trailingComma":"all","singleQuote":true,"arrowParens":"avoid"},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"},"originalEnabledApiProposals":["resolvers","tunnelFactory"]},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/tunnel-forwarding","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.typescript"},"manifest":{"name":"typescript","description":"在 TypeScript 文件中提供代码片段、语法高亮、括号匹配和折叠功能。","displayName":"TypeScript 语言基础功能","version":"10.0.0","author":"vscode","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ./build/update-grammars.mjs"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"typescript","aliases":["TypeScript","ts","typescript"],"extensions":[".ts",".cts",".mts"],"firstLine":"^#!.*\\b(deno|bun|ts-node)\\b","configuration":"./language-configuration.json"},{"id":"typescriptreact","aliases":["TypeScript JSX","TypeScript React","tsx"],"extensions":[".tsx"],"configuration":"./language-configuration.json"},{"id":"jsonc","filenames":["tsconfig.json","jsconfig.json"],"filenamePatterns":["tsconfig.*.json","jsconfig.*.json","tsconfig-*.json","jsconfig-*.json"]},{"id":"json","extensions":[".tsbuildinfo"]}],"grammars":[{"language":"typescript","scopeName":"source.ts","path":"./syntaxes/TypeScript.tmLanguage.json","unbalancedBracketScopes":["keyword.operator.relational","storage.type.function.arrow","keyword.operator.bitwise.shift","meta.brace.angle","punctuation.definition.tag","keyword.operator.assignment.compound.bitwise.ts"],"tokenTypes":{"punctuation.definition.template-expression":"other","entity.name.type.instance.jsdoc":"other","entity.name.function.tagged-template":"other","meta.import string.quoted":"other","variable.other.jsdoc":"other"}},{"language":"typescriptreact","scopeName":"source.tsx","path":"./syntaxes/TypeScriptReact.tmLanguage.json","unbalancedBracketScopes":["keyword.operator.relational","storage.type.function.arrow","keyword.operator.bitwise.shift","punctuation.definition.tag","keyword.operator.assignment.compound.bitwise.ts"],"embeddedLanguages":{"meta.tag.tsx":"jsx-tags","meta.tag.without-attributes.tsx":"jsx-tags","meta.tag.attributes.tsx":"typescriptreact","meta.embedded.expression.tsx":"typescriptreact"},"tokenTypes":{"punctuation.definition.template-expression":"other","entity.name.type.instance.jsdoc":"other","entity.name.function.tagged-template":"other","meta.import string.quoted":"other","variable.other.jsdoc":"other"}},{"scopeName":"documentation.injection.ts","path":"./syntaxes/jsdoc.ts.injection.tmLanguage.json","injectTo":["source.ts","source.tsx"]},{"scopeName":"documentation.injection.js.jsx","path":"./syntaxes/jsdoc.js.injection.tmLanguage.json","injectTo":["source.js","source.js.jsx"]}],"semanticTokenScopes":[{"language":"typescript","scopes":{"property":["variable.other.property.ts"],"property.readonly":["variable.other.constant.property.ts"],"variable":["variable.other.readwrite.ts"],"variable.readonly":["variable.other.constant.object.ts"],"function":["entity.name.function.ts"],"namespace":["entity.name.type.module.ts"],"variable.defaultLibrary":["support.variable.ts"],"function.defaultLibrary":["support.function.ts"]}},{"language":"typescriptreact","scopes":{"property":["variable.other.property.tsx"],"property.readonly":["variable.other.constant.property.tsx"],"variable":["variable.other.readwrite.tsx"],"variable.readonly":["variable.other.constant.object.tsx"],"function":["entity.name.function.tsx"],"namespace":["entity.name.type.module.tsx"],"variable.defaultLibrary":["support.variable.tsx"],"function.defaultLibrary":["support.function.tsx"]}}],"snippets":[{"language":"typescript","path":"./snippets/typescript.code-snippets"},{"language":"typescriptreact","path":"./snippets/typescript.code-snippets"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/typescript-basics","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.typescript-language-features"},"manifest":{"name":"typescript-language-features","description":"为 JavaScript 和 TypeScript 提供丰富的语言支持。","displayName":"JavaScript 和 TypeScript 语言功能","version":"10.0.0","author":"vscode","publisher":"vscode","license":"MIT","aiKey":"0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255","enabledApiProposals":["workspaceTrust","multiDocumentHighlightProvider","codeActionAI","codeActionRanges","editorHoverVerbosityLevel"],"capabilities":{"virtualWorkspaces":{"supported":"limited","description":"在虚拟工作区中，不支持解析和查找跨文件的引用。"},"untrustedWorkspaces":{"supported":"limited","description":"使用工作区版本时，扩展需要工作区信任，因为它会执行工作区指定的代码。","restrictedConfigurations":["typescript.tsdk","js/ts.tsdk.path","typescript.tsserver.pluginPaths","js/ts.tsserver.pluginPaths","typescript.npm","js/ts.tsserver.npm.path","typescript.tsserver.nodePath","js/ts.tsserver.node.path","js/ts.tsserver.diagnosticDir","js/ts.tsserver.heapProfile","js/ts.preferences.autoImportSpecifierExcludeRegexes","typescript.preferences.autoImportSpecifierExcludeRegexes","javascript.preferences.autoImportSpecifierExcludeRegexes"]}},"engines":{"vscode":"^1.30.0"},"icon":"media/icon.png","categories":["Programming Languages"],"activationEvents":["onLanguage:javascript","onLanguage:javascriptreact","onLanguage:typescript","onLanguage:typescriptreact","onLanguage:jsx-tags","onCommand:typescript.tsserverRequest","onCommand:_typescript.configurePlugin","onCommand:_typescript.learnMoreAboutRefactorings","onCommand:typescript.fileReferences","onTaskType:typescript","onLanguage:jsonc","onWalkthrough:nodejsWelcome"],"main":"./dist/extension","browser":"./dist/browser/extension","contributes":{"jsonValidation":[{"fileMatch":"package.json","url":"./schemas/package.schema.json"},{"fileMatch":"tsconfig.json","url":"https://www.schemastore.org/tsconfig"},{"fileMatch":"tsconfig.json","url":"./schemas/tsconfig.schema.json"},{"fileMatch":"tsconfig.*.json","url":"https://www.schemastore.org/tsconfig"},{"fileMatch":"tsconfig-*.json","url":"./schemas/tsconfig.schema.json"},{"fileMatch":"tsconfig-*.json","url":"https://www.schemastore.org/tsconfig"},{"fileMatch":"tsconfig.*.json","url":"./schemas/tsconfig.schema.json"},{"fileMatch":"typings.json","url":"https://www.schemastore.org/typings"},{"fileMatch":".bowerrc","url":"https://www.schemastore.org/bowerrc"},{"fileMatch":".babelrc","url":"https://www.schemastore.org/babelrc"},{"fileMatch":".babelrc.json","url":"https://www.schemastore.org/babelrc"},{"fileMatch":"babel.config.json","url":"https://www.schemastore.org/babelrc"},{"fileMatch":"jsconfig.json","url":"https://www.schemastore.org/jsconfig"},{"fileMatch":"jsconfig.json","url":"./schemas/jsconfig.schema.json"},{"fileMatch":"jsconfig.*.json","url":"https://www.schemastore.org/jsconfig"},{"fileMatch":"jsconfig.*.json","url":"./schemas/jsconfig.schema.json"},{"fileMatch":".swcrc","url":"https://swc.rs/schema.json"},{"fileMatch":"typedoc.json","url":"https://typedoc.org/schema.json"}],"configuration":[{"type":"object","properties":{"js/ts.tsdk.path":{"type":"string","markdownDescription":"指定 TypeScript 安装下用于 IntelliSense 的 tsserver 和 `lib*.d.ts` 文件的文件夹路径，例如: `./node_modules/typescript/lib`。\r\n\r\n- 当指定为用户设置时，来自 `js/ts.tsdk.path` 的 TypeScript 版本会自动替换内置的 TypeScript 版本。\r\n- 当指定为工作区设置时，`js/ts.tsdk.path` 允许通过 `TypeScript: Select TypeScript version` 命令切换为对 IntelliSense 使用 TypeScript 的该工作区版本。\r\n\r\n有关管理 TypeScript 版本的更多详细信息，请参阅 [TypeScript文档](https://code.visualstudio.com/docs/typescript/typescript-compiling#_using-newer-typescript-versions)。","scope":"window","order":1,"keywords":["TypeScript"]},"typescript.tsdk":{"type":"string","markdownDescription":"指定 TypeScript 安装下用于 IntelliSense 的 tsserver 和 `lib*.d.ts` 文件的文件夹路径，例如: `./node_modules/typescript/lib`。\r\n\r\n- 当指定为用户设置时，来自 `js/ts.tsdk.path` 的 TypeScript 版本会自动替换内置的 TypeScript 版本。\r\n- 当指定为工作区设置时，`js/ts.tsdk.path` 允许通过 `TypeScript: Select TypeScript version` 命令切换为对 IntelliSense 使用 TypeScript 的该工作区版本。\r\n\r\n有关管理 TypeScript 版本的更多详细信息，请参阅 [TypeScript文档](https://code.visualstudio.com/docs/typescript/typescript-compiling#_using-newer-typescript-versions)。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.tsdk.path#`。","scope":"window","order":1},"js/ts.experimental.useTsgo":{"type":"boolean","default":false,"markdownDescription":"禁用 TypeScript 和 JavaScript 语言功能以允许使用 TypeScript Go 实验性扩展。需要安装和配置 TypeScript Go。更改此设置后需要重新加载扩展。","scope":"window","order":2,"keywords":["TypeScript","experimental"]},"typescript.experimental.useTsgo":{"type":"boolean","default":false,"markdownDescription":"禁用 TypeScript 和 JavaScript 语言功能以允许使用 TypeScript Go 实验性扩展。需要安装和配置 TypeScript Go。更改此设置后需要重新加载扩展。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.experimental.useTsgo#`。","scope":"window","order":2,"keywords":["experimental"]},"js/ts.locale":{"type":"string","default":"auto","enum":["auto","de","es","en","fr","it","ja","ko","ru","zh-CN","zh-TW"],"enumDescriptions":["使用 VS Code 配置的显示语言。","Deutsch","español","English","français","italiano","日本語","한국어","русский","中文(简体)","中文(繁體)"],"markdownDescription":"设置在报告 JavaScript 和 TypeScript 错误时使用的区域设置。默认使用 VS Code 的区域设置。","scope":"window","order":3,"keywords":["TypeScript"]},"typescript.locale":{"type":"string","default":"auto","enum":["auto","de","es","en","fr","it","ja","ko","ru","zh-CN","zh-TW"],"enumDescriptions":["使用 VS Code 配置的显示语言。","Deutsch","español","English","français","italiano","日本語","한국어","русский","中文(简体)","中文(繁體)"],"markdownDescription":"设置在报告 JavaScript 和 TypeScript 错误时使用的区域设置。默认使用 VS Code 的区域设置。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.locale#`。","scope":"window","order":3},"js/ts.tsc.autoDetect":{"type":"string","default":"on","enum":["on","off","build","watch"],"markdownEnumDescriptions":["同时创建生成和监视任务。","禁用此功能。","仅创建单次运行编译任务。","仅创建编译和监视任务。"],"description":"控制对 tsc 任务的自动检测。","scope":"window","order":4,"keywords":["TypeScript"]},"typescript.tsc.autoDetect":{"type":"string","default":"on","enum":["on","off","build","watch"],"markdownEnumDescriptions":["同时创建生成和监视任务。","禁用此功能。","仅创建单次运行编译任务。","仅创建编译和监视任务。"],"description":"控制对 tsc 任务的自动检测。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.tsc.autoDetect#`。","scope":"window","order":4}}},{"type":"object","title":"首选项","properties":{"js/ts.preferences.quoteStyle":{"type":"string","enum":["auto","single","double"],"default":"auto","markdownDescription":"用于快速修复的首选引文样式。","markdownEnumDescriptions":["从现有代码推断引号类型","始终使用单引号: `'`","始终使用双引号: `\"`"],"scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.preferences.quoteStyle":{"type":"string","enum":["auto","single","double"],"default":"auto","markdownDescription":"用于快速修复的首选引文样式。","markdownEnumDescriptions":["从现有代码推断引号类型","始终使用单引号: `'`","始终使用双引号: `\"`"],"markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.preferences.quoteStyle#`。","scope":"language-overridable"},"typescript.preferences.quoteStyle":{"type":"string","enum":["auto","single","double"],"default":"auto","markdownDescription":"用于快速修复的首选引文样式。","markdownEnumDescriptions":["从现有代码推断引号类型","始终使用单引号: `'`","始终使用双引号: `\"`"],"markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.preferences.quoteStyle#`。","scope":"language-overridable"},"js/ts.preferences.importModuleSpecifier":{"type":"string","enum":["shortest","relative","non-relative","project-relative"],"markdownEnumDescriptions":["仅当有路径段少于相关导入路径段的不相关导入时，才首选不相关导入。","首选导入文件位置的相对路径。","根据在 `jsconfig.json` / `tsconfig.json` 中配置的 `baseUrl` 或 `paths` 首选不相关导入。","仅当相对导入路径从包或项目目录中移除后，才首选使用非相对导入。"],"default":"shortest","description":"自动 import 语句中路径的首选样式。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.preferences.importModuleSpecifier":{"type":"string","enum":["shortest","relative","non-relative","project-relative"],"markdownEnumDescriptions":["仅当有路径段少于相关导入路径段的不相关导入时，才首选不相关导入。","首选导入文件位置的相对路径。","根据在 `jsconfig.json` / `tsconfig.json` 中配置的 `baseUrl` 或 `paths` 首选不相关导入。","仅当相对导入路径从包或项目目录中移除后，才首选使用非相对导入。"],"default":"shortest","description":"自动 import 语句中路径的首选样式。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.preferences.importModuleSpecifier#`。","scope":"language-overridable"},"typescript.preferences.importModuleSpecifier":{"type":"string","enum":["shortest","relative","non-relative","project-relative"],"markdownEnumDescriptions":["仅当有路径段少于相关导入路径段的不相关导入时，才首选不相关导入。","首选导入文件位置的相对路径。","根据在 `jsconfig.json` / `tsconfig.json` 中配置的 `baseUrl` 或 `paths` 首选不相关导入。","仅当相对导入路径从包或项目目录中移除后，才首选使用非相对导入。"],"default":"shortest","description":"自动 import 语句中路径的首选样式。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.preferences.importModuleSpecifier#`。","scope":"language-overridable"},"js/ts.preferences.importModuleSpecifierEnding":{"type":"string","enum":["auto","minimal","index","js"],"enumItemLabels":[null,null,null,".js / .ts"],"markdownEnumDescriptions":["使用项目设置选择默认值。","将 \"./component/index.js\" 缩短为 \"./component\"。","将 \"./component/index.js\" 缩短为 \"./component/index\"。","不要缩短路径结尾；包括 \".js\" 或 \".ts\" 扩展。"],"default":"auto","description":"自动导入的首选路径结尾。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.preferences.importModuleSpecifierEnding":{"type":"string","enum":["auto","minimal","index","js"],"enumItemLabels":[null,null,null,".js / .ts"],"markdownEnumDescriptions":["使用项目设置选择默认值。","将 \"./component/index.js\" 缩短为 \"./component\"。","将 \"./component/index.js\" 缩短为 \"./component/index\"。","不要缩短路径结尾；包括 \".js\" 或 \".ts\" 扩展。"],"default":"auto","description":"自动导入的首选路径结尾。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.preferences.importModuleSpecifierEnding#`。","scope":"language-overridable"},"typescript.preferences.importModuleSpecifierEnding":{"type":"string","enum":["auto","minimal","index","js"],"enumItemLabels":[null,null,null,".js / .ts"],"markdownEnumDescriptions":["使用项目设置选择默认值。","将 \"./component/index.js\" 缩短为 \"./component\"。","将 \"./component/index.js\" 缩短为 \"./component/index\"。","不要缩短路径结尾；包括 \".js\" 或 \".ts\" 扩展。"],"default":"auto","description":"自动导入的首选路径结尾。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.preferences.importModuleSpecifierEnding#`。","scope":"language-overridable"},"js/ts.preferences.jsxAttributeCompletionStyle":{"type":"string","enum":["auto","braces","none"],"markdownEnumDescriptions":["根据属性类型在属性名称后插入 `={}` 或 `=\"\"`。请参阅 `#js/ts.preferences.quoteStyle#` 以控制用于字符串属性的引号样式。","在属性名称后插入 `={}`。","仅插入属性名称。"],"default":"auto","description":"JSX 属性完成的首选样式。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.preferences.jsxAttributeCompletionStyle":{"type":"string","enum":["auto","braces","none"],"markdownEnumDescriptions":["根据属性类型在属性名称后插入 `={}` 或 `=\"\"`。请参见 `#javascript.preferences.quoteStyle#`，控制用于字符串属性的引号样式。","在属性名称后插入 `={}`。","仅插入属性名称。"],"default":"auto","description":"JSX 属性完成的首选样式。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.preferences.jsxAttributeCompletionStyle#`。","scope":"language-overridable"},"typescript.preferences.jsxAttributeCompletionStyle":{"type":"string","enum":["auto","braces","none"],"markdownEnumDescriptions":["根据属性类型在属性名称后插入 `={}` 或 `=\"\"`。请参见 `#typescript.preferences.quoteStyle#`，控制用于字符串属性的引号样式。","在属性名称后插入 `={}`。","仅插入属性名称。"],"default":"auto","description":"JSX 属性完成的首选样式。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.preferences.jsxAttributeCompletionStyle#`。","scope":"language-overridable"},"js/ts.preferences.includePackageJsonAutoImports":{"type":"string","enum":["auto","on","off"],"enumDescriptions":["根据预估的性能影响搜索依赖项。","始终搜索依赖项。","从不搜索依赖项。"],"default":"auto","markdownDescription":"允许/禁止在 \"package.json\" 依赖项中搜索可用的自动导入。","scope":"window","keywords":["TypeScript"]},"typescript.preferences.includePackageJsonAutoImports":{"type":"string","enum":["auto","on","off"],"enumDescriptions":["根据预估的性能影响搜索依赖项。","始终搜索依赖项。","从不搜索依赖项。"],"default":"auto","markdownDescription":"允许/禁止在 \"package.json\" 依赖项中搜索可用的自动导入。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.preferences.includePackageJsonAutoImports#`。","scope":"window"},"js/ts.preferences.autoImportFileExcludePatterns":{"type":"array","items":{"type":"string"},"markdownDescription":"从自动导入中排除指定文件的 glob 模式。相对路径是相对于工作区进行解析的。使用 tsconfig.json ['exclude'](https://www.typescriptlang.org/tsconfig#exclude)语义计算模式。","scope":"resource","keywords":["JavaScript","TypeScript"]},"javascript.preferences.autoImportFileExcludePatterns":{"type":"array","items":{"type":"string"},"markdownDescription":"从自动导入中排除指定文件的 glob 模式。相对路径是相对于工作区进行解析的。使用 tsconfig.json ['exclude'](https://www.typescriptlang.org/tsconfig#exclude)语义计算模式。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.preferences.autoImportFileExcludePatterns#`。","scope":"resource"},"typescript.preferences.autoImportFileExcludePatterns":{"type":"array","items":{"type":"string"},"markdownDescription":"从自动导入中排除指定文件的 glob 模式。相对路径是相对于工作区进行解析的。使用 tsconfig.json ['exclude'](https://www.typescriptlang.org/tsconfig#exclude)语义计算模式。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.preferences.autoImportFileExcludePatterns#`。","scope":"resource"},"js/ts.preferences.autoImportSpecifierExcludeRegexes":{"type":"array","items":{"type":"string"},"markdownDescription":"指定正则表达式以排除包含匹配导入说明符的自动导入。示例:\r\n\r\n- `^node:`\r\n- `lib/internal` (无需对斜杠进行转义...)\r\n- `/lib\\/internal/i` (...除非包括 `i` 或 `u` 标志周围的斜杠)\r\n- `^lodash$` (仅允许从 lodash 进行子路径导入)","scope":"resource","keywords":["JavaScript","TypeScript"]},"javascript.preferences.autoImportSpecifierExcludeRegexes":{"type":"array","items":{"type":"string"},"markdownDescription":"指定正则表达式以排除包含匹配导入说明符的自动导入。示例:\r\n\r\n- `^node:`\r\n- `lib/internal` (无需对斜杠进行转义...)\r\n- `/lib\\/internal/i` (...除非包括 `i` 或 `u` 标志周围的斜杠)\r\n- `^lodash$` (仅允许从 lodash 进行子路径导入)","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.preferences.autoImportSpecifierExcludeRegexes#`。","scope":"resource"},"typescript.preferences.autoImportSpecifierExcludeRegexes":{"type":"array","items":{"type":"string"},"markdownDescription":"指定正则表达式以排除包含匹配导入说明符的自动导入。示例:\r\n\r\n- `^node:`\r\n- `lib/internal` (无需对斜杠进行转义...)\r\n- `/lib\\/internal/i` (...除非包括 `i` 或 `u` 标志周围的斜杠)\r\n- `^lodash$` (仅允许从 lodash 进行子路径导入)","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.preferences.autoImportSpecifierExcludeRegexes#`。","scope":"resource"},"js/ts.preferences.preferTypeOnlyAutoImports":{"type":"boolean","default":false,"markdownDescription":"尽可能在自动导入中包含 `type` 关键字。要求在工作区中使用 TypeScript 5.3+。","scope":"resource","keywords":["TypeScript"]},"typescript.preferences.preferTypeOnlyAutoImports":{"type":"boolean","default":false,"markdownDescription":"尽可能在自动导入中包含 `type` 关键字。要求在工作区中使用 TypeScript 5.3+。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.preferences.preferTypeOnlyAutoImports#`。","scope":"resource"},"js/ts.preferences.useAliasesForRenames":{"type":"boolean","default":true,"description":"启用/禁用在重命名期间为对象速记属性引入别名。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.preferences.useAliasesForRenames":{"type":"boolean","default":true,"description":"启用/禁用在重命名期间为对象速记属性引入别名。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.preferences.useAliasesForRenames#`。","scope":"language-overridable"},"typescript.preferences.useAliasesForRenames":{"type":"boolean","default":true,"description":"启用/禁用在重命名期间为对象速记属性引入别名。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.preferences.useAliasesForRenames#`。","scope":"language-overridable"},"js/ts.preferences.renameMatchingJsxTags":{"type":"boolean","default":true,"description":"在 JSX 标记上时，请尝试重命名匹配的标记，而不是重命名符号。要求在工作区中使用 TypeScript 5.1+。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.preferences.renameMatchingJsxTags":{"type":"boolean","default":true,"description":"在 JSX 标记上时，请尝试重命名匹配的标记，而不是重命名符号。要求在工作区中使用 TypeScript 5.1+。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.preferences.renameMatchingJsxTags#`。","scope":"language-overridable"},"typescript.preferences.renameMatchingJsxTags":{"type":"boolean","default":true,"description":"在 JSX 标记上时，请尝试重命名匹配的标记，而不是重命名符号。要求在工作区中使用 TypeScript 5.1+。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.preferences.renameMatchingJsxTags#`。","scope":"language-overridable"},"js/ts.preferences.organizeImports":{"type":"object","markdownDescription":"控制导入顺序的高级首选项。","properties":{"caseSensitivity":{"type":"string","markdownDescription":"指定如何根据大小写区分对导入进行排序。如果 `auto` 或未指定，我们将根据每个文件检测大小写区分","enum":["auto","caseInsensitive","caseSensitive"],"markdownEnumDescriptions":["检测导入排序是否区分大小写。","按区分大小写的方式对导入进行排序。","按区分大小写的方式对导数进行排序。"],"default":"auto"},"typeOrder":{"type":"string","markdownDescription":"指定应如何对仅类型命名的导入进行排序。","enum":["auto","last","inline","first"],"default":"auto","markdownEnumDescriptions":["检测应在何处对仅类型命名的导入进行排序。","将仅类型命名导入排序到导入列表末尾。例如，`import { B, Z, type A, type Y } from 'module';`","命名导入仅按名称排序。例如，`import { type A, B, type Y, Z } from 'module';`","将仅类型命名导入排序到导入列表开头。例如，`import { type A, type Y, B, Z } from 'module';`"]},"unicodeCollation":{"type":"string","markdownDescription":"指定是使用 Unicode 还是序号排序规则对导入进行排序。","enum":["ordinal","unicode"],"markdownEnumDescriptions":["使用每个码位元素的数值对导入进行排序。","使用 Unicode 代码排序规则对导入进行排序。"],"default":"ordinal"},"locale":{"type":"string","markdownDescription":"需要 `organizeImports.unicodeCollation: 'unicode'`。替代用于排序规则的区域设置。指定 `auto` 以使用 UI 区域设置。"},"numericCollation":{"type":"boolean","markdownDescription":"需要 `organizeImports.unicodeCollation: 'unicode'`。按整数值对数值字符串进行排序。"},"accentCollation":{"type":"boolean","markdownDescription":"需要 `organizeImports.unicodeCollation: 'unicode'`。将带变音符号的字符与基本字符比较，将二者视为不相等。"},"caseFirst":{"type":"string","markdownDescription":"需要 `organizeImports.unicodeCollation: 'unicode'`，而 `organizeImports.caseSensitivity` 不是 `caseInsensitive`。指示大写是否排列在小写前面。","enum":["default","upper","lower"],"markdownEnumDescriptions":["`locale` 指定的默认顺序。","大写放在小写前面。例如 ` A, a, B, b`。","小写放在大写前面。例如 ` a, A, z, Z`。"],"default":"default"}},"keywords":["JavaScript","TypeScript"]},"javascript.preferences.organizeImports":{"type":"object","markdownDescription":"控制导入顺序的高级首选项。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.preferences.organizeImports#`。","properties":{"caseSensitivity":{"type":"string","markdownDescription":"指定如何根据大小写区分对导入进行排序。如果 `auto` 或未指定，我们将根据每个文件检测大小写区分","enum":["auto","caseInsensitive","caseSensitive"],"markdownEnumDescriptions":["检测导入排序是否区分大小写。","按区分大小写的方式对导入进行排序。","按区分大小写的方式对导数进行排序。"],"default":"auto"},"typeOrder":{"type":"string","markdownDescription":"指定应如何对仅类型命名的导入进行排序。","enum":["auto","last","inline","first"],"default":"auto","markdownEnumDescriptions":["检测应在何处对仅类型命名的导入进行排序。","将仅类型命名导入排序到导入列表末尾。例如，`import { B, Z, type A, type Y } from 'module';`","命名导入仅按名称排序。例如，`import { type A, B, type Y, Z } from 'module';`","将仅类型命名导入排序到导入列表开头。例如，`import { type A, type Y, B, Z } from 'module';`"]},"unicodeCollation":{"type":"string","markdownDescription":"指定是使用 Unicode 还是序号排序规则对导入进行排序。","enum":["ordinal","unicode"],"markdownEnumDescriptions":["使用每个码位元素的数值对导入进行排序。","使用 Unicode 代码排序规则对导入进行排序。"],"default":"ordinal"},"locale":{"type":"string","markdownDescription":"需要 `organizeImports.unicodeCollation: 'unicode'`。替代用于排序规则的区域设置。指定 `auto` 以使用 UI 区域设置。"},"numericCollation":{"type":"boolean","markdownDescription":"需要 `organizeImports.unicodeCollation: 'unicode'`。按整数值对数值字符串进行排序。"},"accentCollation":{"type":"boolean","markdownDescription":"需要 `organizeImports.unicodeCollation: 'unicode'`。将带变音符号的字符与基本字符比较，将二者视为不相等。"},"caseFirst":{"type":"string","markdownDescription":"需要 `organizeImports.unicodeCollation: 'unicode'`，而 `organizeImports.caseSensitivity` 不是 `caseInsensitive`。指示大写是否排列在小写前面。","enum":["default","upper","lower"],"markdownEnumDescriptions":["`locale` 指定的默认顺序。","大写放在小写前面。例如 ` A, a, B, b`。","小写放在大写前面。例如 ` a, A, z, Z`。"],"default":"default"}}},"typescript.preferences.organizeImports":{"type":"object","markdownDescription":"控制导入顺序的高级首选项。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.preferences.organizeImports#`。","properties":{"caseSensitivity":{"type":"string","markdownDescription":"指定如何根据大小写区分对导入进行排序。如果 `auto` 或未指定，我们将根据每个文件检测大小写区分","enum":["auto","caseInsensitive","caseSensitive"],"markdownEnumDescriptions":["检测导入排序是否区分大小写。","%typescript.preferences.organizeImports.caseSensitivity.insensitive","按区分大小写的方式对导数进行排序。"],"default":"auto"},"typeOrder":{"type":"string","markdownDescription":"指定应如何对仅类型命名的导入进行排序。","enum":["auto","last","inline","first"],"default":"auto","markdownEnumDescriptions":["检测应在何处对仅类型命名的导入进行排序。","将仅类型命名导入排序到导入列表末尾。例如，`import { B, Z, type A, type Y } from 'module';`","命名导入仅按名称排序。例如，`import { type A, B, type Y, Z } from 'module';`","将仅类型命名导入排序到导入列表开头。例如，`import { type A, type Y, B, Z } from 'module';`"]},"unicodeCollation":{"type":"string","markdownDescription":"指定是使用 Unicode 还是序号排序规则对导入进行排序。","enum":["ordinal","unicode"],"markdownEnumDescriptions":["使用每个码位元素的数值对导入进行排序。","使用 Unicode 代码排序规则对导入进行排序。"],"default":"ordinal"},"locale":{"type":"string","markdownDescription":"需要 `organizeImports.unicodeCollation: 'unicode'`。替代用于排序规则的区域设置。指定 `auto` 以使用 UI 区域设置。"},"numericCollation":{"type":"boolean","markdownDescription":"需要 `organizeImports.unicodeCollation: 'unicode'`。按整数值对数值字符串进行排序。"},"accentCollation":{"type":"boolean","markdownDescription":"需要 `organizeImports.unicodeCollation: 'unicode'`。将带变音符号的字符与基本字符比较，将二者视为不相等。"},"caseFirst":{"type":"string","markdownDescription":"需要 `organizeImports.unicodeCollation: 'unicode'`，而 `organizeImports.caseSensitivity` 不是 `caseInsensitive`。指示大写是否排列在小写前面。","enum":["default","upper","lower"],"markdownEnumDescriptions":["`locale` 指定的默认顺序。","大写放在小写前面。例如 ` A, a, B, b`。","小写放在大写前面。例如 ` a, A, z, Z`。"],"default":"default"}}}}},{"type":"object","title":"格式设置","properties":{"js/ts.format.enabled":{"type":"boolean","default":true,"description":"启用/禁用默认的 JavaScript 和 TypeScript 格式化程序。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.format.enable":{"type":"boolean","default":true,"description":"启用/禁用 JavaScript 格式化程序。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.enabled#`。","scope":"window"},"typescript.format.enable":{"type":"boolean","default":true,"description":"启用/禁用默认 TypeScript 格式化程序。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.enabled#`。","scope":"window"},"js/ts.format.insertSpaceAfterCommaDelimiter":{"type":"boolean","default":true,"description":"定义逗号分隔符后面的空格处理。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.format.insertSpaceAfterCommaDelimiter":{"type":"boolean","default":true,"description":"定义逗号分隔符后面的空格处理。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.insertSpaceAfterCommaDelimiter#`。","scope":"resource"},"typescript.format.insertSpaceAfterCommaDelimiter":{"type":"boolean","default":true,"description":"定义逗号分隔符后面的空格处理。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.insertSpaceAfterCommaDelimiter#`。","scope":"resource"},"js/ts.format.insertSpaceAfterConstructor":{"type":"boolean","default":false,"description":"定义构造函数关键字后面的空格处理方式。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.format.insertSpaceAfterConstructor":{"type":"boolean","default":false,"description":"定义构造函数关键字后面的空格处理方式。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.insertSpaceAfterConstructor#`。","scope":"resource"},"typescript.format.insertSpaceAfterConstructor":{"type":"boolean","default":false,"description":"定义构造函数关键字后面的空格处理方式。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.insertSpaceAfterConstructor#`。","scope":"resource"},"js/ts.format.insertSpaceAfterSemicolonInForStatements":{"type":"boolean","default":true,"description":"定义 for 语句中分号之后的空格处理方式。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.format.insertSpaceAfterSemicolonInForStatements":{"type":"boolean","default":true,"description":"定义 for 语句中分号之后的空格处理方式。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.insertSpaceAfterSemicolonInForStatements#`。","scope":"resource"},"typescript.format.insertSpaceAfterSemicolonInForStatements":{"type":"boolean","default":true,"description":"定义 for 语句中分号之后的空格处理方式。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.insertSpaceAfterSemicolonInForStatements#`。","scope":"resource"},"js/ts.format.insertSpaceBeforeAndAfterBinaryOperators":{"type":"boolean","default":true,"description":"定义二进制运算符后面的空格处理","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.format.insertSpaceBeforeAndAfterBinaryOperators":{"type":"boolean","default":true,"description":"定义二进制运算符后面的空格处理","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.insertSpaceBeforeAndAfterBinaryOperators#`。","scope":"resource"},"typescript.format.insertSpaceBeforeAndAfterBinaryOperators":{"type":"boolean","default":true,"description":"定义二进制运算符后面的空格处理","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.insertSpaceBeforeAndAfterBinaryOperators#`。","scope":"resource"},"js/ts.format.insertSpaceAfterKeywordsInControlFlowStatements":{"type":"boolean","default":true,"description":"定义控制流语句中关键字后面的空格处理。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.format.insertSpaceAfterKeywordsInControlFlowStatements":{"type":"boolean","default":true,"description":"定义控制流语句中关键字后面的空格处理。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.insertSpaceAfterKeywordsInControlFlowStatements#`。","scope":"resource"},"typescript.format.insertSpaceAfterKeywordsInControlFlowStatements":{"type":"boolean","default":true,"description":"定义控制流语句中关键字后面的空格处理。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.insertSpaceAfterKeywordsInControlFlowStatements#`。","scope":"resource"},"js/ts.format.insertSpaceAfterFunctionKeywordForAnonymousFunctions":{"type":"boolean","default":true,"description":"定义匿名函数的函数关键字后面的空格处理。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.format.insertSpaceAfterFunctionKeywordForAnonymousFunctions":{"type":"boolean","default":true,"description":"定义匿名函数的函数关键字后面的空格处理。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.insertSpaceAfterFunctionKeywordForAnonymousFunctions#`。","scope":"resource"},"typescript.format.insertSpaceAfterFunctionKeywordForAnonymousFunctions":{"type":"boolean","default":true,"description":"定义匿名函数的函数关键字后面的空格处理。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.insertSpaceAfterFunctionKeywordForAnonymousFunctions#`。","scope":"resource"},"js/ts.format.insertSpaceBeforeFunctionParenthesis":{"type":"boolean","default":false,"description":"定义函数参数括号前的空格处理方式。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.format.insertSpaceBeforeFunctionParenthesis":{"type":"boolean","default":false,"description":"定义函数参数括号前的空格处理方式。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.insertSpaceBeforeFunctionParenthesis#`。","scope":"resource"},"typescript.format.insertSpaceBeforeFunctionParenthesis":{"type":"boolean","default":false,"description":"定义函数参数括号前的空格处理方式。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.insertSpaceBeforeFunctionParenthesis#`。","scope":"resource"},"js/ts.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis":{"type":"boolean","default":false,"description":"定义非空小括号的左括号后和右括号前的空格处理方式。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis":{"type":"boolean","default":false,"description":"定义非空小括号的左括号后和右括号前的空格处理方式。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis#`。","scope":"resource"},"typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis":{"type":"boolean","default":false,"description":"定义非空小括号的左括号后和右括号前的空格处理方式。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis#`。","scope":"resource"},"js/ts.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets":{"type":"boolean","default":false,"description":"定义非空中括号的左括号后和右括号前的空格处理方式。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets":{"type":"boolean","default":false,"description":"定义非空中括号的左括号后和右括号前的空格处理方式。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets#`。","scope":"resource"},"typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets":{"type":"boolean","default":false,"description":"定义非空中括号的左括号后和右括号前的空格处理方式。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets#`。","scope":"resource"},"js/ts.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces":{"type":"boolean","default":true,"description":"定义非空大括号中左括号后和右括号前的空格处理方式。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces":{"type":"boolean","default":true,"description":"定义非空大括号中左括号后和右括号前的空格处理方式。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces#`。","scope":"resource"},"typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces":{"type":"boolean","default":true,"description":"定义非空大括号中左括号后和右括号前的空格处理方式。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces#`。","scope":"resource"},"js/ts.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces":{"type":"boolean","default":true,"description":"定义空大括号中左括号后和右括号前的空格处理方式。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces":{"type":"boolean","default":true,"description":"定义空大括号中左括号后和右括号前的空格处理方式。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces#`。","scope":"resource"},"typescript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces":{"type":"boolean","default":true,"description":"定义空大括号中左括号后和右括号前的空格处理方式。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces#`。","scope":"resource"},"js/ts.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces":{"type":"boolean","default":false,"description":"定义模板字符串括号中左括号后和右括号前的空格处理方式。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces":{"type":"boolean","default":false,"description":"定义模板字符串括号中左括号后和右括号前的空格处理方式。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces#`。","scope":"resource"},"typescript.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces":{"type":"boolean","default":false,"description":"定义模板字符串括号中左括号后和右括号前的空格处理方式。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces#`。","scope":"resource"},"js/ts.format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces":{"type":"boolean","default":false,"description":"定义 JSX 表达式括号中左括号后和右括号前的空格处理方式。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces":{"type":"boolean","default":false,"description":"定义 JSX 表达式括号中左括号后和右括号前的空格处理方式。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces#`。","scope":"resource"},"typescript.format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces":{"type":"boolean","default":false,"description":"定义 JSX 表达式括号中左括号后和右括号前的空格处理方式。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces#`。","scope":"resource"},"js/ts.format.insertSpaceAfterTypeAssertion":{"type":"boolean","default":false,"description":"定义 TypeScript 中类型断言后的空格处理方式。","scope":"language-overridable","keywords":["TypeScript"]},"typescript.format.insertSpaceAfterTypeAssertion":{"type":"boolean","default":false,"description":"定义 TypeScript 中类型断言后的空格处理方式。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.insertSpaceAfterTypeAssertion#`。","scope":"resource"},"js/ts.format.placeOpenBraceOnNewLineForFunctions":{"type":"boolean","default":false,"description":"定义函数的左大括号是否放置在新的一行。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.format.placeOpenBraceOnNewLineForFunctions":{"type":"boolean","default":false,"description":"定义函数的左大括号是否放置在新的一行。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.placeOpenBraceOnNewLineForFunctions#`。","scope":"resource"},"typescript.format.placeOpenBraceOnNewLineForFunctions":{"type":"boolean","default":false,"description":"定义函数的左大括号是否放置在新的一行。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.placeOpenBraceOnNewLineForFunctions#`。","scope":"resource"},"js/ts.format.placeOpenBraceOnNewLineForControlBlocks":{"type":"boolean","default":false,"description":"定义控制块的左括号是否放置在新的一行。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.format.placeOpenBraceOnNewLineForControlBlocks":{"type":"boolean","default":false,"description":"定义控制块的左括号是否放置在新的一行。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.placeOpenBraceOnNewLineForControlBlocks#`。","scope":"resource"},"typescript.format.placeOpenBraceOnNewLineForControlBlocks":{"type":"boolean","default":false,"description":"定义控制块的左括号是否放置在新的一行。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.placeOpenBraceOnNewLineForControlBlocks#`。","scope":"resource"},"js/ts.format.semicolons":{"type":"string","default":"ignore","description":"定义如何处理可选分号。","scope":"language-overridable","enum":["ignore","insert","remove"],"enumDescriptions":["不要插入或删除任何分号。","在语句末尾插入分号。","删除不必要的分号。"],"keywords":["JavaScript","TypeScript"]},"javascript.format.semicolons":{"type":"string","default":"ignore","description":"定义如何处理可选分号。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.semicolons#`。","scope":"resource","enum":["ignore","insert","remove"],"enumDescriptions":["不要插入或删除任何分号。","在语句末尾插入分号。","删除不必要的分号。"]},"typescript.format.semicolons":{"type":"string","default":"ignore","description":"定义如何处理可选分号。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.semicolons#`。","scope":"resource","enum":["ignore","insert","remove"],"enumDescriptions":["不要插入或删除任何分号。","在语句末尾插入分号。","删除不必要的分号。"]},"js/ts.format.indentSwitchCase":{"type":"boolean","default":true,"description":"switch 语句中的缩进 case 子句。需要在工作区中使用 TypeScript 5.1+。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.format.indentSwitchCase":{"type":"boolean","default":true,"description":"switch 语句中的缩进 case 子句。需要在工作区中使用 TypeScript 5.1+。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.indentSwitchCase#`。","scope":"resource"},"typescript.format.indentSwitchCase":{"type":"boolean","default":true,"description":"switch 语句中的缩进 case 子句。需要在工作区中使用 TypeScript 5.1+。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.format.indentSwitchCase#`。","scope":"resource"}}},{"type":"object","title":"验证","properties":{"js/ts.validate.enabled":{"type":"boolean","default":true,"description":"启用/禁用 JavaScript 和 TypeScript 验证。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"typescript.validate.enable":{"type":"boolean","default":true,"description":"启用/禁用 TypeScript 验证。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.validate.enabled#`。","scope":"window"},"javascript.validate.enable":{"type":"boolean","default":true,"description":"启用/禁用 JavaScript 验证。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.validate.enabled#`。","scope":"window"},"js/ts.reportStyleChecksAsWarnings":{"type":"boolean","default":true,"description":"将风格检查的问题报告为警告。","scope":"window","keywords":["TypeScript"]},"typescript.reportStyleChecksAsWarnings":{"type":"boolean","default":true,"description":"将风格检查的问题报告为警告。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.reportStyleChecksAsWarnings#`。","scope":"window"},"js/ts.suggestionActions.enabled":{"type":"boolean","default":true,"description":"启用或禁用编辑器中 JavaScript 和 TypeScript 文件的建议诊断。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.suggestionActions.enabled":{"type":"boolean","default":true,"description":"启用或禁用编辑器中 JavaScript 文件的建议诊断。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.suggestionActions.enabled#`。","scope":"resource"},"typescript.suggestionActions.enabled":{"type":"boolean","default":true,"description":"启用或禁用编辑器中 TypeScript 文件的建议诊断。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.suggestionActions.enabled#`。","scope":"resource"},"js/ts.tsserver.experimental.enableProjectDiagnostics":{"type":"boolean","default":false,"description":"启用项目范围的错误报告。","scope":"window","keywords":["JavaScript","TypeScript","experimental"]},"typescript.tsserver.experimental.enableProjectDiagnostics":{"type":"boolean","default":false,"description":"启用项目范围的错误报告。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.tsserver.experimental.enableProjectDiagnostics#`。","scope":"window","keywords":["experimental"]}}},{"type":"object","title":"隐式项目配置","properties":{"js/ts.implicitProjectConfig.module":{"type":"string","markdownDescription":"设置程序的模块系统。查看详细信息: https://www.typescriptlang.org/tsconfig#module。","default":"ESNext","enum":["CommonJS","AMD","System","UMD","ES6","ES2015","ES2020","ESNext","None","ES2022","Node12","NodeNext"],"scope":"window"},"js/ts.implicitProjectConfig.target":{"type":"string","default":"ES2024","markdownDescription":"为发出的 JavaScript 设置目标 JavaScript 语言版本并包含库声明。查看详细信息: https://www.typescriptlang.org/tsconfig#target。","enum":["ES3","ES5","ES6","ES2015","ES2016","ES2017","ES2018","ES2019","ES2020","ES2021","ES2022","ES2023","ES2024","ESNext"],"scope":"window"},"js/ts.implicitProjectConfig.checkJs":{"type":"boolean","default":false,"markdownDescription":"启用或禁用 JavaScript 文件的语义检查。现有 `jsconfig.json` 或 `tsconfig.json` 文件将覆盖此设置。","scope":"window"},"js/ts.implicitProjectConfig.experimentalDecorators":{"type":"boolean","default":false,"markdownDescription":"在不属于任何工程的 JavaScript 文件中启用或禁用 `experimentalDecorators`。现有 `jsconfig.json` 或 `tsconfig.json` 文件将覆盖此设置。","scope":"window"},"js/ts.implicitProjectConfig.strictNullChecks":{"type":"boolean","default":true,"markdownDescription":"在不属于项目的 JavaScript 和 TypeScript 文件中启用/禁用[严格 null 检查](https://www.typescriptlang.org/tsconfig#strictNullChecks)。现有 `jsconfig.json` 或 `tsconfig.json` 文件将替代此设置。","scope":"window"},"js/ts.implicitProjectConfig.strictFunctionTypes":{"type":"boolean","default":true,"markdownDescription":"在不属于项目的 JavaScript 和 TypeScript 文件中启用/禁用[严格函数类型](https://www.typescriptlang.org/tsconfig#strictFunctionTypes)。现有 `jsconfig.json` 或 `tsconfig.json` 文件将替代此设置。","scope":"window"},"js/ts.implicitProjectConfig.strict":{"type":"boolean","default":true,"markdownDescription":"在不属于项目的 JavaScript 和 TypeScript 文件中启用/禁用[严格模式](https://www.typescriptlang.org/tsconfig#strict)。现有 `jsconfig.json` 或 `tsconfig.json` 文件将替代此设置。","scope":"window"}}},{"type":"object","title":"语言功能","properties":{"js/ts.updateImportsOnFileMove.enabled":{"type":"string","enum":["prompt","always","never"],"markdownEnumDescriptions":["在每次重命名时进行提示。","始终自动更新路径。","一律不要重命名路径，也不要提示。"],"default":"prompt","description":"启用或禁用在 VS Code 中重命名或移动文件时自动更新导入路径的功能。","scope":"resource","keywords":["JavaScript","TypeScript"]},"typescript.updateImportsOnFileMove.enabled":{"type":"string","enum":["prompt","always","never"],"markdownEnumDescriptions":["在每次重命名时进行提示。","始终自动更新路径。","一律不要重命名路径，也不要提示。"],"default":"prompt","description":"启用或禁用在 VS Code 中重命名或移动文件时自动更新导入路径的功能。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.updateImportsOnFileMove.enabled#`。","scope":"resource"},"javascript.updateImportsOnFileMove.enabled":{"type":"string","enum":["prompt","always","never"],"markdownEnumDescriptions":["在每次重命名时进行提示。","始终自动更新路径。","一律不要重命名路径，也不要提示。"],"default":"prompt","description":"启用或禁用在 VS Code 中重命名或移动文件时自动更新导入路径的功能。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.updateImportsOnFileMove.enabled#`。","scope":"resource"},"js/ts.autoClosingTags.enabled":{"type":"boolean","default":true,"description":"启用/禁用 JSX 标记的自动关闭。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"typescript.autoClosingTags":{"type":"boolean","default":true,"description":"启用/禁用 JSX 标记的自动关闭。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.autoClosingTags.enabled#`。","scope":"language-overridable"},"javascript.autoClosingTags":{"type":"boolean","default":true,"description":"启用/禁用 JSX 标记的自动关闭。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.autoClosingTags.enabled#`。","scope":"language-overridable"},"js/ts.workspaceSymbols.scope":{"type":"string","enum":["allOpenProjects","currentProject"],"enumDescriptions":["在所有打开的 JavaScript 或 TypeScript 项目中搜索符号。","仅在当前 JavaScript 或 TypeScript 项目中搜索符号。"],"default":"allOpenProjects","markdownDescription":"通过[转到工作区中的符号](https://code.visualstudio.com/docs/editor/editingevolved#_open-symbol-by-name)来控制搜索的具体文件。","scope":"window","keywords":["TypeScript"]},"typescript.workspaceSymbols.scope":{"type":"string","enum":["allOpenProjects","currentProject"],"enumDescriptions":["在所有打开的 JavaScript 或 TypeScript 项目中搜索符号。","仅在当前 JavaScript 或 TypeScript 项目中搜索符号。"],"default":"allOpenProjects","markdownDescription":"通过[转到工作区中的符号](https://code.visualstudio.com/docs/editor/editingevolved#_open-symbol-by-name)来控制搜索的具体文件。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.workspaceSymbols.scope#`。","scope":"window"},"js/ts.preferGoToSourceDefinition":{"type":"boolean","default":false,"description":"通过改为触发“转到源定义”，使“转到定义”尽可能避免类型声明文件。这样就可使用鼠标手势触发“转到源定义”。","scope":"window","keywords":["JavaScript","TypeScript"]},"typescript.preferGoToSourceDefinition":{"type":"boolean","default":false,"description":"通过改为触发“转到源定义”，使“转到定义”尽可能避免类型声明文件。这样就可使用鼠标手势触发“转到源定义”。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.preferGoToSourceDefinition#`。","scope":"window"},"javascript.preferGoToSourceDefinition":{"type":"boolean","default":false,"description":"通过改为触发“转到源定义”，使“转到定义”尽可能避免类型声明文件。这样就可使用鼠标手势触发“转到源定义”。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.preferGoToSourceDefinition#`。","scope":"window"},"js/ts.workspaceSymbols.excludeLibrarySymbols":{"type":"boolean","default":true,"markdownDescription":"排除“转到工作区中的符号”结果中库文件中的符号。要求在工作区中使用 TypeScript 5.3+。","scope":"window","keywords":["TypeScript"]},"typescript.workspaceSymbols.excludeLibrarySymbols":{"type":"boolean","default":true,"markdownDescription":"排除“转到工作区中的符号”结果中库文件中的符号。要求在工作区中使用 TypeScript 5.3+。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.workspaceSymbols.excludeLibrarySymbols#`。","scope":"window"},"js/ts.updateImportsOnPaste.enabled":{"scope":"window","type":"boolean","default":true,"markdownDescription":"粘贴代码时自动更新导入项。需要 TypeScript 5.6+。","keywords":["JavaScript","TypeScript"]},"javascript.updateImportsOnPaste.enabled":{"scope":"window","type":"boolean","default":true,"markdownDescription":"粘贴代码时自动更新导入项。需要 TypeScript 5.6+。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.updateImportsOnPaste.enabled#`。"},"typescript.updateImportsOnPaste.enabled":{"scope":"window","type":"boolean","default":true,"markdownDescription":"粘贴代码时自动更新导入项。需要 TypeScript 5.6+。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.updateImportsOnPaste.enabled#`。"},"js/ts.hover.maximumLength":{"type":"number","default":500,"description":"悬停内容的最大字符数。如果悬停内容超过此限制，将会被截断。需要 TypeScript 5.9+。","scope":"resource"}}},{"type":"object","title":"建议","properties":{"js/ts.suggest.enabled":{"type":"boolean","default":true,"description":"启用/禁用自动完成建议。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.suggest.enabled":{"type":"boolean","default":true,"description":"启用/禁用自动完成建议。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.suggest.enabled#`。","scope":"language-overridable"},"typescript.suggest.enabled":{"type":"boolean","default":true,"description":"启用/禁用自动完成建议。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.suggest.enabled#`。","scope":"language-overridable"},"js/ts.suggest.autoImports":{"type":"boolean","default":true,"description":"启用/禁用自动导入建议。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.suggest.autoImports":{"type":"boolean","default":true,"description":"启用/禁用自动导入建议。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.suggest.autoImports#`。","scope":"resource"},"typescript.suggest.autoImports":{"type":"boolean","default":true,"description":"启用/禁用自动导入建议。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.suggest.autoImports#`。","scope":"resource"},"js/ts.suggest.names":{"type":"boolean","default":true,"markdownDescription":"启用/禁用在 JavaScript 建议中包含文件中的唯一名称。请注意，在使用`@ts-check`或`checkJs`进行语义检查的 JavaScript 代码中，名称建议始终处于禁用状态。","scope":"language-overridable","keywords":["JavaScript"]},"javascript.suggest.names":{"type":"boolean","default":true,"markdownDescription":"启用/禁用在 JavaScript 建议中包含文件中的唯一名称。请注意，在使用`@ts-check`或`checkJs`进行语义检查的 JavaScript 代码中，名称建议始终处于禁用状态。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.suggest.names#`。","scope":"resource"},"js/ts.suggest.completeFunctionCalls":{"type":"boolean","default":false,"description":"完成函数的参数签名。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.suggest.completeFunctionCalls":{"type":"boolean","default":false,"description":"完成函数的参数签名。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.suggest.completeFunctionCalls#`。","scope":"resource"},"typescript.suggest.completeFunctionCalls":{"type":"boolean","default":false,"description":"完成函数的参数签名。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.suggest.completeFunctionCalls#`。","scope":"resource"},"js/ts.suggest.paths":{"type":"boolean","default":true,"description":"在 import 语句和 require 调用中，启用或禁用路径建议。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.suggest.paths":{"type":"boolean","default":true,"description":"在 import 语句和 require 调用中，启用或禁用路径建议。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.suggest.paths#`。","scope":"resource"},"typescript.suggest.paths":{"type":"boolean","default":true,"description":"在 import 语句和 require 调用中，启用或禁用路径建议。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.suggest.paths#`。","scope":"resource"},"js/ts.suggest.jsdoc.enabled":{"type":"boolean","default":true,"description":"启用/禁用对完成 JSDoc 注释的建议。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.suggest.completeJSDocs":{"type":"boolean","default":true,"description":"启用/禁用对完成 JSDoc 注释的建议。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.suggest.jsdoc.enabled#`。","scope":"language-overridable"},"typescript.suggest.completeJSDocs":{"type":"boolean","default":true,"description":"启用/禁用对完成 JSDoc 注释的建议。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.suggest.jsdoc.enabled#`。","scope":"language-overridable"},"js/ts.suggest.jsdoc.generateReturns":{"type":"boolean","default":true,"markdownDescription":"启用/禁用为 JSDoc 模板生成 `@returns` 批注。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.suggest.jsdoc.generateReturns":{"type":"boolean","default":true,"markdownDescription":"启用/禁用为 JSDoc 模板生成 `@returns` 批注。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.suggest.jsdoc.generateReturns#`。","scope":"language-overridable"},"typescript.suggest.jsdoc.generateReturns":{"type":"boolean","default":true,"markdownDescription":"启用/禁用为 JSDoc 模板生成 `@returns` 批注。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.suggest.jsdoc.generateReturns#`。","scope":"language-overridable"},"js/ts.suggest.includeAutomaticOptionalChainCompletions":{"type":"boolean","default":true,"description":"启用/禁用显示可能未定义的值的完成情况，这些值会插入可选的链式调用。需要启用严格的 Null 检查。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.suggest.includeAutomaticOptionalChainCompletions":{"type":"boolean","default":true,"description":"启用/禁用显示可能未定义的值的完成情况，这些值会插入可选的链式调用。需要启用严格的 Null 检查。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.suggest.includeAutomaticOptionalChainCompletions#`。","scope":"resource"},"typescript.suggest.includeAutomaticOptionalChainCompletions":{"type":"boolean","default":true,"description":"启用/禁用显示可能未定义的值的完成情况，这些值会插入可选的链式调用。需要启用严格的 Null 检查。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.suggest.includeAutomaticOptionalChainCompletions#`。","scope":"resource"},"js/ts.suggest.includeCompletionsForImportStatements":{"type":"boolean","default":true,"description":"对部分键入的导入语句启用/禁用自动导入样式完成。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.suggest.includeCompletionsForImportStatements":{"type":"boolean","default":true,"description":"对部分键入的导入语句启用/禁用自动导入样式完成。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.suggest.includeCompletionsForImportStatements#`。","scope":"resource"},"typescript.suggest.includeCompletionsForImportStatements":{"type":"boolean","default":true,"description":"对部分键入的导入语句启用/禁用自动导入样式完成。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.suggest.includeCompletionsForImportStatements#`。","scope":"resource"},"js/ts.suggest.classMemberSnippets.enabled":{"type":"boolean","default":true,"description":"启用/禁用类成员的代码段完成。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.suggest.classMemberSnippets.enabled":{"type":"boolean","default":true,"description":"启用/禁用类成员的代码段完成。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.suggest.classMemberSnippets.enabled#`。","scope":"resource"},"typescript.suggest.classMemberSnippets.enabled":{"type":"boolean","default":true,"description":"启用/禁用类成员的代码段完成。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.suggest.classMemberSnippets.enabled#`。","scope":"resource"},"js/ts.suggest.objectLiteralMethodSnippets.enabled":{"type":"boolean","default":true,"description":"启用/禁用对象文本中的方法的代码片段补全。","scope":"language-overridable","keywords":["TypeScript"]},"typescript.suggest.objectLiteralMethodSnippets.enabled":{"type":"boolean","default":true,"description":"启用/禁用对象文本中的方法的代码片段补全。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.suggest.objectLiteralMethodSnippets.enabled#`。","scope":"resource"}}},{"type":"object","title":"CodeLens","properties":{"js/ts.referencesCodeLens.enabled":{"type":"boolean","default":false,"description":"启用/禁用在 JavaScript 和 TypeScript 文件中引用 CodeLens。此 CodeLens 显示类和导出函数的引用数，并允许你查看或导航到它们。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.referencesCodeLens.enabled":{"type":"boolean","default":false,"description":"启用/禁用在 JavaScript 和 TypeScript 文件中引用 CodeLens。此 CodeLens 显示类和导出函数的引用数，并允许你查看或导航到它们。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.referencesCodeLens.enabled#`。","scope":"window"},"typescript.referencesCodeLens.enabled":{"type":"boolean","default":false,"description":"启用/禁用在 JavaScript 和 TypeScript 文件中引用 CodeLens。此 CodeLens 显示类和导出函数的引用数，并允许你查看或导航到它们。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.referencesCodeLens.enabled#`。","scope":"window"},"js/ts.referencesCodeLens.showOnAllFunctions":{"type":"boolean","default":false,"markdownDescription":"在 JavaScript 和 TypeScript 文件中的所有函数上启用/禁用 [饮用 CodeLens](#js/ts.referencesCodeLens.enabled)。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.referencesCodeLens.showOnAllFunctions":{"type":"boolean","default":false,"markdownDescription":"在 JavaScript 和 TypeScript 文件中的所有函数上启用/禁用 [饮用 CodeLens](#js/ts.referencesCodeLens.enabled)。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.referencesCodeLens.showOnAllFunctions#`。","scope":"window"},"typescript.referencesCodeLens.showOnAllFunctions":{"type":"boolean","default":false,"markdownDescription":"在 JavaScript 和 TypeScript 文件中的所有函数上启用/禁用 [饮用 CodeLens](#js/ts.referencesCodeLens.enabled)。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.referencesCodeLens.showOnAllFunctions#`。","scope":"window"},"js/ts.implementationsCodeLens.enabled":{"type":"boolean","default":false,"description":"在 TypeScript 文件中启用/禁用实现 CodeLens。此 CodeLens 显示 TypeScript 接口的实现者。","scope":"language-overridable","keywords":["TypeScript"]},"typescript.implementationsCodeLens.enabled":{"type":"boolean","default":false,"description":"在 TypeScript 文件中启用/禁用实现 CodeLens。此 CodeLens 显示 TypeScript 接口的实现者。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.implementationsCodeLens.enabled#`。","scope":"window"},"js/ts.implementationsCodeLens.showOnInterfaceMethods":{"type":"boolean","default":false,"markdownDescription":"在 TypeScript 接口方法上启用/禁用 [实现 CodeLens](#js/ts.implementationsCodeLens.enabled)。","scope":"language-overridable","keywords":["TypeScript"]},"typescript.implementationsCodeLens.showOnInterfaceMethods":{"type":"boolean","default":false,"markdownDescription":"在 TypeScript 接口方法上启用/禁用 [实现 CodeLens](#js/ts.implementationsCodeLens.enabled)。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.implementationsCodeLens.showOnInterfaceMethods#`。","scope":"window"},"js/ts.implementationsCodeLens.showOnAllClassMethods":{"type":"boolean","default":false,"markdownDescription":"启用/禁用在所有 TypeScript 类方法之上，而不是仅在抽象方法上显示 [实现 CodeLens](#js/ts.implementationsCodeLens.enabled)。","scope":"language-overridable","keywords":["TypeScript"]},"typescript.implementationsCodeLens.showOnAllClassMethods":{"type":"boolean","default":false,"markdownDescription":"启用/禁用在所有 TypeScript 类方法之上，而不是仅在抽象方法上显示 [实现 CodeLens](#js/ts.implementationsCodeLens.enabled)。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.implementationsCodeLens.showOnAllClassMethods#`。","scope":"window"}}},{"type":"object","title":"内嵌提示","properties":{"js/ts.inlayHints.parameterNames.enabled":{"type":"string","enum":["none","literals","all"],"enumDescriptions":["禁用参数名称提示。","仅启用文本参数的参数名称提示。","启用文本和非文本参数的参数名称提示。"],"default":"none","markdownDescription":"启用/禁用参数名称的内嵌提示:\r\n```typescript\r\n\r\nparseInt(/* str: */ '123', /* radix: */ 8)\r\n \r\n```","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.inlayHints.parameterNames.enabled":{"type":"string","enum":["none","literals","all"],"enumDescriptions":["禁用参数名称提示。","仅启用文本参数的参数名称提示。","启用文本和非文本参数的参数名称提示。"],"default":"none","markdownDescription":"启用/禁用参数名称的内嵌提示:\r\n```typescript\r\n\r\nparseInt(/* str: */ '123', /* radix: */ 8)\r\n \r\n```","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.inlayHints.parameterNames.enabled#`。","scope":"resource"},"typescript.inlayHints.parameterNames.enabled":{"type":"string","enum":["none","literals","all"],"enumDescriptions":["禁用参数名称提示。","仅启用文本参数的参数名称提示。","启用文本和非文本参数的参数名称提示。"],"default":"none","markdownDescription":"启用/禁用参数名称的内嵌提示:\r\n```typescript\r\n\r\nparseInt(/* str: */ '123', /* radix: */ 8)\r\n \r\n```","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.inlayHints.parameterNames.enabled#`。","scope":"resource"},"js/ts.inlayHints.parameterNames.suppressWhenArgumentMatchesName":{"type":"boolean","default":true,"markdownDescription":"对于文本与参数名称完全相同的参数，抑制其参数名称提示。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.inlayHints.parameterNames.suppressWhenArgumentMatchesName":{"type":"boolean","default":true,"markdownDescription":"对于文本与参数名称完全相同的参数，抑制其参数名称提示。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.inlayHints.parameterNames.suppressWhenArgumentMatchesName#`。","scope":"resource"},"typescript.inlayHints.parameterNames.suppressWhenArgumentMatchesName":{"type":"boolean","default":true,"markdownDescription":"对于文本与参数名称完全相同的参数，抑制其参数名称提示。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.inlayHints.parameterNames.suppressWhenArgumentMatchesName#`。","scope":"resource"},"js/ts.inlayHints.parameterTypes.enabled":{"type":"boolean","default":false,"markdownDescription":"启用/禁用隐式参数类型的内嵌提示:\r\n```typescript\r\n\r\nel.addEventListener('click', e /* :MouseEvent */ => ...)\r\n \r\n```","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.inlayHints.parameterTypes.enabled":{"type":"boolean","default":false,"markdownDescription":"启用/禁用隐式参数类型的内嵌提示:\r\n```typescript\r\n\r\nel.addEventListener('click', e /* :MouseEvent */ => ...)\r\n \r\n```","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.inlayHints.parameterTypes.enabled#`。","scope":"resource"},"typescript.inlayHints.parameterTypes.enabled":{"type":"boolean","default":false,"markdownDescription":"启用/禁用隐式参数类型的内嵌提示:\r\n```typescript\r\n\r\nel.addEventListener('click', e /* :MouseEvent */ => ...)\r\n \r\n```","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.inlayHints.parameterTypes.enabled#`。","scope":"resource"},"js/ts.inlayHints.variableTypes.enabled":{"type":"boolean","default":false,"markdownDescription":"启用/禁用隐式变量类型的内嵌提示:\r\n```typescript\r\n\r\nconst foo /* :number */ = Date.now();\r\n \r\n```","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.inlayHints.variableTypes.enabled":{"type":"boolean","default":false,"markdownDescription":"启用/禁用隐式变量类型的内嵌提示:\r\n```typescript\r\n\r\nconst foo /* :number */ = Date.now();\r\n \r\n```","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.inlayHints.variableTypes.enabled#`。","scope":"resource"},"typescript.inlayHints.variableTypes.enabled":{"type":"boolean","default":false,"markdownDescription":"启用/禁用隐式变量类型的内嵌提示:\r\n```typescript\r\n\r\nconst foo /* :number */ = Date.now();\r\n \r\n```","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.inlayHints.variableTypes.enabled#`。","scope":"resource"},"js/ts.inlayHints.variableTypes.suppressWhenTypeMatchesName":{"type":"boolean","default":true,"markdownDescription":"抑制关于名称与类型名称相同的变量的类型提示。","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.inlayHints.variableTypes.suppressWhenTypeMatchesName":{"type":"boolean","default":true,"markdownDescription":"抑制关于名称与类型名称相同的变量的类型提示。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.inlayHints.variableTypes.suppressWhenTypeMatchesName#`。","scope":"resource"},"typescript.inlayHints.variableTypes.suppressWhenTypeMatchesName":{"type":"boolean","default":true,"markdownDescription":"抑制关于名称与类型名称相同的变量的类型提示。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.inlayHints.variableTypes.suppressWhenTypeMatchesName#`。","scope":"resource"},"js/ts.inlayHints.propertyDeclarationTypes.enabled":{"type":"boolean","default":false,"markdownDescription":"启用/禁用属性声明中隐式类型的内嵌提示:\r\n```typescript\r\n\r\nclass Foo {\r\n\tprop /* :number */ = Date.now();\r\n}\r\n \r\n```","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.inlayHints.propertyDeclarationTypes.enabled":{"type":"boolean","default":false,"markdownDescription":"启用/禁用属性声明中隐式类型的内嵌提示:\r\n```typescript\r\n\r\nclass Foo {\r\n\tprop /* :number */ = Date.now();\r\n}\r\n \r\n```","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.inlayHints.propertyDeclarationTypes.enabled#`。","scope":"resource"},"typescript.inlayHints.propertyDeclarationTypes.enabled":{"type":"boolean","default":false,"markdownDescription":"启用/禁用属性声明中隐式类型的内嵌提示:\r\n```typescript\r\n\r\nclass Foo {\r\n\tprop /* :number */ = Date.now();\r\n}\r\n \r\n```","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.inlayHints.propertyDeclarationTypes.enabled#`。","scope":"resource"},"js/ts.inlayHints.functionLikeReturnTypes.enabled":{"type":"boolean","default":false,"markdownDescription":"启用/禁用函数签名上隐式返回类型的内嵌提示:\r\n```typescript\r\n\r\nfunction foo() /* :number */ {\r\n\treturn Date.now();\r\n} \r\n \r\n```","scope":"language-overridable","keywords":["JavaScript","TypeScript"]},"javascript.inlayHints.functionLikeReturnTypes.enabled":{"type":"boolean","default":false,"markdownDescription":"启用/禁用函数签名上隐式返回类型的内嵌提示:\r\n```typescript\r\n\r\nfunction foo() /* :number */ {\r\n\treturn Date.now();\r\n} \r\n \r\n```","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.inlayHints.functionLikeReturnTypes.enabled#`。","scope":"resource"},"typescript.inlayHints.functionLikeReturnTypes.enabled":{"type":"boolean","default":false,"markdownDescription":"启用/禁用函数签名上隐式返回类型的内嵌提示:\r\n```typescript\r\n\r\nfunction foo() /* :number */ {\r\n\treturn Date.now();\r\n} \r\n \r\n```","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.inlayHints.functionLikeReturnTypes.enabled#`。","scope":"resource"},"js/ts.inlayHints.enumMemberValues.enabled":{"type":"boolean","default":false,"markdownDescription":"启用/禁用枚举声明中成员值的内嵌提示:\r\n```typescript\r\n\r\nenum MyValue {\r\n\tA /* = 0 */;\r\n\tB /* = 1 */;\r\n}\r\n \r\n```","scope":"language-overridable","keywords":["TypeScript"]},"typescript.inlayHints.enumMemberValues.enabled":{"type":"boolean","default":false,"markdownDescription":"启用/禁用枚举声明中成员值的内嵌提示:\r\n```typescript\r\n\r\nenum MyValue {\r\n\tA /* = 0 */;\r\n\tB /* = 1 */;\r\n}\r\n \r\n```","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.inlayHints.enumMemberValues.enabled#`。","scope":"resource"}}},{"type":"object","title":"TS 服务器高级设置","properties":{"js/ts.tsdk.promptToUseWorkspaceVersion":{"type":"boolean","default":false,"description":"允许提示用户对 Intellisense 使用在工作区中配置的 TypeScript 版本。","scope":"window","keywords":["TypeScript"]},"typescript.enablePromptUseWorkspaceTsdk":{"type":"boolean","default":false,"description":"允许提示用户对 Intellisense 使用在工作区中配置的 TypeScript 版本。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.tsdk.promptToUseWorkspaceVersion#`。","scope":"window"},"js/ts.tsserver.automaticTypeAcquisition.enabled":{"type":"boolean","default":true,"markdownDescription":"启用[自动类型获取](https://code.visualstudio.com/docs/nodejs/working-with-javascript#_typings-and-automatic-type-acquisition)。自动类型获取可以从 npm 提取 `@types` 包来改进外部库的 IntelliSense。","scope":"window","keywords":["TypeScript","usesOnlineServices"]},"typescript.disableAutomaticTypeAcquisition":{"type":"boolean","default":false,"markdownDescription":"禁用 [自动类型获取](https://code.visualstudio.com/docs/nodejs/working-with-javascript#_typings-and-automatic-type-acquisition) 。自动类型获取可以从 npm 提取 `@types` 包来改进外部库的 IntelliSense。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.tsserver.automaticTypeAcquisition.enabled#`。","scope":"window","keywords":["usesOnlineServices"]},"js/ts.tsserver.node.path":{"type":"string","markdownDescription":"在自定义节点安装上运行 TS 服务器。如果希望 VS Code 检测节点安装，则可以是节点可执行文件的路径，也可以是 `node`。","scope":"window","keywords":["TypeScript"]},"typescript.tsserver.nodePath":{"type":"string","markdownDescription":"在自定义节点安装上运行 TS 服务器。如果希望 VS Code 检测节点安装，则可以是节点可执行文件的路径，也可以是 `node`。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.tsserver.node.path#`。","scope":"window"},"js/ts.tsserver.npm.path":{"type":"string","markdownDescription":"指定为 [自动类型获取](https://code.visualstudio.com/docs/nodejs/working-with-javascript#_typings-and-automatic-type-acquisition) 使用的 npm 可执行文件的路径。","scope":"machine","keywords":["TypeScript"]},"typescript.npm":{"type":"string","markdownDescription":"指定为 [自动类型获取](https://code.visualstudio.com/docs/nodejs/working-with-javascript#_typings-and-automatic-type-acquisition) 使用的 npm 可执行文件的路径。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.tsserver.npm.path#`。","scope":"machine"},"js/ts.tsserver.checkNpmIsInstalled":{"type":"boolean","default":true,"markdownDescription":"检查是否为 [自动类型获取](https://code.visualstudio.com/docs/nodejs/working-with-javascript#_typings-and-automatic-type-acquisition) 安装了 npm 。","scope":"window","keywords":["TypeScript"]},"typescript.check.npmIsInstalled":{"type":"boolean","default":true,"markdownDescription":"检查是否为 [自动类型获取](https://code.visualstudio.com/docs/nodejs/working-with-javascript#_typings-and-automatic-type-acquisition) 安装了 npm 。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.tsserver.checkNpmIsInstalled#`。","scope":"window"},"js/ts.tsserver.web.projectWideIntellisense.enabled":{"type":"boolean","default":true,"description":"在 Web 上启用/禁用项目范围内的 IntelliSense。要求 VS Code 在受信任的上下文中运行。","scope":"window","keywords":["TypeScript"]},"typescript.tsserver.web.projectWideIntellisense.enabled":{"type":"boolean","default":true,"description":"在 Web 上启用/禁用项目范围内的 IntelliSense。要求 VS Code 在受信任的上下文中运行。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.tsserver.web.projectWideIntellisense.enabled#`。","scope":"window"},"js/ts.tsserver.web.projectWideIntellisense.suppressSemanticErrors":{"type":"boolean","default":false,"description":"即使启用了项目范围的 IntelliSense，仍会抑制 Web 上出现语义错误。当项目范围的 IntelliSense 未启用或不可用时，此功能将始终可用。请参阅 `#js/ts.tsserver.web.projectWideIntellisense.enabled#`","scope":"window","keywords":["TypeScript"]},"typescript.tsserver.web.projectWideIntellisense.suppressSemanticErrors":{"type":"boolean","default":false,"description":"即使启用了项目范围的 IntelliSense，仍会抑制 Web 上出现语义错误。当项目范围的 IntelliSense 未启用或不可用时，此功能将始终可用。请参阅 `#js/ts.tsserver.web.projectWideIntellisense.enabled#`","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.tsserver.web.projectWideIntellisense.suppressSemanticErrors#`。","scope":"window"},"js/ts.tsserver.web.typeAcquisition.enabled":{"type":"boolean","default":true,"description":"在 Web 上启用/禁用包获取。这会为导入的包启用 IntelliSense。需要 `#js/ts.tsserver.web.projectWideIntellisense.enabled#`。目前不支持 Safari。","scope":"window","keywords":["TypeScript"]},"typescript.tsserver.web.typeAcquisition.enabled":{"type":"boolean","default":true,"description":"在 Web 上启用/禁用包获取。这会为导入的包启用 IntelliSense。需要 `#js/ts.tsserver.web.projectWideIntellisense.enabled#`。目前不支持 Safari。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.tsserver.web.typeAcquisition.enabled#`。","scope":"window"},"js/ts.tsserver.useSyntaxServer":{"type":"string","scope":"window","description":"控制 TypeScript 是否启动专用服务器，以便更快地处理与语法相关的运算，如计算代码折叠。","default":"auto","enum":["always","never","auto"],"enumDescriptions":["使用较轻量级的语法服务器处理所有 IntelliSense 操作。这会禁用全项目范围的功能，包括自动导入、跨文件补全以及跳转到其他文件中的符号定义。仅在性能至关重要的超大型项目中使用此功能。","请不要使用专用的语法服务器。使用单个服务器来处理所有 IntelliSense 运算。","生成一个完整的服务器和一个专用于语法运算的轻量级服务器。语法服务器用于加快语法运算并在加载项目时提供 IntelliSense。"],"keywords":["TypeScript"]},"typescript.tsserver.useSyntaxServer":{"type":"string","scope":"window","description":"控制 TypeScript 是否启动专用服务器，以便更快地处理与语法相关的运算，如计算代码折叠。","default":"auto","enum":["always","never","auto"],"enumDescriptions":["使用较轻量级的语法服务器处理所有 IntelliSense 操作。这会禁用全项目范围的功能，包括自动导入、跨文件补全以及跳转到其他文件中的符号定义。仅在性能至关重要的超大型项目中使用此功能。","请不要使用专用的语法服务器。使用单个服务器来处理所有 IntelliSense 运算。","生成一个完整的服务器和一个专用于语法运算的轻量级服务器。语法服务器用于加快语法运算并在加载项目时提供 IntelliSense。"],"markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.tsserver.useSyntaxServer#`。"},"js/ts.tsserver.maxMemory":{"type":"number","default":3072,"markdownDescription":"要分配给 TypeScript 服务器进程的最大内存量(MB)。如果要使用大于 4 GB 的内存限制，请使用 `#js/ts.tsserver.node.path#` 运行具有自定义节点安装的 TS Server。","scope":"window","keywords":["TypeScript"]},"js/ts.tsserver.diagnosticDir":{"type":"string","markdownDescription":"TypeScript 服务器通过传递 `--diagnostic-dir` 写入 Node 诊断输出的目录。","scope":"machine","keywords":["TypeScript","diagnostic","memory"]},"typescript.tsserver.maxTsServerMemory":{"type":"number","default":3072,"markdownDescription":"要分配给 TypeScript 服务器进程的最大内存量(MB)。如果要使用大于 4 GB 的内存限制，请使用 `#js/ts.tsserver.node.path#` 运行具有自定义节点安装的 TS Server。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.tsserver.maxMemory#`。","scope":"window"},"js/ts.tsserver.heapSnapshot":{"type":"number","default":0,"minimum":0,"markdownDescription":"通过传递 `--heapsnapshot-near-heap-limit` 控制 TypeScript 服务器写入的近堆限制快照数量。设置为 `0` 可禁用。","scope":"window","keywords":["TypeScript","memory","diagnostics"]},"js/ts.tsserver.heapProfile":{"type":"object","default":{"enabled":false},"markdownDescription":"配置 TypeScript 服务器的堆分析。","scope":"machine","properties":{"enabled":{"type":"boolean","default":false,"description":"通过传递 `--heap-prof` 为 TypeScript 服务器启用堆分析。"},"dir":{"type":"string","description":"TypeScript 服务器通过传递 `--heap-prof-dir` 写入堆配置文件的目录。"},"interval":{"type":"number","minimum":1,"description":"通过传递 `--heap-prof-interval` 设置 TypeScript 服务器堆分析的采样间隔(以字节为单位)。"}},"keywords":["TypeScript","memory","heap","profile"]},"js/ts.tsserver.watchOptions":{"description":"配置应使用哪些监视策略来跟踪文件和目录。","scope":"window","default":"vscode","oneOf":[{"type":"string","const":"vscode","description":"使用 VS Code 而不是 TypeScript 的文件观察程序。要求在工作区中使用 TypeScript 5.4+。"},{"type":"object","properties":{"watchFile":{"type":"string","description":"如何监视单个文件的策略。","enum":["fixedChunkSizePolling","fixedPollingInterval","priorityPollingInterval","dynamicPriorityPolling","useFsEvents","useFsEventsOnParentDirectory"],"enumDescriptions":["定期轮询区块中的文件。","以固定间隔每秒多次检查每个文件的更改。","每秒多次检查每个文件的更改，但使用启发方法按不同频率检查不同类型的文件。","使用动态队列，在该队列中，较少检查不经常修改的文件。","尝试使用操作系统/文件系统的本机事件进行文件更改。","尝试使用操作系统/文件系统的本机事件来侦听文件包含目录的更改。此操作可减少使用的文件观察程序数量，但准确度可能较低。"],"default":"useFsEvents"},"watchDirectory":{"type":"string","description":"在缺乏递归文件监视功能的系统中监视整个目录树的策略。","enum":["fixedChunkSizePolling","fixedPollingInterval","dynamicPriorityPolling","useFsEvents"],"enumDescriptions":["定期轮询区块中的目录。","以固定间隔每秒多次检查每个目录的更改。","使用动态队列，其中较少修改的目录将较少检查。","尝试使用操作系统/文件系统的本机事件进行目录更改。"],"default":"useFsEvents"},"fallbackPolling":{"type":"string","description":"使用文件系统事件时，此选项指定当系统用完本机文件观察程序和/或不支持本机文件观察程序时使用的轮询策略。","enum":["fixedPollingInterval","priorityPollingInterval","dynamicPriorityPolling"],"enumDescriptions":["configuration.tsserver.watchOptions.fallbackPolling.fixedPollingInterval","configuration.tsserver.watchOptions.fallbackPolling.priorityPollingInterval","configuration.tsserver.watchOptions.fallbackPolling.dynamicPriorityPolling"]},"synchronousWatchDirectory":{"type":"boolean","description":"禁用目录上的延迟监视。当可能同时发生大量文件更改(例如，运行 npm install 导致的 node_modules 更改)时，延迟监视非常有用，但是对于一些不太常见的设置，可能需要使用此标志将其禁用。"}}}],"keywords":["TypeScript"]},"typescript.tsserver.watchOptions":{"description":"配置应使用哪些监视策略来跟踪文件和目录。","scope":"window","default":"vscode","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.tsserver.watchOptions#`。","oneOf":[{"type":"string","const":"vscode","description":"使用 VS Code 而不是 TypeScript 的文件观察程序。要求在工作区中使用 TypeScript 5.4+。"},{"type":"object","properties":{"watchFile":{"type":"string","description":"如何监视单个文件的策略。","enum":["fixedChunkSizePolling","fixedPollingInterval","priorityPollingInterval","dynamicPriorityPolling","useFsEvents","useFsEventsOnParentDirectory"],"enumDescriptions":["定期轮询区块中的文件。","以固定间隔每秒多次检查每个文件的更改。","每秒多次检查每个文件的更改，但使用启发方法按不同频率检查不同类型的文件。","使用动态队列，在该队列中，较少检查不经常修改的文件。","尝试使用操作系统/文件系统的本机事件进行文件更改。","尝试使用操作系统/文件系统的本机事件来侦听文件包含目录的更改。此操作可减少使用的文件观察程序数量，但准确度可能较低。"],"default":"useFsEvents"},"watchDirectory":{"type":"string","description":"在缺乏递归文件监视功能的系统中监视整个目录树的策略。","enum":["fixedChunkSizePolling","fixedPollingInterval","dynamicPriorityPolling","useFsEvents"],"enumDescriptions":["定期轮询区块中的目录。","以固定间隔每秒多次检查每个目录的更改。","使用动态队列，其中较少修改的目录将较少检查。","尝试使用操作系统/文件系统的本机事件进行目录更改。"],"default":"useFsEvents"},"fallbackPolling":{"type":"string","description":"使用文件系统事件时，此选项指定当系统用完本机文件观察程序和/或不支持本机文件观察程序时使用的轮询策略。","enum":["fixedPollingInterval","priorityPollingInterval","dynamicPriorityPolling"],"enumDescriptions":["configuration.tsserver.watchOptions.fallbackPolling.fixedPollingInterval","configuration.tsserver.watchOptions.fallbackPolling.priorityPollingInterval","configuration.tsserver.watchOptions.fallbackPolling.dynamicPriorityPolling"]},"synchronousWatchDirectory":{"type":"boolean","description":"禁用目录上的延迟监视。当可能同时发生大量文件更改(例如，运行 npm install 导致的 node_modules 更改)时，延迟监视非常有用，但是对于一些不太常见的设置，可能需要使用此标志将其禁用。"}}}]},"js/ts.tsserver.tracing.enabled":{"type":"boolean","default":false,"description":"允许将 TS 服务器性能跟踪保持到目录。这些跟踪文件可用于诊断 TS 服务器性能问题。日志可能包含你的项目中的文件路径、源代码和其他可能敏感的信息。","scope":"window","keywords":["TypeScript"]},"typescript.tsserver.enableTracing":{"type":"boolean","default":false,"description":"允许将 TS 服务器性能跟踪保持到目录。这些跟踪文件可用于诊断 TS 服务器性能问题。日志可能包含你的项目中的文件路径、源代码和其他可能敏感的信息。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.tsserver.tracing.enabled#`。","scope":"window"},"js/ts.tsserver.log":{"type":"string","enum":["off","terse","normal","verbose","requestTime"],"default":"off","description":"将 TS 服务器的日志保存到一个文件。此日志可用于诊断 TS 服务器问题。日志可能包含你的项目中的文件路径、源代码和其他可能敏感的信息。","scope":"window","keywords":["TypeScript"]},"typescript.tsserver.log":{"type":"string","enum":["off","terse","normal","verbose","requestTime"],"default":"off","description":"将 TS 服务器的日志保存到一个文件。此日志可用于诊断 TS 服务器问题。日志可能包含你的项目中的文件路径、源代码和其他可能敏感的信息。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.tsserver.log#`。","scope":"window"},"js/ts.tsserver.pluginPaths":{"type":"array","items":{"type":"string","description":"相对或绝对路径。相对路径将根据工作区文件夹进行解析。"},"default":[],"description":"其他用于搜索 TypeScript 语言服务插件的路径。","scope":"machine","keywords":["TypeScript"]},"typescript.tsserver.pluginPaths":{"type":"array","items":{"type":"string","description":"相对或绝对路径。相对路径将根据工作区文件夹进行解析。"},"default":[],"description":"其他用于搜索 TypeScript 语言服务插件的路径。","markdownDeprecationMessage":"此设置已弃用。请改用 `#js/ts.tsserver.pluginPaths#`。","scope":"machine"}}}],"commands":[{"command":"typescript.reloadProjects","title":{"value":"重载项目","original":"Reload Project"},"category":"TypeScript"},{"command":"javascript.reloadProjects","title":{"value":"重载项目","original":"Reload Project"},"category":"JavaScript"},{"command":"typescript.selectTypeScriptVersion","title":{"value":"选择 TypeScript 版本...","original":"Select TypeScript Version..."},"category":"TypeScript"},{"command":"typescript.goToProjectConfig","title":{"value":"转到项目配置(tsconfig)","original":"Go to Project Configuration (tsconfig)"},"category":"TypeScript"},{"command":"javascript.goToProjectConfig","title":{"value":"转到项目配置(jsconfig/tsconfig)","original":"Go to Project Configuration (jsconfig / tsconfig)"},"category":"JavaScript"},{"command":"typescript.openTsServerLog","title":{"value":"打开 TS 服务器日志","original":"Open TS Server log"},"category":"TypeScript"},{"command":"typescript.restartTsServer","title":{"value":"重启 TS 服务器","original":"Restart TS Server"},"category":"TypeScript"},{"command":"typescript.findAllFileReferences","title":{"value":"查找文件引用","original":"Find File References"},"category":"TypeScript"},{"command":"typescript.goToSourceDefinition","title":{"value":"转到源定义","original":"Go to Source Definition"},"category":"TypeScript"},{"command":"typescript.sortImports","title":{"value":"对导入进行排序","original":"Sort Imports"},"category":"TypeScript","enablement":"!config.js/ts.experimental.useTsgo && !config.typescript.experimental.useTsgo && typescript.isManagedFile"},{"command":"javascript.sortImports","title":{"value":"对导入进行排序","original":"Sort Imports"},"category":"JavaScript","enablement":"!config.js/ts.experimental.useTsgo && !config.typescript.experimental.useTsgo && typescript.isManagedFile"},{"command":"typescript.removeUnusedImports","title":{"value":"删除未使用的导入","original":"Remove Unused Imports"},"category":"TypeScript","enablement":"!config.js/ts.experimental.useTsgo && !config.typescript.experimental.useTsgo && typescript.isManagedFile"},{"command":"javascript.removeUnusedImports","title":{"value":"删除未使用的导入","original":"Remove Unused Imports"},"category":"JavaScript","enablement":"!config.js/ts.experimental.useTsgo && !config.typescript.experimental.useTsgo && typescript.isManagedFile"},{"command":"typescript.experimental.enableTsgo","title":"Use TypeScript Go (Experimental)","category":"TypeScript","enablement":"!config.js/ts.experimental.useTsgo && !config.typescript.experimental.useTsgo && config.typescript-go.executablePath"},{"command":"typescript.experimental.disableTsgo","title":"Stop using TypeScript Go (Experimental)","category":"TypeScript","enablement":"config.js/ts.experimental.useTsgo || config.typescript.experimental.useTsgo"}],"menus":{"commandPalette":[{"command":"typescript.reloadProjects","when":"editorLangId == typescript && typescript.isManagedFile"},{"command":"typescript.reloadProjects","when":"editorLangId == typescriptreact && typescript.isManagedFile"},{"command":"javascript.reloadProjects","when":"editorLangId == javascript && typescript.isManagedFile"},{"command":"javascript.reloadProjects","when":"editorLangId == javascriptreact && typescript.isManagedFile"},{"command":"typescript.goToProjectConfig","when":"editorLangId == typescript && typescript.isManagedFile"},{"command":"typescript.goToProjectConfig","when":"editorLangId == typescriptreact && typescript.isManagedFile"},{"command":"javascript.goToProjectConfig","when":"editorLangId == javascript && typescript.isManagedFile"},{"command":"javascript.goToProjectConfig","when":"editorLangId == javascriptreact && typescript.isManagedFile"},{"command":"typescript.selectTypeScriptVersion","when":"typescript.isManagedFile"},{"command":"typescript.openTsServerLog","when":"typescript.isManagedFile"},{"command":"typescript.restartTsServer","when":"typescript.isManagedFile"},{"command":"typescript.findAllFileReferences","when":"tsSupportsFileReferences && typescript.isManagedFile"},{"command":"typescript.goToSourceDefinition","when":"tsSupportsSourceDefinition && typescript.isManagedFile"},{"command":"typescript.sortImports","when":"!config.js/ts.experimental.useTsgo && !config.typescript.experimental.useTsgo && typescript.isManagedFile && supportedCodeAction =~ /(\\s|^)source\\.sortImports\\b/ && editorLangId =~ /^typescript(react)?$/"},{"command":"javascript.sortImports","when":"!config.js/ts.experimental.useTsgo && !config.typescript.experimental.useTsgo && typescript.isManagedFile && supportedCodeAction =~ /(\\s|^)source\\.sortImports\\b/ && editorLangId =~ /^javascript(react)?$/"},{"command":"typescript.removeUnusedImports","when":"!config.js/ts.experimental.useTsgo && !config.typescript.experimental.useTsgo && typescript.isManagedFile && supportedCodeAction =~ /(\\s|^)source\\.removeUnusedImports\\b/ && editorLangId =~ /^typescript(react)?$/"},{"command":"javascript.removeUnusedImports","when":"!config.js/ts.experimental.useTsgo && !config.typescript.experimental.useTsgo && typescript.isManagedFile && supportedCodeAction =~ /(\\s|^)source\\.removeUnusedImports\\b/ && editorLangId =~ /^javascript(react)?$/"}],"editor/context":[{"command":"typescript.goToSourceDefinition","when":"!config.js/ts.experimental.useTsgo && !config.typescript.experimental.useTsgo && tsSupportsSourceDefinition && (resourceLangId == typescript || resourceLangId == typescriptreact || resourceLangId == javascript || resourceLangId == javascriptreact)","group":"navigation@1.41"}],"explorer/context":[{"command":"typescript.findAllFileReferences","when":"tsSupportsFileReferences && resourceLangId == typescript","group":"4_search"},{"command":"typescript.findAllFileReferences","when":"tsSupportsFileReferences && resourceLangId == typescriptreact","group":"4_search"},{"command":"typescript.findAllFileReferences","when":"tsSupportsFileReferences && resourceLangId == javascript","group":"4_search"},{"command":"typescript.findAllFileReferences","when":"tsSupportsFileReferences && resourceLangId == javascriptreact","group":"4_search"}],"editor/title/context":[{"command":"typescript.findAllFileReferences","when":"tsSupportsFileReferences && resourceLangId == javascript"},{"command":"typescript.findAllFileReferences","when":"tsSupportsFileReferences && resourceLangId == javascriptreact"},{"command":"typescript.findAllFileReferences","when":"tsSupportsFileReferences && resourceLangId == typescript"},{"command":"typescript.findAllFileReferences","when":"tsSupportsFileReferences && resourceLangId == typescriptreact"}]},"breakpoints":[{"language":"typescript"},{"language":"typescriptreact"}],"taskDefinitions":[{"type":"typescript","required":["tsconfig"],"properties":{"tsconfig":{"type":"string","description":"定义 ts 生成的 tsconfig 文件。"},"option":{"type":"string"}},"when":"shellExecutionSupported"}],"problemPatterns":[{"name":"tsc","regexp":"^([^\\s].*)[\\(:](\\d+)[,:](\\d+)(?:\\):\\s+|\\s+-\\s+)(error|warning|info)\\s+TS(\\d+)\\s*:\\s*(.*)$","file":1,"line":2,"column":3,"severity":4,"code":5,"message":6}],"problemMatchers":[{"name":"tsc","label":"TypeScript 问题","owner":"typescript","source":"ts","applyTo":"closedDocuments","fileLocation":["relative","${cwd}"],"pattern":"$tsc"},{"name":"tsgo-watch","label":"TypeScript 问题(观看模式)","owner":"typescript","source":"ts","applyTo":"closedDocuments","fileLocation":["relative","${cwd}"],"pattern":"$tsc","background":{"activeOnStart":true,"beginsPattern":{"regexp":"^build starting at .*$"},"endsPattern":{"regexp":"^build finished in .*$"}}},{"name":"tsc-watch","label":"TypeScript 问题(观看模式)","owner":"typescript","source":"ts","applyTo":"closedDocuments","fileLocation":["relative","${cwd}"],"pattern":"$tsc","background":{"activeOnStart":true,"beginsPattern":{"regexp":"^\\s*(?:message TS6032:|\\[?\\D*.{1,2}[:.].{1,2}[:.].{1,2}\\D*(├\\D*\\d{1,2}\\D+┤)?(?:\\]| -)) (Starting compilation in watch mode|File change detected\\. Starting incremental compilation)\\.\\.\\."},"endsPattern":{"regexp":"^\\s*(?:message TS6042:|\\[?\\D*.{1,2}[:.].{1,2}[:.].{1,2}\\D*(├\\D*\\d{1,2}\\D+┤)?(?:\\]| -)) (?:Compilation complete\\.|Found \\d+ errors?\\.) Watching for file changes\\."}}}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"},"originalEnabledApiProposals":["workspaceTrust","multiDocumentHighlightProvider","codeActionAI","codeActionRanges","editorHoverVerbosityLevel"]},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/typescript-language-features","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.vb"},"manifest":{"name":"vb","displayName":"Visual Basic 语言基础功能","description":"在 Visual Basic 文件中提供代码片段、语法高亮、括号匹配和折叠功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin textmate/asp.vb.net.tmbundle Syntaxes/ASP%20VB.net.plist ./syntaxes/asp-vb-net.tmLanguage.json"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"vb","extensions":[".vb",".brs",".vbs",".bas",".vba"],"aliases":["Visual Basic","vb"],"configuration":"./language-configuration.json"}],"grammars":[{"language":"vb","scopeName":"source.asp.vb.net","path":"./syntaxes/asp-vb-net.tmLanguage.json"}],"snippets":[{"language":"vb","path":"./snippets/vb.code-snippets"}]},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/vb","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.xml"},"manifest":{"name":"xml","displayName":"XML 语言基础功能","description":"在 XML 文件中提供语法高亮和括号匹配功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"xml","extensions":[".xml",".xsd",".ascx",".atom",".axml",".axaml",".bpmn",".cpt",".csl",".csproj",".csproj.user",".dita",".ditamap",".dtd",".ent",".mod",".dtml",".fsproj",".fxml",".iml",".isml",".jmx",".launch",".menu",".mxml",".nuspec",".opml",".owl",".proj",".props",".pt",".publishsettings",".pubxml",".pubxml.user",".rbxlx",".rbxmx",".rdf",".rng",".rss",".shproj",".slnx",".storyboard",".svg",".targets",".tld",".tmx",".vbproj",".vbproj.user",".vcxproj",".vcxproj.filters",".wixproj",".wsdl",".wxi",".wxl",".wxs",".xaml",".xbl",".xib",".xlf",".xliff",".xpdl",".xul",".xoml"],"firstLine":"(\\<\\?xml.*)|(\\<svg)|(\\<\\!doctype\\s+svg)","aliases":["XML","xml"],"configuration":"./xml.language-configuration.json"},{"id":"xsl","extensions":[".xsl",".xslt"],"aliases":["XSL","xsl"],"configuration":"./xsl.language-configuration.json"}],"grammars":[{"language":"xml","scopeName":"text.xml","path":"./syntaxes/xml.tmLanguage.json"},{"language":"xsl","scopeName":"text.xml.xsl","path":"./syntaxes/xsl.tmLanguage.json"}]},"scripts":{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin atom/language-xml grammars/xml.cson ./syntaxes/xml.tmLanguage.json grammars/xsl.cson ./syntaxes/xsl.tmLanguage.json"},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/xml","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false},{"type":0,"identifier":{"id":"vscode.yaml"},"manifest":{"name":"yaml","displayName":"YAML 语言基础功能","description":"在 YAML 文件中提供语法高亮和括号匹配功能。","version":"10.0.0","publisher":"vscode","license":"MIT","engines":{"vscode":"*"},"scripts":{"update-grammar":"node ./build/update-grammar.js"},"categories":["Programming Languages"],"contributes":{"languages":[{"id":"dockercompose","aliases":["Compose","compose"],"filenamePatterns":["compose.yml","compose.yaml","compose.*.yml","compose.*.yaml","*docker*compose*.yml","*docker*compose*.yaml"],"configuration":"./language-configuration.json"},{"id":"yaml","aliases":["YAML","yaml"],"extensions":[".yaml",".yml",".eyaml",".eyml",".cff",".yaml-tmlanguage",".yaml-tmpreferences",".yaml-tmtheme",".winget"],"firstLine":"^#cloud-config","configuration":"./language-configuration.json"}],"grammars":[{"language":"dockercompose","scopeName":"source.yaml","path":"./syntaxes/yaml.tmLanguage.json"},{"scopeName":"source.yaml.1.3","path":"./syntaxes/yaml-1.3.tmLanguage.json"},{"scopeName":"source.yaml.1.2","path":"./syntaxes/yaml-1.2.tmLanguage.json"},{"scopeName":"source.yaml.1.1","path":"./syntaxes/yaml-1.1.tmLanguage.json"},{"scopeName":"source.yaml.1.0","path":"./syntaxes/yaml-1.0.tmLanguage.json"},{"scopeName":"source.yaml.embedded","path":"./syntaxes/yaml-embedded.tmLanguage.json"},{"language":"yaml","scopeName":"source.yaml","path":"./syntaxes/yaml.tmLanguage.json","unbalancedBracketScopes":["invalid.illegal","meta.scalar.yaml","storage.type.tag.shorthand.yaml","keyword.control.flow"]}],"configurationDefaults":{"[yaml]":{"editor.insertSpaces":true,"editor.tabSize":2,"editor.autoIndent":"advanced","diffEditor.ignoreTrimWhitespace":false,"editor.defaultColorDecorators":"never","editor.quickSuggestions":{"strings":"on"}},"[dockercompose]":{"editor.insertSpaces":true,"editor.tabSize":2,"editor.autoIndent":"advanced"}}},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"}},"location":{"$mid":1,"path":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/yaml","scheme":"file"},"isBuiltin":true,"targetPlatform":"undefined","isValid":true,"validations":[],"preRelease":false,"forceAutoUpdate":false}]}