首页 > 解决方案 > `viewsContainers`中`activitybar`的条件贡献

问题描述

我想有条件地为我的扩展代码审查activitybar部分创建一个贡献。viewContainer

我认为可以通过将此部分添加到package.json文件中来实现:

"viewsContainers": {
      "activitybar": [
        {
          "id": "code-review",
          "title": "Code Review",
          "icon": "images/icon-sidebar.svg",
          "when": "codeReview:displayCodeReviewExplorer"
        }
      ]
    },

但不幸的是,它似乎不起作用,因为视图总是显示并且该when部分似乎没有被执行。

这是我创建的提交:

https://github.com/d-koppenhagen/vscode-code-review/commit/aa13034533bc5dd2a5a8bb2743db60505cd3bd52

因此,总体目标是仅在存在特定文件时激活视图。否则,视图和当然活动栏按钮不应该是可见的。

任何提示/建议/解决方案?也非常欢迎 PR 提前谢谢!

标签: visual-studio-codevscode-extensions

解决方案


好的,我用这个提交修复了它: https ://github.com/d-koppenhagen/vscode-code-review/commit/830a7b922ec0e89fdaa75b4966a5348ffe84388d

when子句必须是该部分的一部分,views而不是viewsContainers -> activityBar

"viewsContainers": {
      "activitybar": [
        {
          "id": "code-review",
          "title": "Code Review",
          "icon": "images/icon-sidebar.svg"
        }
      ]
    },
    "views": {
      "code-review": [
        {
          "id": "code-review.list",
          "name": "Comment Explorer",
          "when": "codeReview:displayCodeReviewExplorer"
        }
      ]
    },

推荐阅读