【问题标题】:Stop opening files when drag and drop in explorer在资源管理器中拖放时停止打开文件
【发布时间】:2021-01-02 18:56:07
【问题描述】:

当我将任何文件拖放到 Visual Studio Code 的资源管理器中时,它会自动在编辑器中打开该文件。 是否有任何设置可以关闭此行为?

通常,我使用大而重的 CSV、JSON 等文件,所以当这些文件打开时,它确实会降低我的计算机速度,还因为一些扩展(如文本突出显示)会自动尝试解析文本,但直到它意识到他的工作内容太多,并显示由于性能问题而无法继续的警告,它已经降低了我的计算机速度。

当然,我可以在此之前以足够快的速度关闭文件,但有时问题仍然存在(无论如何应该可以禁用此功能)。

【问题讨论】:

    标签: visual-studio-code vscode-settings


    【解决方案1】:

    我克隆了vscode 的源代码来寻找解决方案。这是我在源码中找到的,拖多个文件时,什么都不会打开:

    vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.ts

    // if we only add one file, just open it directly
    if (resourceFileEdits.length === 1) {
      const item = this.explorerService.findClosest(resourceFileEdits[0].newResource!);
      if (item && !item.isDirectory) {
        this.editorService.openEditor({ resource: item.resource, options: { pinned: true } });
      }
    }
    

    这段代码放在:

     private async addResources(target: ExplorerItem, resources: URI[], token: CancellationToken): Promise<void> {
    

    并从handleExternalDrop 函数调用。

    private async handleExternalDrop(target: ExplorerItem, originalEvent: DragEvent, token: CancellationToken): Promise<void> {
    

    当然,如果只有一个文件,这不是解决方案。

    你可能需要创建 4.6k + 1 issue

    【讨论】:

    • 不是这样:(我还是要拖拽文件,只是不想让它们自动打开。这个设置根本不让我拖拽
    • 我认为没有那个选项。
    • 我是这么认为的...我会在他们的 GitHub 上打开一个问题,谢谢!
    • 我认为他们会拒绝执行它并建议使用 mv 命令而不是拖动。但祝你好运!
    • 任何盯着我克隆源代码看的答案都值得在我的书中投票
    猜你喜欢
    • 2019-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多