首页 > 其他分享 >sublime text3 修改 exec.py文件编译警告返回信息,去掉绝对路径

sublime text3 修改 exec.py文件编译警告返回信息,去掉绝对路径

时间:2024-07-04 17:09:59浏览次数:19  
标签:编译 working exec py text3 dir data sublime

第一步:找到 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.修改编译文件 "working_dir":"你自己要编译的文件的根目录",磁盘符号注意配置成小写字母,比如 d:\,不要写 D:\。

sublime text 3 erlang 编译配置示例:

文件名:erlang-xx.sublime-build

位置:C:\Sublime Text 3\Data\Packages\User

1 {
2     "cmd":["C:/erl9.3/bin/erlc", "-pa", "ebin", "+debug_info", "+{parse_transform, lager_transform}", "-I", "include", "-o", "ebin", "$file"],
3     "working_dir":"d:/workspace/server",
4     "file_regex":"^([^:]+):([0-9]*):?(.*):?(.*)",
5     "selector":"source.erl"
6 }
View Code

2.在 run 函数新加入 working_dir 变量

if wroking_dir != "":

  self.working_dir = working_dir
View Code

3.修改 on_data 函数

 1 lines = data.splitlines()
 2 
 3 working_dir = self.working_dir
 4 
 5 data_list = []
 6 
 7 for line in lines:
 8 
 9   line2 = "".join(line.split(working_dir))
10 
11   data_list.append(line2)
12 
13 data = "\n".join(data_list)
14 
15 data += "\n"
View Code

这个函数是执行 cmd 的时候把执行结果写到 text_queue 字符串里面,用于在编译结果上展示信息.

修改这个的原因是在sublime text 3 用 erl9.3 编译 erlang 文件的时候,编译的警告信息返回的是绝对路径,导致sublime text 3不用在代码文件上显示错误的位置,也不能通过错误信息跳转,但是换成 erl10.3 又是正常的,在网上搜了好几天都没找到解决方案,通过对比实验,自己琢磨出这样的修改方法,而且还生效了!sublime 又变得更顺手的工具了!

 

标签:编译,working,exec,py,text3,dir,data,sublime
From: https://www.cnblogs.com/cs_jin/p/18284142

相关文章

  • 【python学习笔记】Python装饰器
    装饰器参考:搞懂Python装饰器Python@wraps修饰器装饰器是什么有兴趣的可以参考PEP318的原文DecoratorsforFunctionsandMethods解释了语法用途以及设计出来装饰器的动机Thecurrentmethodfortransformingfunctionsandmethods(forinstance,declaringthem......
  • python教程:自定义函数
    1.多态我们可以看到,Python不用考虑输入的数据类型,而是将其交给具体的代码去判断执行,同样的一个函数(比如这边的相加函数my_sum()),可以同时应用在整型、列表、字符串等等的操作中。在编程语言中,我们把这种行为称为多态。这也是Python和其他语言,比如Java、C等很大的一个不同点......
  • Python教程:空值、无穷值判断之isna、isnull、isfinite
    一、空值isnaPands中NaN(Not-A-Number)视为空值,利用函数isna和notna进行判断。注意:不要利用是否等于None判断是否为空!importpandasaspdpd.NA==None#Falsepd.isna(pd.NA)#Truepd.isna(None)#Truepd.notna(pd.NA)#Falsepd.notna(None)#False二、......
  • Python教程:os.popen(cmd).read()查看后台进程并杀进程
    一、os.popen()方法1.使用语法os.popen()方法用于从一个命令打开一个管道。os.popen(cmd).read()获取执行后结果。os.popen(command[,mode[,bufsize]])#使用的命令#模式权限:默认'r'或者'w'#文件需要的缓冲大小0无缓冲1行缓冲其他数值以字节为单位负值使用系统......
  • Python多维列表(元组)合并成一维形式
    一.需求原格式:input=[[1,2,3],[4,5,6],[7,8,9]]目标格式:[1,2,3,4,5,6,7,8,9]二.方法1.sum函数合并input=[[1,2,3],[4,5,6],[7,8,9]]output=sum(input,[])print(output)#结果:[1,2,3,4,5,6,7,8,9]这个看上去很简洁,不过有类似字符串累加的性能陷阱。......
  • Python Linux源码安装
    保留服务器原Python安装版本,安装指定需求版本Python1.查看当前系统版本[root@iZbp1ac4pv22mg092qi2zfZ~]#cat/etc/system-releaseCentOSLinuxrelease7.9.2009(Core)2.查看已安装Python路径及版本[root@iZbp1ac4pv22mg092qi2zfZ~]#whichpython/usr/bin/python[ro......
  • 核磁共振光谱(Nuclear Magnetic Resonance Spectroscopy,简称NMR)
    核磁共振光谱(NuclearMagneticResonanceSpectroscopy,简称NMR)是一种强大的分析技术,用于确定分子结构、研究分子动力学以及分析样品的化学组分。以下是关于NMR光谱的详细介绍。1.基本原理NMR光谱基于原子核在磁场下的自旋行为。当某些原子核(如氢核和碳-13核)处于强磁场中时,它们......
  • 有趣的Python库——CowSay
    有趣的Python库——CowSay安装:pipinstallcowsay命令式使用:cowsay-cpig-t你好,我是一只猪哦!输出:__________|你好,我是一只猪哦!|==========\\\\,.(_|,......
  • 40个Python函数-助你快速成为编程高手
    40个Python函数-助你快速成为编程高手1、「len()」-返回对象的长度或项目数。length=len("Hello,World!")#返回132、「str()」-将对象转换成字符串。string_representation=str(123)#返回'123'3、「type()」-返回对象的类型。type_of_var=type......
  • 第15届蓝桥杯Python青少组选拔赛(STEMA)2023年8月真题-附答案
    第15届蓝桥杯Python青少组选拔赛(STEMA)2023年8月真题题目总数:11总分数:400真题下载点我百度网盘......