Sublime Text:不打印构建命令的路径

Sublime Text:不打印构建命令的路径

我在 Sublime Text 3 中为 JavaScript 文件提供了以下构建脚本。

{
  "shell_cmd": "node --harmony --use-strict --harmony_generators $file"
}

问题是,当节点返回错误时,由于某种原因,Sublime 会吐出不换行的路径,并污染输出。

C:\Users\JFD\Desktop\playground.js:2
console.log(b); // ReferenceError: a is not defined
        ^
ReferenceError: b is not defined
    at Object.<anonymous> (C:\Users\JFD\Desktop\playground.js:2:13)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:349:32)
    at Function.Module._load (module.js:305:12)
    at Function.Module.runMain (module.js:490:10)
    at startup (node.js:119:16)
    at node.js:827:3
[Finished in 0.1s with exit code 8]
[shell_cmd: node --harmony --use-strict --harmony_generators C:\Users\JFD\Desktop\playground.js]
[dir: C:\Users\JFD\Desktop]
[path: C:\Program Files (x86)\Microchip\xc8\v1.11\bin;C:\Program Files (x86)\CMake 2.8\bin;C:\MinGW\bin;C:\yagarto4.6.0\bin;C:\Python26\;C:\Python26\Scripts;C:\Program Files (x86)\Altium Designer S09 Viewer\System;C:\PROGRA~2\MpAM;C:\windows\system32;C:\Program Files\nodejs\;C:\Cadence\SPB_16.6\tools\bin;C:\Cadence\SPB_16.6\tools\libutil\bin;C:\Cadence\SPB_16.6\tools\fet\bin;C:\Cadence\SPB_16.6\tools\specctra\bin;C:\Cadence\SPB_16.6\tools\pcb\bin;C:\Cadence\SPB_16.6\openaccess\bin\win32\opt;C:\Cadence\SPB_16.6\tools\capture;C:\Users\JFD\AppData\Roaming\npm\;c:\altera\12.1\modelsim_ase\win32aloem;c:\altera\12.1sp1\modelsim_ase\win32aloem;c:\altera\12.1sp1\modelsim_ae\win32aloem]

我该如何要求 Sublime不是输出路径?

答案1

有点儿像 hack,但下面的方法对我有用。事实证明,你可以覆盖某些默认包中的代码,包括负责路径输出的代码:

  1. 转到 C:\Program Files\Sublime Text 3\Packages
  2. 解压 Default.sublime-package(它实际上是一个 zip 文件)并获取文件 exec.py(不要将解压的文件夹留在目录中)
  3. 在 C:\Users\USERNAME\AppData\Roaming\Sublime Text 3\Packages 下创建目录 Default,并将 exec.py 放入其中
  4. 打开 exec.py,注释掉(在行首放置 #)以下行,对我来说是第 245 行

    self.append_string(proc,self.debug_text)

  5. 重启 Sublime Text

答案2

安装包资源查看器包裹

打开 PackageResourceViewer:使用 CommandPalette[Ctrl+Shift+P] 打开资源

然后选择默认-->exec.py 然后选择 Sublime Input -->input.py [对于 Sublime Input]

注释掉(在行首放置 #)以下行,对我来说是第 365 行 [ST3 B3126](Sublime Input 为 383)

self.append_string(proc, self.debug_text)

这不仅隐藏了路径,还隐藏了目录和cmd。

要仅隐藏路径,请注释以下块

if "PATH" in merged_env:
  self.debug_text += "[path: " + str(merged_env["PATH"]) + "]"
else:
  self.debug_text += "[path: " + str(os.environ["PATH"]) + "]"

更新

在构建文件中删除 cmd、finish 语句、dir、path“quiet”:true

来源

相关内容