ChatGPT解决这个技术问题 Extra ChatGPT

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

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

如果它是我习惯使用的通常的 VS 键盘映射,那就是 Ctrl -
在 Visual Studio Code 中,该快捷方式对应于“缩小:
我认为您在这里混淆了 Mac OSX 和 Windows 默认设置。 CTR + - 实际上是 OSX 上的快捷方式,而 CMD + - 确实缩小了那里。
使用 Visual Studio 键盘映射扩展 - marketplace.visualstudio.com/…
从 VS Code 1.28 开始,您可以使用 Ctrl+K Ctrl+Q - code.visualstudio.com/updates/… 转到最后一个 edit 位置

P
Peter Mortensen

键盘快捷键命令是前进和后退。

在 Windows 上:

Alt + ← ... 向后导航

Alt + → ... 向前导航

在 Mac 上:

Ctrl + - ... 向后导航

Ctrl + Shift + - ... 向前导航

在 Ubuntu Linux 上:

Ctrl + Alt + - ..,向后导航

Ctrl + Shift + - ... 向前导航


我想知道为什么微软决定使用与普通视觉工作室不同的热键。这是非常烦人的切换,必须来回切换。
你能用鼠标做到这一点吗?在其他 IDE 中,后退手势/按钮也会向后导航。
不幸的是,有点烦人的windows绑定:(拥有与visual studio相同的东西会很好。
左边的 Alt+箭头在 Windows 上对我不起作用(它的作用类似于 Ctrl+箭头),只有右边的 Alt+箭头可以达到预期的效果。谁知道是什么奇怪的 ThinkPad 键盘魔法导致了这种情况。
@RayLoveless VS Code 由 Microsoft 制作,因此 Windows 快捷方式是默认设置。 Alt+← 是 linux 和 mac 上的系统快捷方式,因此他们不得不更改它。
P
Peter Mortensen

我在 Mac OS X 上,所以我无法为 Windows 用户回答:

我添加了一个自定义键盘映射条目并将其设置为 Ctrl + ← + Ctrl + →,而原始默认值是 Ctrl + - 和 Ctrl + Shift + - (在我的德语键盘上转换为 Ctrl + ß 和 Ctrl + Shift+ß) .

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

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

对于公认的答案,我真的想知道:) Alt + ← / Alt + → 对我来说逐字跳转(这是所有编辑器的标准)。他们真的为 Windows 版本做了这个映射吗?


Ctrl+LeftCtrl+Right 保留用于在全屏之间切换,不是吗?
@duong_dajgja 我在 Ctrl+Option+Command Left/Right 上有那个。大多数人通常只会在触控板上使用三指擦拭。我不确定新安装的 OS X Sierra 中的“原始”默认值是什么。至少 OS X 中没有任何保留。您可以在系统偏好设置“键盘 -> 任务控制”中轻松更改它。
使用它来进行这些更改code.visualstudio.com/docs/getstarted/…
有没有办法可以分配我的鼠标前进和后退按钮来导航?
很好的答案。您也可以通过 File → Preferences → Keyboard Shortcuts 然后搜索 Go Back and Go Forward 找到它
W
Warren Parad

根据 Key Bindings for Visual Studio Code 中的信息,这对于每个操作系统都会有所不同。

工作台配置:

返回:workbench.action.navigateBack 前进:workbench.action.navigateForward

Linux:

后退:Ctrl+Alt+- 前进:Ctrl+Shift+-

Mac OS X:

后退:Ctrl + - 前进:Ctrl + Shift (⇧) + -

视窗:

后退:Alt + ⬅️ 前进:Alt + ➡️


我正在使用 linux,默认键盘映射不起作用。我修改为 Alt+Left 并像魅力一样工作。
这应该是公认的答案:)
t
the Tin Man

要回答您的问题,对于:

Windows 使用 Alt+← 向后导航,使用 Alt+→ 向前导航。 macOS 使用 Ctrl+- 向后导航,使用 Ctrl+Shift+- 向前导航。 Linux 使用 Ctrl+Alt+- 向后导航,使用 Ctrl+Shift+- 向前导航。

您可以在“Keyboard Shortcuts editor”中找到当前的键绑定。

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


您已经切换了 windows 和 mac 绑定。
正如perrier所说,您已经切换了窗口和mac
P
Peter Mortensen

对于 macOS:

⌘ + U:撤消上一次光标操作

您也可以尝试 Ctrl + -。

顺便说一句,所有快捷方式都在 Keyboard shortcuts for macOS 中。这真的很有用!


非常感谢这个答案!虽然所有其他人实际上都告诉您如何在不同的文件中来回导航,但我对导航光标历史感兴趣。您可以添加(尽管这很明显)有一个重做光标操作来配合它。
V
Vikas Sardana

所有平台都有一个名为 Code-Navigation 的扩展。作为键盘快捷键的替代方法,它在状态栏的左侧添加了按钮。

https://i.stack.imgur.com/q69ae.gif

https://i.stack.imgur.com/Hb7Ir.png


我认为这是这里所有答案中最好的答案
辉煌漂亮的分机!
P
Peter Mortensen

Mac 操作系统 (MacBook Pro):

返回:Ctrl(控制)+ -(连字符)

后退:Ctrl + Shift + -(连字符)


P
Peter Mortensen

使用 Alt + ← / →

您可以在 Key Bindings for Visual Studio Code 中找到所有快捷方式。


P
Peter Mortensen

作为键盘快捷键的替代方法,有一个名为“Back and Forward buttons”的扩展程序,可将前进和后退按钮添加到状态栏。


d
drpawelo

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

打开设置:代码 > 首选项 > 键盘快捷键查找前进和后退并将它们设置为您喜欢的任何内容。如果一个快捷键是双重分配的,VSCode 会告诉你,你可以点击并更改/删除其他快捷键。例如。 by 快捷方式已分配给缩进和缩进。

https://i.stack.imgur.com/YxETt.gif

例如。我们的主要工具是 Mac 上的 Android Studio,它使用 cmd+[cmd+] 进行前进和后退)。这对于用于钻取函数的 cmd+click 尤其强大。 (这样您就可以像在 Minotaur 迷宫中的 Ariadne 线程一样跟踪您的代码。确实有帮助!(所以您可以在代码中跳转,深入和退出函数,并在文件之间返回。


P
Peter Mortensen

您可以转到菜单文件 → 首选项 → 键盘快捷键。到达那里后,您可以搜索导航。然后,您将看到为您的 Visual Studio Code 环境设置的所有与导航相关的快捷方式。就我而言,只有 Alt + - 才能让我的光标返回。


Linux 上的 Ctrl + Alt + -Ubuntu MATE 20.04 (Focal Fossa) 上的 Visual Studio Code 1.54.3)。
M
Myk Willis

虽然 accepted answer 是正确的,但使用 Vim extension for VS Code 的任何人都可能会因为向后导航会带您完成您所做的每一个光标移动而感到沮丧。这可以防止“返回”在以下用例中正常工作:

转到定义 在定义处戳一会儿(即,移动光标) 返回到您在步骤 1 中的位置。

安装了 Vim 扩展后,每次光标移动都会卡在“返回”(对我来说,这足以让它几乎毫无用处!)。

幸运的是,Vim 扩展很好地实现了 jumplists,所以在使用 VS Code 跳转到新位置(即“转到定义”)后,您可以简单地执行 CTRL+O< /kbd> 返回上一个跳转位置。


M
Mark

vscode v1.65 添加了许多新命令,用于导航到上一个/下一个编辑位置或上一个/下一个光标位置。

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

默认情况下,每当您在编辑器之间导航时以及在编辑器中导航时(例如,在切换笔记本单元格或更改文本编辑器中的选择时),都会添加编辑器导航位置。如果您觉得记录的位置过多,则添加了新的命令,可将位置减少为: 导航位置(例如使用转到定义时) 编辑位置(无论何时更改编辑器,例如在文本编辑器中键入时) )

来自 https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_65.md

光标位置:

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"

添加了关联的上下文键以使分配键绑定更强大: canNavigateBackInNavigationLocations:是否可以在导航位置返回 canNavigateForwardInNavigationLocations:是否可以在导航位置前进 canNavigateToLastNavigationLocation:是否可以转到最后一个导航位置canNavigateBackInEditLocations:在编辑位置是否可以返回 canNavigateForwardInEditLocations:在编辑位置是否可以前进 canNavigateToLastEditLocation:是否可以到最后一个编辑位置


P
Peter Mortensen

使用 Visual Studio Code 1.43 (Q1 2020),那些 Alt+ / Alt+Ctrl+- / Ctrl+Shift+- 也会... 保留选择

请参阅issue 89699

Benjamin Pasero (bpasero) 补充说:

后退/前进会按原样恢复选择。请注意,为了获得历史条目,位置之间需要至少有 10 行才能将该条目视为新条目。

https://i.stack.imgur.com/19xSo.gif


A
Ashan Priyadarshana

在 vs 代码中有几种返回方式和返回选项。

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

https://i.stack.imgur.com/6J4Sr.png

然后您需要做的就是单击“设置”图标(如图中 2 所示)并将键绑定更改为您想要的任何内容。

您可以返回不同的选项:

Go to the Last Edit Location Cursor Undo(意思是:转到最后一个光标位置) Cursor Redo(与上述相反)