崇高なテキスト:ビルドコマンドのパスを出力しない


19

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にパスを出力しないように依頼するにはどうすればよいですか?


これは、標準エラー/デバッグ出力の一部にすぎないと思います。ただし、オプションまたはビルドフラグを使用して無効にする方法はわかりません
...-MattDMo

パス出力を無効にする代わりに、ビルド出力ウィンドウでワードラップを無効にすることができます。ビルドウィンドウがアクティブであることを確認してView -> Word Wrapから、無効にします。完全なソリューションではありませんが、Sublime Textの内部を変更するよりもはるかに簡単です。
アニシュパテル

回答:


12

ちょっとしたハックですが、次のことがうまくいきました。パス出力を担当するコードを含む、いくつかのデフォルトパッケージのコードをオーバーライドできることがわかりました。

  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を再起動

これは私のために仕事をしました:)
Stephn_R

6

PackageResourceViewerパッケージをインストールする

PackageResourceViewerを開く:CommandPalette [Ctrl + Shift + P]を使用してリソースを開く

次に、デフォルトを選択-> exec.py次に、崇高な入力を選択-> input.py [崇高な入力の場合]

私のために、365 [ST3 B3126](Sublime Inputの場合は383)の次の行をコメントアウト(行の先頭に#を配置)

self.append_string(proc, self.debug_text)

これはパスを隠すだけでなく、dirとcmdも隠します。

パスコメントのみを非表示にするには、次のブロック

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

更新

ビルドファイルのcmd、finished statement、dir、path "quiet":trueを削除するには

ソース


いいね!これを切り替える設定があればいいのに。のような"error_info": ["cmd", "dir", "path"]
ノーランコナウェイ

@NolanConawayがあります
SmartManoj

私を指差してもらえますか?ドキュメントに何も見つかりませんでした。
ノーランコナウェイ


@ SmartManojああ、はい、そのオプションについて知っています。しかし、それはまた、経過時間などが印刷されるのを防ぎます。私は本当にパスを削除したいだけです!
ノーランコナウェイ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.