VSCode将新视图打开到文件中

ADI*_*DIN 13 visual-studio-code

我们可以使用拆分编辑器选项将两个视图合并到一个文件中.我正在寻找在单独的标签中打开相同文件的选项,就像我在Sumblime Text中所做的那样(打开文件的新视图).那可能吗?

Gam*_*a11 6

我找不到任何可以让您执行此操作的内置功能,也找不到市场中的现有扩展。我认为在自定义扩展中自己实现“Duplicate Tab”命令应该很简单,但事实证明VSCode 只允许在同一视图列中打开一次相同的资源

仍然可以在 Windows 或 macOS 上执行此操作,但只能通过滥用此错误:

不区分大小写/片段规范化文件路径的问题(macOS、Windows)#12448

扩展程序的代码如下所示:

'use strict';
import * as vscode from 'vscode';

export function activate(context: vscode.ExtensionContext) {
    vscode.commands.registerCommand("duplicateTab", () => {
        var activeEditor = vscode.window.activeTextEditor;
        if (activeEditor == null) {
            return;
        }
        // HACK!
        const sameFileNameButDifferent = activeEditor.document.fileName.toUpperCase();
        vscode.workspace.openTextDocument(sameFileNameButDifferent).then(document => {
            vscode.window.showTextDocument(document, {preview: false});
        });
    });
}
Run Code Online (Sandbox Code Playgroud)

package.json

"contributes": {
    "commands": [
        {
            "title": "Duplicate Tab",
            "command": "duplicateTab"
        }
    ]
},
Run Code Online (Sandbox Code Playgroud)