如何在Visual Studio Code中导航到最后一个光标位置?

在Visual Studio Code中导航回光标最后位置的快捷键是什么?

314260 次浏览

键盘快捷命令前进回去


在Windows上:

Alt + …返回

Alt + …向前导航

在Mac:

Ctrl + -…返回

Ctrl + 转变 + -…向前导航

在Ubuntu Linux下:

Ctrl + Alt + -…返回

Ctrl + 转变 + -…向前导航

我使用的是Mac OS X,所以我不能回答Windows用户的问题:

我添加了一个自定义键映射条目,并将其设置为Ctrl + +# 0 +# 3,而最初的默认值是Ctrl +# 5和Ctrl +# 7+# 5(在我的德语键盘上转换为Ctrl +0和Ctrl +# 7+0)。

你可以简单地在用户键映射设置中修改它:

{ "key": "ctrl+left",  "command": "workbench.action.navigateBack" },{ "key": "ctrl+right", "command": "workbench.action.navigateForward" }

对于公认的答案,我实际上想知道:)Alt + / Alt + 对我来说是文字跳跃(这是所有编辑器的一种标准)。他们真的为Windows版本做了这样的映射吗?

使用Alt + /

你可以在 Visual Studio Code的键绑定中找到所有的快捷方式。

根据 Visual Studio Code的键绑定中的信息,这对于每个操作系统都是不同的。

工作台配置:

Go Back: workbench.action.navigateBack
Go Forward: workbench.action.navigateForward

Linux:

Go Back: Ctrl+Alt+-
Go Forward: Ctrl+转变+-

Mac OS X:

Go Back: Ctrl + -
Go Forward: Ctrl + 转变(⇧) + -

窗口:

Go Back: Alt + ⬅️
Go Forward: Alt + ➡️

macOS:

+ U:取消上一次游标操作

你也可以尝试Ctrl + -

顺便说一句,所有的快捷键都在 macOS的键盘快捷键。这真的很有用!

为了回答你的问题,为了:

  1. Windows使用Alt+进行向后导航,使用Alt+进行正向导航。
  2. macOS使用Ctrl+-进行向后导航,使用Ctrl+转变+-进行正向导航。
  3. Linux使用Ctrl+Alt+-进行反向导航,使用Ctrl+转变+-进行正向导航。

您可以在"键盘快捷键编辑器."中找到当前的键绑定;

您甚至可以根据自己的喜好编辑键绑定。

Mac OS (MacBook Pro):

后面:Ctrl(控制)+ -(连字符)

向后向前:Ctrl + 转变 + -(连字符)

作为键盘快捷键的替代,有一个名为"后退和前进按钮"这将向前和后退按钮添加到状态栏。

与# 0 # 1 + # 2 / # 1 + # 4或5 # + 6 # / 5 # + # 8 + 6 #也……# 10。

看到# 0:

# 1补充道:

# 0。

请注意,为了获得历史条目,位置之间至少需要10行才能将该条目视为新条目。

Go back/Forward selection - https://user-images.githubusercontent.com/900690/73729489-6ca7da80-4735-11ea-9345-1228f0302110.gif

你可以去菜单文件首选项键盘快捷键。一旦你在那里,你可以搜索导航。然后,您将看到为Visual Studio Code环境设置的与导航相关的所有快捷方式。在我的例子中,只有Alt + -才能找回我的光标。

虽然接受的答案是正确的,但使用VS Code的Vim扩展的人可能会因为向后导航需要使用你所做的每一次光标移动而感到沮丧。这可以防止“Go back”;从良好地工作到如下用例:

  1. 进入定义
  2. 在定义上戳一段时间(例如,移动光标)
  3. 回到第一步。

随着Vim扩展安装,你将卡住做“Go back”;对于您所做的每一次光标移动(对我来说,这足以使它几乎无用!)。

幸运的是,Vim扩展很好地实现了跳转列表,所以在使用VS Code跳转到一个新位置后(即“Go to definition”;),你可以简单地做CTRL+O回到之前的跳转位置。

有一个名为代码导航的扩展可用于所有平台。作为键盘快捷键的替代品,它在状态栏的左侧添加了按钮。

enter image description here

enter image description here

在vs code中有几种返回的方法和返回的选项。

要更改以下任何内容,请按ctrl + p进入命令面板,然后键入>,输入您需要更改的配置:

enter image description here

然后你所需要做的就是点击设置图标(如图中2所示),并将键绑定更改为你想要的任何键。

你有不同的选择返回:

  1. 转到最后编辑位置
  2. 光标撤消(meaning: go to last cursor location)
  3. 游标重做(Opposite of above)

Vscode v1.65添加了一些新命令,用于导航到最后/下一个编辑位置或最后/下一个光标位置。

edit location表示有实际的编辑,而cursor location表示您访问了该位置,但不一定在那里进行了编辑。

默认情况下,编辑器导航位置被添加在编辑器之间导航,但在编辑器内部导航时也是如此(对于例如,当切换笔记本单元格或更改文本中的选择时编辑器)。如果你觉得太多的位置被记录,新的添加了减少位置的命令:

  • 导航位置(例如当使用“转到定义”时)
  • 编辑位置(每当编辑器被更改时,例如在文本编辑器中输入时)
  • 从# 0

光标位置:

Go Forward in Navigation Locations"workbench.action.navigateForwardInNavigationLocations"
Go Back in Navigation Locations"workbench.action.navigateBackInNavigationLocations"
Go to Last Navigation Location// acts like a toggle between current and last cursor location"workbench.action.navigateToLastNavigationLocation"
Go Previous in Navigation Locations"workbench.action.navigatePreviousInNavigationLocations"

编辑地点:

Go Forward in Edit Locations"workbench.action.navigateForwardInEditLocations"
Go Back in Edit Locations"workbench.action.navigateBackInEditLocations"
Go Previous in Edit Locations"workbench.action.navigatePreviousInEditLocations"
Go to Last Edit Location// acts like a toggle between current and last edit location"workbench.action.navigateToLastEditLocation"

已添加关联上下文键以进行分配键绑定更强大的:< / p >

  • canNavigateBackInNavigationLocations:是否可以返回导航位置
  • canNavigateForwardInNavigationLocations:是否有可能在导航位置前进
  • canNavigateToLastNavigationLocation:是否可以转到最后一个导航位置
  • canNavigateBackInEditLocations:是否可以返回编辑位置
  • canNavigateForwardInEditLocations:是否有可能在编辑位置前进
  • canNavigateToLastEditLocation:是否可以转到最后一个编辑位置

要设置自己的键盘快捷键(即使特定的键盘组合已经被占用),您可以转到Code > Preferences > Keyboard Shortcuts并在那里设置它们。

  1. 打开设置:Code > Preferences > Keyboard Shortcuts
  2. 找到Go ForwardGo Back,并将它们设置为您喜欢的任何值。
  3. 如果一个快捷键被双重分配,VSCode会告诉你,你可以点击并更改/删除其他快捷键。如。通过快捷键已经分配给缩进和缩出。

gif显示设置新的键盘快捷键的过程

如。我们的主要工具是mac上的Android Studio,它使用cmd+[cmd+]来表示前进和后退)。这对于cmd+click钻取函数来说尤其强大。(因此,您可以像遵循弥诺陶洛斯迷宫中的阿里阿德涅线一样遵循您的代码。并帮助!(因此您可以在代码中跳跃,在函数中插入和跳出,然后在文件之间返回。

最后编辑位置v.最后导航位置

转到最后编辑位置:

# # 1 # 0 + 0 + # 3

这在sudormfbin的评论中提到了,但没有作为答案。这是我99%的时间想做的事情,当我想“我现在在哪里?”这是最简单、最快捷的方式回到你的上一个位置,而不需要你的手指离开键盘使用方向键,也不需要安装扩展等。

导航最近的光标位置:

ALT+ 后退

# 0 + # 1

大多数其他发布的解决方案都提到了这一点——在“导航位置”之间移动,即在编辑器选项卡之间或在编辑器内部导航(例如,你将光标移动到一行上,然后单击上面20个空格的一行)。

对于在编辑器选项卡之间导航,而不是上面的,你可以做Ctrl+选项卡,因为它会按照最近的顺序对所有选项卡进行排序,所以你可以选择去其他选项卡,或者只是释放并回到最后使用的选项卡。手指也不用离开键盘。