You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Visual Studio Community 18.4.0快捷键Ctrl+/触发异常是否为Bug?

Razor页面中Ctrl+/快捷键触发字符串清空的原因及解决办法

环境信息

  • Windows 11 Pro
  • Visual Studio Community 18.4.0

问题复现代码

@{
    var str = "/*";

    Console.WriteLine("Hello World"); // <-- 将插入点置于此行末尾

    str = "*/";
}

问题描述

将光标定位到Console.WriteLine("Hello World");行的末尾,按下Ctrl+/快捷键后,上下两行的var str = "/*";和str = "*/";会被修改为空值。

原因分析

这不是Visual Studio的Bug,而是Ctrl+/快捷键的块注释识别逻辑导致的:

  • Ctrl+/在Visual Studio中默认是「切换行注释/块注释」的快捷键
  • 代码中存在的"/*"(块注释起始标记)和"*/"(块注释结束标记)字符串,被编辑器误判为块注释的边界
  • 触发快捷键时,编辑器试图将这两个标记之间的内容(包括标记所在行)按块注释逻辑处理,最终导致字符串内容被清空

解决办法

  • 修改字符串写法:避免直接写出完整的块注释标记,比如拆分字符串规避识别:
    var str = "/" + "*";
    str = "*" + "/";
    
  • 精准触发行注释:选中目标行后再按下Ctrl+/,确保编辑器只对选中行添加行注释,不会误触块注释逻辑
  • 修改快捷键绑定:打开Visual Studio的「工具 -> 选项 -> 键盘」,搜索「Edit.ToggleLineComment」,重新绑定一个无冲突的快捷键

内容的提问来源于stack exchange,提问作者user3163495

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.11 10:22:05