当光标位于编辑器窗口的顶部时,如果按Page Down,VS Code只会将光标移动到窗口的最后一行。它需要第二次向下翻页键才能真正滚动到下一页。
我可以将VS代码配置为在第一次按键时滚动,这样它就可以像less、nano、vim、emacs和其他一样工作吗?我记得唯一一个像VS代码一样滚动的编辑器是程序员记事本。
使用Ubuntu-20.04上新安装的VS代码1.69,在编辑.cpp文件时使用来自Microsoft的C++扩展名。
使用Extra-context v0.3.0和上下文变量extraContext:editorSelectionStartLineRelativeVisibleTop
以及扩展多命令在行号上创建pageDown
的密钥绑定和when
上下文测试
{
"key": "pagedown",
"command": "extension.multiCommand.execute",
"when": "textInputFocus && extraContext:editorSelectionStartVisible && extraContext:editorSelectionStartLineRelativeVisibleTop < 3",
"args": {
"sequence": [
"cursorPageDown",
"cursorPageDown",
"cursorPageUp"
]
}
}
VSC中存在一个错误,无法使此密钥绑定每次都工作。在修复之前,您可以先使用ArrowLeft
或ArrowRight
,然后再按PageDown
来查看效果。
编辑
这不是VSC中的错误,而是在错误的时间使用了可见范围。
"选择"one_answers"可见范围"在不同时间更新。
扩展v0.4.1修复了这种行为。
在键绑定中添加了cursorPageUp
,使光标保持在屏幕顶部。