我正在尝试在VSCode扩展上调试/开发。为此,我需要禁用调试“”中的所有(许多)其他扩展。
但是,这样做会将用户首选项保存到我的用户首选项中,这会导致…。所有其他VScode实例…停止任何扩展。
如何在“扩展开发主机”中禁用我的其他日常扩展而不破坏我的正常用户配置?是否有办法说服EDH使用不同的设置-文件或配置路径或其他什么,反复和可靠?
发布于 2022-09-03 03:07:39
见在干净的环境中支持扩展调试。和v1.72在干净的环境中发布Notes扩展调试
必须启用此设置,才能使以下技术在稳定的v1.71+中工作:
Workbench > Experimental > Settings Profile: Enabled
有了“设置配置文件”特性和对概要文件的新命令行支持,现在可以在扩展的调试配置中指定配置文件。 基本上有两种可能的办法: 通过使用未命名的“空”配置文件“在干净的环境中调试”,该配置文件将在调试停止时自动删除。 “在受控环境中进行调试”,通过使用已专门为扩展调试创建并包含特定设置和扩展的命名配置文件。 此调试配置显示了如何“在干净的环境中调试”:
{
"name": "Extension",
"type": "extensionHost",
"request": "launch",
"args": [
"--profile-temp",
"--extensionDevelopmentPath=${workspaceFolder}",
"${workspaceFolder}/sampleWorkspace"
],
"outFiles": [
"${workspaceFolder}/dist/**/*.js"
],
"preLaunchTask": "npm: watch"
}
请注意:上面的配置通过一个工作区文件夹${workspaceFolder}/sampleWorkspace,该文件夹是当前--profile-temp选项所必需的。如果工作区文件夹参数丢失,则忽略-profile-temp选项。我们将尽快删除此要求(见第159577期)。
因此,例如,在启动配置中有以下args
:
"args": [
"--profile-temp",
// some folder is necessary for now in Stable (but not Insiders), using the `${workspaceFolder}` variable
"${workspaceFolder}/../OneDrive/Test Bed",
"--extensionDevelopmentPath=${workspaceFolder}"
]
而且效果很好。ExtensionHost没有安装任何扩展,但是我的其他vscode窗口没有受到影响。
请注意:在远程位置调试扩展(通过“远程开发”扩展“容器”、"SSL“或"WSL")调试扩展时,使用--profile-temp
标志将产生以下状态消息:
这是因为临时配置文件不包括任何扩展,这意味着“远程开发”扩展也丢失了。对于远程场景,建议创建一个空的命名概要文件,向其添加“远程开发”扩展,然后使用--profile=....
命令行选项。
发布于 2022-07-26 11:05:36
可以使用--disable-extensions
标志禁用所有扩展。只需重新配置您的.vscode/launch.json
(参见args数组):
{
"version": "0.2.0",
"configurations": [
{
"name": "Run Extension",
"type": "extensionHost",
"request": "launch",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}",
"--disable-extensions"
],
"outFiles": [
"${workspaceFolder}/out/**/*.js"
],
"preLaunchTask": "${defaultBuildTask}"
},
...
https://stackoverflow.com/questions/71572862
复制相似问题