Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio code VSCode扩展-获取编辑器类型_Visual Studio Code_Vscode Extensions - Fatal编程技术网

Visual studio code VSCode扩展-获取编辑器类型

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编辑器的

我试图确定活动编辑器是否由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'
};