sublime text3 修改 exec.py文件编译警告返回信息,去掉绝对路径
第一步:找到 exec.py 文件
1.找到路径:C:\Sublime Text 3\Packages。
2.找到 Default.sublime-package 复制一个备份,后缀改成 Default.rar 并且解压缩,在解压缩文件里面找到 exec.py 文件。
3.复制 exec.py 文件到 C:\Sublime Text 3\Data\Packages\User 下面,或者从编辑器上面打开路径,Preferences -> Browse Packages...,再打开 User。
第二步:修改 exec.py 文件
1.修改编译文件
sublime text 3 erlang 编译配置示例:
文件名:erlang-xx.sublime-build
位置:C:\Sublime Text 3\Data\Packages\User
1 { 2 "cmd":["C:/erl9.3/bin/erlc", "-pa", "d:/server/ebin", "+debug_info", "+{parse_transform, lager_transform}", "-I", "d:/server/include", "-o", "d:/server/ebin", "$file"],
4 "file_regex":"^([^:]+):([0-9]*):?(.*):?(.*)", 5 "selector":"source.erl" 6 }
2.在 run 函数新加入 working_dir 变量,第227行 working_dir 重新赋值之后
1 self.working_dir = working_dir
3.修改 on_data 函数
1 lines = data.splitlines() 2 working_dir = self.working_dir 3 working_dir = working_dir[0].lower() + working_dir[1:] 4 working_dir = working_dir.replace('\\', '/') + '/' 5 data_list = [] 6 for line in lines: 7 line2 = "".join(line.split(working_dir)) 8 data_list.append(line2) 9 data = "\n".join(data_list) 10 data += "\n"
这个函数是执行 cmd 的时候把执行结果写到 text_queue 字符串里面,用于在编译结果上展示信息.
修改这个的原因是在sublime text 3 用 erl9.3 编译 erlang 文件的时候,编译的警告信息返回的是绝对路径,导致sublime text 3不用在代码文件上显示错误的位置,也不能通过错误信息跳转,但是换成 erl10.3 又是正常的,在网上搜了好几天都没找到解决方案,通过对比实验,自己琢磨出这样的修改方法,而且还生效了!sublime 又变得更顺手的工具了!
浙公网安备 33010602011771号