在Visual Studio编辑器中按下<ALT>+<ARROW_KEYS>会写入单个ASCII字符。

7

我使用VS2013作为我的IDE,自从安装以来,每当按下ALT和任何ARROW键时,它都会表现得非常奇怪。我使用ALT + LEFT和ALT + RIGHT向后/向前导航,在原则上可以工作,但一旦VS完成跳转,它就会写出一个单个字符。

这是跳转之前:

before the jump

这是跳转之后/按下ALT+LEFT的结果: 跳转之后

以下是正在输入的字符:

  • ALT+UP: ◘
  • ALT+RIGHT: ♠
  • ALT+DOWN: ☻
  • ALT+LEFT: ♦

我在工作中一直使用VS2013,但从未见过这种情况。我知道按下ALT+NUMPAD_KEYS可以产生ASCII字符,但为什么我的箭头键会出现这种情况,而且只有在VS中出现?显然,对于我来说,ALT+UP与按下ALT+6是相同的(http://www.irongeek.com/alt-numpad-ascii-key-combos-and-chart.html)。我甚至更换了键盘以查看是否与键盘有关。但没有成功。

有任何想法吗?

更新 1:
看起来这位朋友在Windows上使用Eclipse时也遇到了类似的问题:
https://superuser.com/questions/668394/turn-off-alt-numeric-keypad-ascii-symbol-insertion
不幸的是,他的帖子没有得到回答。

更新 2/解决方案:

根据'Hans Passant'的评论,我找到了一个解决方案。请参见下文了解详情。


如果您在记事本中按下键,会发生同样的事情吗? - Rots
是的。在VS中,按下ALT+RIGHT和ALT+NUMPAD_6会得到相同的字符。 - Sven M.
好的。那么问题不在于Visual Studio,而是其他应用程序/Windows设置中。 - Rots
难道不应该反过来吗?因为只有在VS中按ALT+RIGHT时才会产生这个ASCII字符。我在其他地方无法复制它。 - Sven M.
3
这当然是一个环境问题,你安装了某种键盘钩子,它有一个将光标键转换为小键盘键的Bug。这会导致扫描码出现错误,可能是个严重问题。你可以使用任务管理器的进程选项卡开始终止进程以找到罪魁祸首。 - Hans Passant
https://github.com/Microsoft/vscode/issues/22364 - Danny Varod
1个回答

5
我已经找到原因,感谢Hans Passant。
我进行了诊断启动,发现问题仍然存在。然后我继续关闭所有剩余的进程,直到我找到了答案:
这个进程被删除后,ALT+ARROW_KEYS就不再触发ASCII符号插入。为了消除此进程,我总共做了两件事:
1.重新安装.NET Framework 4.5.1
2.重命名/删除此文件:C:\Windows\Microsoft.NET\Framework\v2.0.50727\RegSvcs.exe 在启动Windows时,没有与该特定可执行文件相关的错误,并且我也没有注意到其他故障。为了确保安全,我运行了几个病毒/恶意软件清除工具,它们都未检测到任何威胁。

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