关闭当前选项卡时如何获取Visual Studio代码以选择正确的选项卡?

问题描述 投票:0回答:1

当我关闭Visual Studio Code中的选项卡时,我希望它的行为就像我在关闭选项卡时使用的其他所有选项卡式编辑器/浏览器一样。

我已经阅读了对Is there a vscode settings which specifies which tab to open when closing a tab?的回答,这意味着在"workbench.editor.focusRecentEditorAfterClose": false中设置settings.json将提供所需的行为-不幸的是,它没有。

给出五个选项卡ABCDE,并且当前选择了选项卡C

  • 当我按下close tab快捷方式时,我使用过的所有其他程序都会使选项卡B处于选中状态-ie它向左关闭。

  • Visual Studio代码使选项卡D处于选中状态-ie靠近右侧。这使我发疯,好像我连续关闭两个选项卡一样,wrong选项卡已关闭以进行第二次关闭操作。

没有什么特别的关于[[错误]的信息,除了几乎所有其他程序都向左关闭之外,它的右向而不是向左关闭。这相当于在网站上放置一个搜索框,然后搜索“ foo bar”而不是“ foo and bar”,而是执行“ foo bar”,因为Google,Bing,DuckDuckGo,eBay,亚马逊,Twitter和Facebook(仅举几个主要站点为例)都使用,它不必要地使人们感到困惑并使他们放慢速度。

我无法找到用于配置此设置的设置,也无法在Marketplace中找到任何可以解决该问题的设置。有可能吗?
visual-studio-code vscode-settings
1个回答
0
投票
您可以创建自己的宏来完成所需的操作。您需要一个宏,因为您需要运行两个命令:关闭编辑器,然后将编辑器聚焦在左侧。我不认为没有其他内置方法可以做到这一点。

因此,使用multi-command这样的宏扩展名,将进入您的设置:

"multiCommand.commands": [ { "command": "multiCommand.closeEditorFocusLeft", "sequence": [ "workbench.action.closeActiveEditor", "workbench.action.previousEditor", ] } ]

和keybinding.json中的键绑定:

{ "key": "ctrl+w", "command": "-workbench.action.closeActiveEditor" }, { "key": "ctrl+w", "command": "extension.multiCommand.execute", "args": { "command": "multiCommand.closeEditorFocusLeft" }, // "when": "editorFocus" },

我在这里假设您使用

Ctrl + W关闭活动的编辑器,然后我首先禁用了默认命令,然后将其分配给宏。但是您可以根据需要进行任何键绑定。而且有效。

在我的测试中,

必需进行设置

Workbench > Editor: Focus Recent Editor On Close

disabled。因此,vscode实际上会尝试向右移动,而不是转到可能在哪里打开的最新打开的编辑器(然后转到该窗口的左侧)。

不幸的是,在扩展程序之外,我认为这是完成所需功能的唯一方法。
© www.soinside.com 2019 - 2024. All rights reserved.