19

У меня есть следующий скрипт для моих файлов JavaScript в Sublime Text 3.

{
  "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 не выводить путь?

2 ответа2

12

Немного взломать, но у меня сработало следующее. Оказывается, вы можете переопределить код в некоторых пакетах по умолчанию, включая код, отвечающий за вывод пути:

  1. Перейдите в C:\Program Files\Sublime Text 3\Packages
  2. Извлеките Default.sublime-package (на самом деле это zip-файл) и получите файл exec.py (не оставляйте извлеченную папку в каталоге)
  3. Создайте каталог Default по умолчанию в C:\Users\USERNAME\AppData\Roaming\Sublime Text 3\Packages и поместите в него exec.py.
  4. Откройте exec.py и закомментируйте (поместите # в начале строки) следующую строку для меня в строке 245

    self.append_string (proc, self.debug_text)

  5. Перезапустите Sublime Text
6

Установить пакет PackageResourceViewer

Открыть PackageResourceViewer: открыть ресурс с помощью CommandPalette [Ctrl+Shift+P]

Затем выберите Default -> exec.py. Затем выберите Sublime Input -> input.py [Для Sublime Input].

Закомментируйте (поместите # в начале строки) следующую строку в строке 365 [ST3 B3126] (383 для Sublime Input) для меня

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, готовый оператор, каталог, путь "quiet":true в файле сборки

Источник

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .