最近从日本人手里拿到了一个vc的工程,打开一开,果然注视都是乱码。
是的,他们使用的编码是shift-js。
可是Visual Studio 2008中,要在哪里设置文件编码呢? 他不像Eclipse那样在工程的属性也签里面。
后来我google到了msdn上的这篇文章:
How to: Save and Open Files with Encoding
原来右键某一文件,里面有个【Open With...】按钮。打开一看,默认的打开方式是【C++ Source Code Editor】,微软还提供了另外一种打开方式【C++ Source Code Editor(with encoding)】。使用他并选择我们想要的编码即可。 文件菜单中的打开已经保存操作也都类似。
对每个文件都执行这一系列操作实在是麻烦,对这一问题的解,我本来是期待微软的一个选项,或者是一个插件。
可是我只找到了【Tools - Options - Environment - International Settings】这么一个选项。
而这个选项只有两个值能够选择,一个时English,一个是Same as Microsoft Windows
可我的os是chs,我要打开的文件是jpn....(如果大家知道更好的方法的话请告诉我 ^-^),
于是乎,我便写了一个AutoHotKey脚本自动化他。
使用的方法很简单,首先选中文件,接着按F12即可以shift-js打开该文件。
在弹出编码选择对话框时,也可按F12,直接选择shift-js。
(对于其他编码方式,脚本需要微调。)
; enhance visual studio 2008 ; open file with shift-js enconding #IfWinActive ahk_class wndclass_desked_gsk $F12:: Send, {APPSKEY}n Sleep, 500 MouseClick, left, 50, 77 Sleep, 100 ;Send, {DOWN}{ENTER} Send,{ENTER} Sleep, 500 ;WinWait, Encoding, ;IfWinNotActive, Encoding, , WinActivate, Encoding, ;WinWaitActive, Encoding, IfWinActive, Encoding { Send, {TAB}{TAB} Sleep, 100 Send, j{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{ENTER}{ENTER} ; Send, {TAB}{TAB}j{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN} return } return #IfWinActive ; shortcut just for select shift-js encoding #IfWinActive ahk_class #32770 $F12:: Send, {TAB}{TAB} Sleep, 100 Send, j{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{ENTER}{ENTER} return #IfWinActive