让sublime text2 支持中文路径的文件
最近用mac下的sublime text2写c++文件,但是写了之后就是运行不了,刚开始照网上说的新建了building system,但是任然不行,而且sublime里已经自带了c++的building system。 打开控制台后发现有如下信息:
Traceback (most recent call last): File ".\sublime_plugin.py", line 230, in run_ File ".\exec.py", line 145, in run File ".\exec.py", line 42, in __init__ UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 52: ordinal not in range(128)
发现这是编码的问题,只要文件是中文名字或者路径带有中文就会出现上面的问题。接着按网上的办法更改 exec.py 里的代码
将45行
proc_env[k] = os.path.expandvars(v).encode(sys.getfilesystemencoding()) 改为 proc_env[k] = os.path.expandvars(v.decode(sys.getfilesystemencoding())).encode(sys.getfilesystemencoding())
可还是没用。 最后折腾半天终于找到了解决办法:
打开/application/content/mac os x/sublime_plugin.py,添加两行代码:
reload(sys) sys.setdefaultencoding('utf-8')
保存,退出,重启(一定要退出重启sublime)。 问题解决。 happy 的运行c++代码!