Teks luhur: Jangan cetak path perintah build

19

Saya memiliki skrip build berikut untuk file JavaScript di Sublime Text 3.

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

Masalahnya adalah ketika node mengembalikan kesalahan, untuk beberapa alasan Sublime akan memuntahkan path, yang tidak membungkus baris, dan mencemari output.

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]

Bagaimana saya bisa meminta Sublime untuk tidak menampilkan jalur?

Randomblue
sumber
Saya pikir ini hanya bagian dari output kesalahan / debugging standar. Saya tidak tahu cara untuk menonaktifkannya melalui opsi atau membuat bendera, meskipun ...
MattDMo
Alih-alih menonaktifkan output path, Anda dapat menonaktifkan bungkus kata di jendela build output. Pastikan jendela build aktif, lalu lakukan View -> Word Wrapuntuk menonaktifkannya. Meskipun bukan solusi yang sempurna, ini jauh lebih sederhana daripada memodifikasi internal Sublime Text.
anishpatel

Jawaban:

12

Sedikit peretasan, tetapi yang berikut ini berhasil untuk saya. Ternyata Anda dapat mengganti kode di beberapa paket default, termasuk kode yang bertanggung jawab untuk output path:

  1. Pergi ke C: \ Program Files \ Sublime Text 3 \ Packages
  2. Extract Default.sublime-package (ini sebenarnya file zip) dan dapatkan file exec.py (jangan biarkan folder yang diekstrak nongkrong di direktori)
  3. Buat direktori Default di bawah C: \ Users \ USERNAME \ AppData \ Roaming \ Sublime Text 3 \ Packages, dan tempat exec.py ke dalamnya
  4. Buka exec.py, dan beri komentar (tempat # di awal baris) baris berikut, di baris 245 untuk saya

    self.append_string (proc, self.debug_text)

  5. Mulai Ulang Teks Sublim
William Saunders
sumber
Ini berhasil bagi saya :)
Stephn_R
6

Instal paket PackageResourceViewer

Buka PackageResourceViewer: Sumber Daya Terbuka menggunakan CommandPalette [Ctrl + Shift + P]

Kemudian Pilih Default -> exec.py Kemudian Pilih Input Sublime -> input.py [Untuk Input Sublime]

Mengomentari (tempat # di awal baris) baris berikut, di baris 365 [ST3 B3126] (383 untuk Input Sublime) untuk saya

self.append_string(proc, self.debug_text)

Ini tidak hanya menyembunyikan jalan tetapi juga dir dan cmd.

Untuk menyembunyikan hanya jalur komentar blok berikut

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

Memperbarui

Untuk menghapus cmd, pernyataan selesai, dir, path "quiet": true di build file

Sumber

SmartManoj
sumber
Bagus! Saya berharap ada pengaturan untuk mengaktifkan ini. seperti"error_info": ["cmd", "dir", "path"]
Nolan Conaway
@NolanConaway Ada
SmartManoj
dapatkah Anda mengarahkan saya ke sana? Saya tidak dapat menemukan apa pun di dokumentasi.
Nolan Conaway
Kunci tenang
SmartManoj
@ SmartManoj Ah, ya, saya tahu tentang opsi itu. Namun, itu juga mencegah waktu berlalu, dll, dari membawa hasil cetak. Saya benar-benar hanya ingin menghapus jalan!
Nolan Conaway