智能化的VSCode "跳转到定义"。

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

Example

我有三个打开的文件,在 vscode 中同时显示两个文件。 左侧有两个选项卡:a.js,位于前景中,带有...
import { b } from './b';
import { c } from './c';

b();
c();

b.js,一起

export function b() {
    // ...
}

在右侧我有c.js,带有

export function c() {
    // ...
}

我的目标是:
从当前聚焦的编辑器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 + 单击打开侧面的定义。
现在,我经常使用侧面板,有时“目标”(即定义所在位置)位于另一个侧面,有时是同一侧面中的不同选项卡。如果我选择正确,就可以直接进入已经打开的缓冲区。如果我选择“错误”的快捷键,则会打开同一文件的新缓冲区。
是否有一种方法使“跳转到定义”更加智能化?我只想始终跳转到已经打开的文件(如果可用)。

2
请查看 Workbench --> Editor Management 中的 Reveal If Open 设置。它可能会解决问题。 - akseli
我认为这段内容可以编辑得更清晰一些,以便更好地理解“sides”和“buffers”的含义(似乎更像vim术语?)。我假设它的意思是"editor groups",这是更正式的vscode术语。也许更清楚地说明所提到的“快捷方式”会有所帮助。这是其中一个情况,标有标签的屏幕截图实际上可以提供帮助。 - starball
@starball,更新后的问题更明确了吗? - Vito De Tullio
这个回答解决了你的问题吗?vscode:在其他编辑器窗格中查看定义(很遗憾,花了500声望在重复问题上设置悬赏)。 - undefined
嗯,是的(但被接受的答案并不是最好的) - undefined
显示剩余2条评论
1个回答

7

您需要前往VS Code的设置并选择“显示已打开”选项。

您可以在“工作台-->编辑器管理”部分找到它。

显示已打开设置


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接