Visual Studio 2017中Alt+上移键移动行时屏幕滚动问题求助
解决Visual Studio 2017中CodeLens导致的代码行移动时屏幕滚动问题
我之前也被这个问题折腾过!在Visual Studio 2017里用Alt+↑和Alt+↓移动代码行时,屏幕跟着滚来滚去,完全打断思路——而且你已经确认是CodeLens在搞鬼,不用禁用它也能解决,给你几个亲测有效的办法:
办法1:调整CodeLens的更新设置
CodeLens实时更新引用信息可能是导致滚动异常的核心原因,降低它的更新频率就能缓解:
- 打开VS的选项面板:点击顶部菜单栏的
Tools > Options - 依次展开
Text Editor > All Languages > CodeLens - 尝试取消勾选Track references,或者把
Update interval改成On solution load only(仅在解决方案加载时更新),这样CodeLens不会频繁刷新,大概率能解决滚动问题
办法2:改用ReSharper的代码行移动功能
既然你已经在用ReSharper,它自带的行移动功能完全不受CodeLens影响,体验还更流畅:
- ReSharper默认的行移动快捷键是Ctrl+Shift+↑和Ctrl+Shift+↓,直接用这个组合键移动代码行,屏幕不会乱滚
- 如果习惯了Alt的组合键,也可以自定义快捷键:
- 打开ReSharper的设置:
ReSharper > Options > Environment > Keyboard & Menus - 在搜索框里输入
Move Line,找到Move Line Up和Move Line Down两个命令 - 分别给它们设置Alt+↑和Alt+↓的快捷键,覆盖VS原生的命令即可
- 打开ReSharper的设置:
办法3:清理CodeLens缓存文件
有时候缓存文件损坏也会引发奇怪的bug,清理一下试试:
- 完全关闭Visual Studio
- 打开文件资源管理器,输入路径:
%LOCALAPPDATA%\Microsoft\VisualStudio\15.0_<你的VS实例ID>\CodeLens(实例ID是一串随机字符,比如15.0_abc123) - 删除该文件夹下的所有文件,然后重启VS,CodeLens会重新生成缓存,滚动问题可能就消失了
问题演示:反复按下Alt+↑和Alt+↓时,代码行移动的同时屏幕会同步滚动,而预期仅移动代码行、保持屏幕位置不变。
内容的提问来源于stack exchange,提问作者Jordan
相关产品推荐
相关产品推荐

