VS Code扩展:如何根据HTML文件存在性控制活动栏视图显示?
问题解决:VS Code扩展视图根据HTML文件存在性切换失效
路径匹配规则错误:原配置的
workspaceContains:*.html仅匹配工作区根目录下的HTML文件,子目录中的文件无法被检测到。需修改为workspaceContains:**/*.html,这样才能递归匹配工作区内所有目录的HTML文件。视图容器与视图关联不匹配:
viewsContainers中定义的活动栏容器id是mainview,但views下的父键是myextensionView,两者不一致会导致视图无法正确挂载到目标容器。需将views的父键改为mainview,保持与容器id一致。视图显示逻辑优化:确保
Models视图的when条件和欢迎视图的显示条件互斥,给view-welcome视图添加when条件!workspaceContains:**/*.html,让它仅在无HTML文件时显示。
修正后的完整配置代码:
"contributes": { "viewsContainers": { "activitybar": [ { "id": "mainview", "title": "View", "icon": "resources/icon.png" } ] }, "viewsWelcome": [ { "view": "view-welcome", "contents": "To learn more about the best workflow read the docs", "when": "!workspaceContains:**/*.html" } ], "views": { "mainview": [ { "id": "html-dir", "name": "Models", "when": "workspaceContains:**/*.html" }, { "id": "view-welcome", "name": "Project Starter", "when": "!workspaceContains:**/*.html" } ] } }
内容的提问来源于stack exchange,提问作者PPenton
相关产品推荐
相关产品推荐

