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

VS2019编写VB时自动将select更正为Select Case的解决方法

Visual Studio 2019 中VB代码select自动替换为Select Case修复方案

这个异常替换和VsVim插件无直接关联,是VB编辑器自带的代码片段自动提交机制触发的识别偏差:IDE对select关键字的上下文判断存在bug,在未完成的LINQ查询、失活的字符串/注释块中,会优先匹配优先级更高的Select Case代码片段,在按回车换行时自动完成替换。

临时快速处理

  • 输入select后需要换行时,先按一次Esc关闭弹出的智能提示列表,再按回车就不会触发自动替换。
  • 如果已经被替换为Select Case,直接按Ctrl+Z撤销一次即可,本次编辑会话内不会再重复触发该位置的替换。

永久修复方案

方案1:调整自动完成触发规则(推荐,不影响正常编码效率)

  1. 打开顶部菜单栏「工具」→「选项」
  2. 左侧导航依次展开「文本编辑器」→「Basic」→「高级」
  3. 取消勾选以下两项配置:
  • 换行时提交自动完成
  • 按 Tab 键时提交代码片段
    配置生效后,所有代码片段、关键字自动补全都不会在按回车/Tab时强制提交,需要手动选中对应补全项才会插入,从根源避免误替换。

方案2:修改Select Case代码片段触发快捷键(保留自动补全体验)

如果不想关闭自动提交功能,可以单独调整冲突片段的触发词:

  1. 打开「工具」→「代码片段管理器」,语言选择「Basic」
  2. 在片段列表里找到「条件和循环」分类下的Select Case片段,点击查看本地存储路径
  3. 打开路径下对应的.snippet文件,找到<Shortcut>select</Shortcut>节点,把值改成selectcase或者其他自定义触发词,保存后重启Visual Studio
  4. 之后只有输入修改后的触发词才会调出Select Case片段,输入select时会默认匹配LINQ查询的Select关键字,不会出现误替换。

方案3:修复字符串/注释内误触发问题

在「文本编辑器」→「Basic」→「高级」设置页,取消勾选「字符串和注释中启用自动完成」相关选项,IDE就不会在字符串字面量、注释块内触发代码片段补全逻辑,解决注释掉SQL变量定义后字符串内select被替换的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 01:54:33