Visual studio code VSCode扩展-获取编辑器类型
我试图确定活动编辑器是否由git打开(即通常以工作树结尾的文件、未跟踪的文件等) 原始文件的Visual studio code VSCode扩展-获取编辑器类型,visual-studio-code,vscode-extensions,Visual Studio Code,Vscode Extensions,我试图确定活动编辑器是否由git打开(即通常以工作树结尾的文件、未跟踪的文件等) 原始文件的vscode.window.activeTextEditor与使用修改视图从git打开的同一文件几乎没有区别,只保存一个字段: (vscode.window.activeTextEditor as any).id 返回如下字符串: 'vs.editor.ICodeEditor:1,$model12'//普通编辑器的值 'vs.editor.ICodeEditor:7,$model12'//git编辑器的
vscode.window.activeTextEditor
与使用修改视图从git打开的同一文件几乎没有区别,只保存一个字段:
(vscode.window.activeTextEditor as any).id
返回如下字符串:
'vs.editor.ICodeEditor:1,$model12'//普通编辑器的值
'vs.editor.ICodeEditor:7,$model12'//git编辑器的值
为ICodeEditor
返回的值7
将在特定vscode实例中的所有编辑器中保持一致,但会根据可用的编辑器而变化
因此,我试图将神奇的数字7
(在这一特定情况下)转换为EditorType
在源代码中,有一个:
但是我不知道如何在扩展的上下文中访问这些信息
即使返回类型也没有显式地提供像id
这样的字段(这就是为什么我必须转换到上面任何一个)。因此,这里的一些内部构件可能不会显示在文档/面向公共的界面中
export function isDiffEditor(thing: any): thing is IDiffEditor {
if (thing && typeof (<IDiffEditor>thing).getEditorType === 'function') {
return (<IDiffEditor>thing).getEditorType() === editorCommon.EditorType.IDiffEditor;
} else {
return false;
}
}
export const EditorType = {
ICodeEditor: 'vs.editor.ICodeEditor',
IDiffEditor: 'vs.editor.IDiffEditor'
};