如何仅当活动选项卡是某种文件类型时才修改状态栏
How can I modify the statusbar only when the active tab is of a certain file type
我为 VSC 创建了一个扩展,它在打开 JS/TS 类型的文件时添加了一些状态栏按钮。但如果活动选项卡是 JS/TS,我宁愿只显示按钮。目前,如果我打开一个 markdown 文件和一个 JS 文件,即使 MD 文件是活动选项卡,也会添加状态栏按钮。
当用户交换选项卡时是否会调用某种事件,我可以使用它来 show/hide 我的按钮。
这是我的回购:
正在更改活动的文本编辑器事件
vscode.window.onDidChangeActiveTextEditor(editor => {
if (!editor) {
// hide
return;
}
if (editor.document.languageId === 'javascript' || editor.document.languageId === 'typescript') {
// show
} else {
// hide
}
});
如果要考虑所有可见的编辑器(split/grid):
vscode.window.onDidChangeVisibleTextEditors(editors => {
if (editors.some(editor => {
return editor.document.languageId === 'javascript' || editor.document.languageId === 'typescript';
})) {
// show
} else {
// hide
}
});
我为 VSC 创建了一个扩展,它在打开 JS/TS 类型的文件时添加了一些状态栏按钮。但如果活动选项卡是 JS/TS,我宁愿只显示按钮。目前,如果我打开一个 markdown 文件和一个 JS 文件,即使 MD 文件是活动选项卡,也会添加状态栏按钮。
当用户交换选项卡时是否会调用某种事件,我可以使用它来 show/hide 我的按钮。
这是我的回购:
正在更改活动的文本编辑器事件
vscode.window.onDidChangeActiveTextEditor(editor => {
if (!editor) {
// hide
return;
}
if (editor.document.languageId === 'javascript' || editor.document.languageId === 'typescript') {
// show
} else {
// hide
}
});
如果要考虑所有可见的编辑器(split/grid):
vscode.window.onDidChangeVisibleTextEditors(editors => {
if (editors.some(editor => {
return editor.document.languageId === 'javascript' || editor.document.languageId === 'typescript';
})) {
// show
} else {
// hide
}
});