Возвышенный текст: не печатать путь команды сборки

4397
Randomblue

У меня есть следующий скрипт для моих файлов 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 не выводить путь?

19
Я думаю, что это только часть стандартного вывода ошибок / отладки. Я не знаю ни одного способа отключить его с помощью параметров или флагов сборки, хотя ... MattDMo 11 лет назад 0
Вместо отключения вывода пути вы можете отключить перенос слов в окне вывода сборки. Убедитесь, что окно сборки активно, затем выполните `View -> Word Wrap`, чтобы отключить его. Хотя это и не идеальное решение, это гораздо проще, чем модифицировать внутренности Sublime Text. anishpatel 7 лет назад 0

2 ответа на вопрос

12
William Saunders

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

  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
Это сделало работу за меня :) Stephn_R 9 лет назад 0
6
SmartManoj

Установить пакет 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 в файле сборки

Источник

Ницца! Я хотел бы, чтобы была настройка для переключения этого. как `" error_info ": [" cmd "," dir "," path "]` Nolan Conaway 6 лет назад 0
@NolanConaway есть SmartManoj 6 лет назад 0
Вы можете указать мне на это? Я не смог ничего найти в документации. Nolan Conaway 6 лет назад 0
@NolanConaway [тихий ключ] (https://www.sublimetext.com/docs/3/build_systems.html) SmartManoj 6 лет назад 0
@ SmartManoj Ах, да, я знаю об этом варианте. Тем не менее, это также препятствует тому, чтобы истекшее время и т. Д. Принесли напечатанное. Я действительно хочу только удалить путь! Nolan Conaway 6 лет назад 0

Похожие вопросы