Texto sublime: no imprimir la ruta del comando de compilación

19

Tengo el siguiente script de compilación para mis archivos JavaScript en Sublime Text 3.

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

El problema es que cuando el nodo devuelve un error, por alguna razón Sublime arrojará la ruta, que no ajusta la línea y contamina el resultado.

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]

¿Cómo puedo pedirle a Sublime que no muestre la ruta?

Randomblue
fuente
Creo que esto es solo parte de la salida estándar de error / depuración. Sin embargo, no conozco ninguna forma de deshabilitarlo a través de opciones o crear indicadores ...
MattDMo
En lugar de deshabilitar la salida de ruta, puede deshabilitar el ajuste de palabra en la ventana de salida de compilación. Asegúrese de que la ventana de compilación esté activa, luego View -> Word Wrapdesactívela. Aunque no es una solución perfecta, es mucho más simple que modificar los elementos internos de Sublime Text.
anishpatel

Respuestas:

12

Un poco hack, pero lo siguiente funcionó para mí. Resulta que puede anular el código en algunos de los paquetes predeterminados, incluido el código responsable de la salida de la ruta:

  1. Vaya a C: \ Archivos de programa \ Sublime Text 3 \ Packages
  2. Extraiga Default.sublime-package (en realidad es un archivo zip) y obtenga el archivo exec.py (no deje la carpeta extraída dando vueltas en el directorio)
  3. Cree el directorio Predeterminado en C: \ Users \ USERNAME \ AppData \ Roaming \ Sublime Text 3 \ Packages, y coloque exec.py en él
  4. Abra exec.py y comente (coloque # al principio de la línea) la siguiente línea, en la línea 245 para mí

    self.append_string (proc, self.debug_text)

  5. Reiniciar texto sublime
William Saunders
fuente
Esto hizo el trabajo para mí :)
Stephn_R
6

Instalar el paquete PackageResourceViewer

Abrir PackageResourceViewer: Abrir recurso usando CommandPalette [Ctrl + Shift + P]

Luego seleccione Predeterminado -> exec.py Luego seleccione Entrada sublime -> input.py [Para entrada sublime]

Comente (coloque # al comienzo de la línea) la siguiente línea, en la línea 365 [ST3 B3126] (383 para Sublime Input) para mí

self.append_string(proc, self.debug_text)

Esto no solo oculta la ruta, sino también el directorio y el cmd.

Para ocultar solo la ruta, comente el siguiente bloque

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

Actualizar

Para eliminar cmd, declaración finalizada, dir, ruta "quiet": verdadero en el archivo de compilación

Fuente

SmartManoj
fuente
¡Agradable! Desearía que hubiera una configuración para alternar esto. como"error_info": ["cmd", "dir", "path"]
Nolan Conaway
@NolanConaway Hay
SmartManoj
me puedes señalar No he podido encontrar nada en la documentación.
Nolan Conaway
@NolanConaway quiet key
SmartManoj
@ SmartManoj Ah, sí, sé sobre esa opción. Sin embargo, eso también evita que el tiempo transcurrido, etc., se imprima. ¡Realmente solo quiero eliminar el camino!
Nolan Conaway