EniDev

Guías sobre temas de bases de datos y programación


Project maintained by Hosted on GitHub Pages — Theme by mattgraham

Configurar sistema de compilación - (build)

Sublime Text

CONTENIDO

Los sistemas de compilación ejecutan programas externos para procesar algunos conjuntos de archivos e imprimen su salida en el panel de salida. Al final llaman a la función subprocess.Popen de Python :snake:.

Esencialmente, los sistemas de compilación son datos de configuración y el programa externo a ejecutar. Los ejemplos de usos comunes para los sistemas de compilación son los mismo: compilar, transpilar, aplicar linting y ejecutar pruebas.

Los sistemas de compilación se especifican a través de archivos JSON y se guardan con la extensión .sublime-build.

Opciones

Todos los sistemas de compilación pueden usar las siguientes claves de nivel superior en un archivo nuevo con extensión .sublime-build:

top


Variables

Las siguientes variables se expandirán dentro de cualquier cadena especificada en las opciones cmd, shell_cmd o working_dir

Si es necesario especificar un literal $ en una de estas opciones, debe escaparse con un \. Dado que JSON también usa barras invertidas para escapar, $ deberá escribirse como \\$.

Tenga en cuenta que esta situación ocurrirá para cualquier <span class="key">"target"</span>.

Variable Significado Ejemplo
$platform La plataforma en la que se ejecuta Sublime text. "windows", "osx", "linux"
$file La ruta completa al archivo actual. C:\Users\user\archivo.txt
$file_path El directorio del archivo actual. C:\Users\user
$file_name La parte del nombre del archivo actual. archivo.txt
$file_extension La porción de extensión del archivo actual. txt
$file_base_name La parte de solo nombre del archivo actual archivo
$packages La ruta completa a la carpeta Packages C:\Users\user\Sublime Text\Packages
$project La ruta completa al archivo del proyecto actual. C:\Users\user\Project
$project_pathLa ruta completa que contiene el archivo del proyecto actual. C:\Users\user\Project\archivo  
$project_extension La porción de extensión del archivo del proyecto actual.  
$project_base_name La parte de solo nombre del archivo de proyecto actual.  

top

Ejemplos

Para los siguientes ejemplos debemos realizar, los siguientes pasos:

Servor

{
    "encoding":"utf-8",
    "shell_cmd": "servor $file_dir --browse --reload",
    "selector": "source.html",
    "working_dir": "$file_dir"
}

Configurar un build de Python para CMD

Python3_CMD.sublime-build

{
    "encoding":"utf-8",
    "shell_cmd": "start cmd /C \"({path_python}/python.exe \"$file\" || set /p = Ejecución fallida. Presiona Enter para salir...) && set /p = Ejecución exitosa. Presiona Enter para salir...\"",
    "selector": "source.python",
    "working_dir": "$file_dir"
}

Otra forma es declarando un path:

{
    "path":"C:\\Users\\Marco\\AppData\\Local\\Programs\\Python\\Python310",
    "encoding": "utf-8",
    "shell_cmd":  "start cmd /C \"(python.exe \"$file\" || set /p = Ejecución fallida. Presiona Enter para salir...) && set /p = Ejecución exitosa. Presiona Enter para salir...\"",
    "selector":"source.python",
    "file_regex": "^(...?):([0-9]):?([0-9]*)",
}

Configurar un build para Python en ubuntu mate (terminal-mate)

Python3_terminal_mate.sublime-build

{
    "cmd": ["mate-terminal -e 'bash -c \"python3 -u $file;echo;echo Press ENTER to exit; read line\"'"],
    "shell": true
}

Configurar un build para Java

{
    "path": "C:\\Program Files\\Java\\jdk1.8.0_202\\bin",
    "encoding": "utf-8",
    "cmd": ["javac", "$file_name","&&","java", "$file_base_name"],
    "file_regex": "^(...?):([0-9]):?([0-9]*)",
    "selector": "source.java",
    "shell": true
}

top