숭고한 텍스트 : 빌드 명령의 경로를 인쇄하지 마십시오


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에게 경로를 출력 하지 않도록 어떻게 요청할 수 있습니까?


나는 이것이 표준 오류 / 디버깅 출력의 일부라고 생각합니다. 그래도 옵션을 통해 비활성화하거나 플래그를 빌드하는 방법을
— 모르겠습니다

경로 출력을 비활성화하는 대신 빌드 출력 창에서 자동 줄 바꿈을 비활성화 할 수 있습니다. 빌드 창이 활성화되어 있는지 확인한 다음 View -> Word Wrap비활성화하십시오. 완벽한 솔루션은 아니지만 Sublime Text의 내부를 수정하는 것보다 훨씬 간단합니다.
— anishpatel

답변:


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. 숭고한 텍스트 다시 시작

이것은 나를 위해 일을했다 :)
— Stephn_R

6

PackageResourceViewer 패키지 설치

PackageResourceViewer 열기 : CommandPalette를 사용하여 리소스 열기 [Ctrl + Shift + P]

그런 다음 Default-> exec.py를 선택한 다음 Sublime Input-> input.py를 선택하십시오 [Sublime Input의 경우]

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, fineded statement, dir, path "quiet": true를 제거하려면

출처


좋은! 이것을 토글하는 설정이 있었으면 좋겠습니다. 같은"error_info": ["cmd", "dir", "path"]
— 놀란 Conaway

@NolanConaway 있습니다
— SmartManoj

당신이 그것을 가리킬 수 있습니까? 설명서에서 아무것도 찾을 수 없습니다.
— Nolan Conaway

@ NolanConaway 조용한 열쇠
— SmartManoj

@ SmartManoj 아, 예, 그 옵션에 대해 알고 있습니다. 그러나 이는 경과 시간 등이 인쇄되지 않도록합니다. 정말 경로를 제거하고 싶습니다!
— Nolan Conaway
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.