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 又变得更顺手的工具了!

 

posted on 2024-07-04 16:58  cs_jin  阅读(31)  评论(0)    收藏  举报

导航