#visual-studio-code #vscode-extensions
#visual-studio-code #vscode-расширения
Вопрос:
Я хочу условно создать вклад в activitybar
раздел для viewContainer
для моего расширения code review.
Я думал, что это может быть достигнуто путем добавления этого раздела в 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
Таким образом, общая цель состоит в том, чтобы просто активировать представление при наличии определенного файла. В противном случае вид и, конечно, кнопка activitybar не должны быть видны.
Есть какие-либо подсказки / предложения / решение? PR также очень приветствуется 🙂 Заранее спасибо! 🙏
Комментарии:
1. что, если вы жестко закодируете значения true / false для
setContext
вызова, работает лиwhen
тест для ViewContainers2. к сожалению, тот же результат. Я тоже пытался
"when": "false"
безуспешно
Ответ №1:
Хорошо, я исправил это с помощью этого коммита: 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"
}
]
},