智能vscode“转到定义”

Vit*_*lio 5 navigation shortcut visual-studio-code

- - 编辑

假设我在 vscode 中有以下场景:

例子

我有 3 个打开的文件,vscode 一次显示两个文件。左侧有 2 个选项卡:a.js,在前台,带有

import { b } from './b';
import { c } from './c';

b();
c();
Run Code Online (Sandbox Code Playgroud)

b.js

export function b() {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

在右边我c.js

export function c() {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

我的目标是:

  • a.js从当前专注的编辑开始

  • 有一个快捷方式 - 最好是 ctrl-click - 那

    • 当我单击时,b()会出现前台的选项卡b.js并专注于function b() {定义
    • 当我单击 时c(),将焦点移到右侧,在c.js前景中,并聚焦于function c() {定义。
  • 请记住,我不想使用不同的快捷方式。这是一个简化的示例(通常我有多个选项卡和打开的多个列),但通常我不知道目标在哪里,而且我绝对不希望多次打开同一个文件。

有办法得到吗?

- - 原来的

在 vscode 中,根据https://code.visualstudio.com/docs/editor/editingevolved#_go-to-definition

您可以使用 Ctrl+单击跳转到定义,或者使用 Ctrl+Alt+单击打开侧面的定义。

现在,我经常使用侧面板,有时定义所在的“目标”位于另一侧,有时是我现在所在位置同一侧的不同选项卡。

如果我做了适当的选择,我可以直接进入已经打开的缓冲区。如果我选择“错误”的快捷方式,则会打开同一文件的新缓冲区。

有没有办法让“转到定义”变得聪明?我只想始终转到已打开的文件(如果可用)。

aks*_*eli 7

您应该前往 VS Code 的设置并选择该Reveal If Open选项。

您可以在 参考资料Workbench --> Editor Management部分中找到它。

显示是否打开设置