Visual Studio 2017(VB)输入if加空格自动转为#If问题求助
if自动转为#If的问题 我之前也碰到过类似VS编辑器自动补全异常的情况,给你几个针对性的排查和解决步骤,应该能搞定这个困扰:
检查代码片段(Code Snippets)配置
这个问题大概率是代码片段的关联出了问题,#If是VB的预编译指令片段,可能被错误绑定到了普通if的触发上。操作路径:Tools→Options→Text Editor→Basic→Code Snippets
找到和"If"相关的片段,检查是否有异常的触发规则;也可以直接点击"Reset"按钮,把所有VB代码片段重置为默认值。重置VB编辑器的全部设置
如果排查单个设置没效果,直接重置编辑器配置更高效:Tools→Options→Import and Export Settings→Reset all settings
记得先备份自己的个性化设置,然后选择重置为VB开发环境的默认配置,完成后重启VS再测试。检查IntelliSense的自动补全行为
去Tools→Options→Text Editor→Basic→IntelliSense里,检查自动补全的相关选项:
确认"Auto list members"和"Parameter information"的设置是否正常,同时留意有没有开启和条件编译指令相关的特殊自动触发选项,尝试暂时关闭这些选项测试。修复VS2017安装
既然是更新后出现的问题,很可能是安装文件损坏导致的。打开Visual Studio Installer,选中你的VS2017实例,点击"Modify"后选择"Repair"。修复过程会替换损坏的组件,很多更新引发的奇怪问题都能通过这个方法解决。禁用第三方扩展排查干扰
第三方扩展有时候会干扰VS的核心编辑器功能。可以按住Ctrl键双击VS图标,选择以安全模式启动(此时所有扩展都会被禁用),如果问题消失了,就逐个启用最近安装的扩展,找出导致冲突的那个并禁用它。
内容的提问来源于stack exchange,提问作者AykutCanturk

