使用Sublime Text 2构建系统与SQL * Plus和Oracle

时间:2014-04-18 21:50:51

标签: regex oracle sublimetext2 sqlplus sublimetext

我试图设置Sublime Text 2,以便我可以编写我的Oracle包,触发器,函数等。我让构建系统编译我的代码就好了。现在我正在尝试让Sublime Text在发生错误时将我带到确切的行/列位置。为此,您必须使用file_regex选项 documented here

  

file_regex选项使用Perl样式的正则表达式进行捕获   来自构建程序的最多四个错误信息字段   输出,即:文件名,行号,列号和错误   信息。使用模式中的组来捕获此信息。该   文件名字段和行号字段是必需的。

我的问题似乎是filename,这是第一个必需品。 我的问题就在最底层,但是让我告诉你一切是如何设置的,因为其他人可能觉得这很有用。

这是我的构建系统(compileSql.sublime-build)...

{
    "cmd": ["c:\\projectX\\compileSql.bat", "$file"],
    "file_regex": "^([0-9]+)/([0-9]+)"
}

这是compileSql.bat。所有这一切都是它创建一个名为runFile.txt的新文件,其中包含我目前在Sublime文本中处理的文件,除了它使用set defined off;启动文件,然后我的代码,然后结束与show errors;然后登录并编译包(触发器,函数,等等)......

@echo set define off; > c:\projectX\runFile.txt
type %1 >> c:\projectX\runFile.txt
@echo show errors; >> c:\projectX\runFile.txt
sqlplus -s {user}/{pwd}@{database} @c:\projectX\runFile.txt

所以我要做的就是按 F7 并为我编译...... enter image description here

但是当我收到错误时,这就是结果...... enter image description here

当我点击错误时,不会将我带到该行号。相反,它会打开一个名为8的文件。所以回到我的构建系统,我知道问题在于:"file_regex": "^([0-9]+)/([0-9]+)"Sublime Text 2要求第一个匹配的模式为文件。这是我不能理解的部分,为什么需要知道这一点?这是我正在处理的文件,我刚刚按下 F7 的文件。因此,在正则表达式([0-9]+)/([0-9]+)之前需要有一些东西,我不知道该放在那里。

0 个答案:

没有答案