44

我是 Visual Studio 中 Intellisense 的重度用户。我也是一个“把手放在键盘上”和“让它们保持在原位”的爱好者,所以我一直在寻找方法让我的手ASDF   JKL;尽可能地集中在按键上。

每当在 Visual Studio 中弹出 Intellisense 列表时,如果列表中有许多单词以与我要选择的单词相同的字母开头,则键入前几个字母以在我的选择中磨练没有帮助,因为在我输入足够的字符以最终到达单词中的第一个唯一字符之前,列表不会跳转到我的首选选择。将右手从JKL;按键上移开并伸手向上/向下箭头键以手动滚动列表通常会更快。

我宁愿将双手保持在原位,理想情况下使用JK键之类的东西在 Intellisense 列表中上下移动(类似于JK在 Vim 中上下移动的方式......特别是因为我在里面使用 VsVim视觉工作室)。

MSDN Intellisense 文档仅列出了向上/向下箭头键和滚动(鼠标滚轮、/PgUpPgDn等)作为执行此操作的选项: 在此处输入图像描述


所以这是我的问题(按优先顺序):

  1. Visual Studio 中是否有任何现有的键盘快捷键允许您在滚动 Intellisense 列表时将手保持在原位?

  2. 有没有办法自定义映射键盘键(例如JK)以在 Intellisense 列表中进行向上/向下滚动?

  3. 是否有启用此功能的插件?

  4. 有没有其他方法可以做到这一点?

4

6 回答 6

36

我已经重新映射CTRL+PEdit.LineUpCTRL+NEdit.LineDown,这在 Intellisense 下拉列表中有效。由于某种原因,Intellisense 下拉菜单在按下时会变暗,CTRL因此很难看到下拉菜单中的内容。不过这不是什么大问题,因为你总是可以释放CTRL它,它会再次亮起。当我不知道方法的名称并想浏览它时,我主要使用此方法。

如果我知道名称或名称的一部分,通常只需在方法名称中键入一些字母会更快。例如,如果我知道我想要的方法的名称是 GetHashCode,那么我只需键入“geh”或“has”或类似名称,因为这将由智能感知匹配。

于 2013-09-11T14:50:49.727 回答
11

花 30 美元买个二手 Kinect,然后将语音命令或头部手势映射到鼠标滚动事件。SDK 非常易于使用。您可以说头部倾斜是向左滚动还是向右滚动。

SDK http://www.microsoft.com/en-us/kinectforwindows/develop/developer-downloads.aspx

文档 http://www.microsoft.com/en-us/kinectforwindows/develop/learn.aspx

示例项目 http://channel9.msdn.com/coding4fun/kinect

你只受限于你的想象力。

于 2013-08-09T19:27:30.897 回答
3

我不确定您更喜欢使用哪种键盘,但是否可以选择带有拇指可访问滚轮的键盘?或者像Microsoft Natural Ergonomic 4000之类的东西,它本身就是一个非常棒的键盘,但有一个缩放滑块,你的食指可以在首页上使用它。通过一些工作,您可以将缩放功能更改为向上滚动和向下滚动。

于 2013-09-11T15:07:05.613 回答
3

我希望完成 Doktorn 在 Visual Studio Code 中建议的相同操作,因此我将把解决方案放在这里以防万一有人需要。

您必须在 keybindings.json 中添加两个新的键绑定:

[
    { "key": "alt+j",                    "command": "selectPrevSuggestion",
                                         "when": "suggestWidgetVisible" }, 
    { "key": "alt+k",                    "command": "selectNextSuggestion",
                                         "when": "suggestWidgetVisible" }                                                                                 
]
于 2017-07-03T19:58:03.350 回答
0

此方法适用于 VSCode for Windows 10,最新版本。就像向上和向下箭头一样工作。

    {
        "key": "alt+j",
        "command": "selectNextSuggestion",
        "when": "suggestWidgetMultipleSuggestions && suggestWidgetVisible && textInputFocus"
    },
    {
        "key": "alt+k",
        "command": "selectPrevSuggestion",
        "when": "suggestWidgetMultipleSuggestions && suggestWidgetVisible && textInputFocus"
    }
于 2019-08-28T23:39:27.397 回答
-1

这个!

当我的手离开键盘时,90% 的时间都是在使用方向键,通常是为了接受智能感知建议。

所以自动热键。下面的脚本为我提供了在所有应用程序中都相同的箭头键!我把它们放在第一排右手边,以尽量减少碰撞,同时仍然符合人体工程学。一个脚本在 SSMS、Visual 和 Visual Code 以及其他所有内容中执行相同的操作。

ctrlu 向上

ctrli

ctrlo 剩下

ctrlp 正确的

奇迹般有效。这对我来说绝对是基本的。唯一的摩擦是默认情况下它将以正常权限运行,因此在您以管理员身份启动的程序中将不可用。如果需要,请将 autohotkey 设置为以管理员身份运行。每次启动时您都会收到 UAC 提示,但您会一直使用箭头键。Autohotkey 在应用程序获取组合键之前拦截它们,因此您将丢失映射到这些键的应用程序快捷方式。在 VS Code 中,ctrlp这是必不可少的,但ctrle做同样的事情。

# ArrowKeys.ahk

^u::
Send,{up}
Return

^i::
Send,{down}
Return

^o::
Send,{left}
Return

^p::
Send,{right}
Return
于 2020-01-31T00:04:41.377 回答