Visual Studio 2010 IDE与极点五笔冲突的解决办法

    最近下载了并使用了Visual Studio 2010旗舰版,种种强大、方便之处,不一而足,此处不多谈。但有一个问题却困扰了许久——

    在编程过程中发现Visual Studio 2010的代码编辑器总出现一些莫名其妙的问题。例如,输入Try然后按Tab生成语句块之后,光标点击代码编辑器之外任何位置(包括工具栏、菜单),都会在原光标位置处再插入一个Try,此现象并不固定,有时是原来输入的一个单词,有时是一个字母,甚至你编写了一会程序生成并进行调试,都会在光标处插入一些乱七八糟的字符,而且有时蹦出异常,说可能是因为插件的问题导致的,要求你使用/log模式启动,然后到C:/Users/用户名称/AppData/Roaming/Microsoft/VisualStudio/10.0/ActivityLog.xml找到日志查询原因。按其建议,也确实找到了日志,打开看看,有异常记录,但于我等而言,这些日志却并不能解决问题。用试试看的心态,恢复VS的用户设置,修改了一些关于智能提示方式的选项,故障依旧。重新启动VS,按原来步骤一做,还有问题,又重新启动计算机,均无法有效解决……

    试验多次,不能找到原因,就向微软网站提交了Bug,反馈很及时,但却说是按中文提交的Bug不予受理,建议使用English再提交云云,算了,还是自力更生吧。去网上搜索Visual Studio 2010 IDE Bug、问题之类,均无令人满意的结果。冷静下来想,倘若这个问题确实是大家都经常遇到的(我几乎天天受此困扰),那么为什么在网上没有人提出来?既然大家都遇不到而我遇到,表明有可能和我计算机有关,确切说应该和软件环境有关。我用的是Win7,装有Office2010等,为了排除和其它程序的兼容性问题,将所有程序关闭后运行,仍有问题;又使用安装光盘将Visual Studio 2010重新安装,还不行,沮丧之极。有心卸载2010,实在心有不甘。但写程序的时候每次都出这种问题实在令人抓狂……已经深夜,反复试验很多方法,不能解决,中间也怀疑到输入法问题,目前机器上装的是极点五笔7.12,这个免费、强大的输入法软件已经用了很久,未发现过问题。怀疑其状态栏定位会不会影响Visual Studio 的IDE?试验一下,无论隐藏或显示状态栏都不行。正准备放弃这条路之际,忽然灵光一闪。输入法有时在打字的时候会出现一种情况,即想打英文,而实际在中文状态,这种情况下极点五笔有一种非常方便的切换方法,就是按Shift键。切换之后,有两种处理方式,一种是将已经输入的字母上屏,另一种则是取消刚才的输入……我则习惯后一种做法,特意用极点五笔的“专家模式”将其设置为丢弃原英文输入……难道问题就在这里?被极点忽略掉的字母,又被Visual Studio 2010 IDE中代码编辑器捕获,每次失去焦点,VS便自作主张地向里面又插入了一次被忽略的字母……也许有时候它自己也感觉这么来回插入不对劲,所以就异常了?

    为验证此想法,进行反复试验,不使用极点五笔输入法,纯英文模式,无论如何不出问题。切换至极点五笔输入法,可以重现。进一步,将英文切换改为上屏,则也不再出现此问题;改成不上屏,必出。于是认定,此问题乃是Visual Studio 2010的IDE与极点五笔7.12不兼容导致(其它版本极点未试验),极点将我们输入的字符“憋”在了内存里,而Visual Studio 2010非要把它拿出来不可,争来争去,就出毛病了……以前用极点其它版本与Visual Studio 2008时未发现过此类问题,也许就是这两个版本互相看不惯?这么幸运的机率竟然被我撞上了?实在是……!·#¥#¥%**—!

 

    为了避免有象我一样幸运的人为此问题而产生困惑,特将问题解决过程写出,以供参考吧。如果确实碰到此问题而不知道具体解决办法,可右键单击极点状态栏,选择“输入法设置——专家设置模式”,在打开的设置窗口中找到SwitchEnInput=0这一行,改为SwitchEnInput=1即可。有任何问题,欢迎讨论。

    最后呼吁:希望微软官方或极点能早日解决此问题!

你可能感兴趣的:(.NET技术)