javascript - 当用户创建嵌入式终端时,如何从我的 VSCode 扩展中更改嵌入式终端的名称?
问题描述
我的扩展会影响 VSCode 实例中的环境,因此我想帮助用户识别包含环境更改的终端(在应用我的扩展之后)以及到目前为止已创建的终端。为此,我想做这样的事情:
vscode.window.onDidOpenTerminal((terminal: vscode.Terminal) => {
if(CONDITION){
//terminal. = 'label:' + terminal.name; Won't work because the name is a constant
};
});
我在编写扩展方面不是很有经验,并且在文档中找不到任何关于如何最好地做到这一点的参考资料。有什么方法可以更改不是来自我的扩展的用户创建的终端的名称?
解决方案
要重命名扩展中的当前终端,您可以这样做:
vscode.window.onDidOpenTerminal((terminal) => {
if (true) { // with your condition
vscode.commands.executeCommand('workbench.action.terminal.renameWithArg', { name: 'myName' });
}
});
仅此一项就无法区分扩展程序打开的终端和用户打开的终端(除了定时或设置变量可能 - 第一次调用它,第二次等更新全局变量)。
推荐阅读
- javascript - 如何防止模糊在 v-combobox 中添加输入
- angular - 如何检查用户输入是否有效并根据输入类型设置警报?
- visual-studio-code - VSCode:扩展:根据找到的第一个空白行或下一个类似部分的开头折叠部分
- visual-studio-code - 我无法在所有 Windows 设备上更新我的 VS 代码并每次都收到 os 错误 32
- postgresql - Laravel DB insert([]) 只插入数组的第一条记录
- php - 添加表单数据并从另一个表获取数据以在提交后形成新记录 - PHP MySQL
- android - 从堆栈碎片中移除
- android - Android:能够返回 ArrayList 但不是 LiveData 数组列表
- vb.net - 如何从数字列表中找到唯一/不同的数字
- java - Visual Studio Code:Java 代码根本不运行