para - Compilando el programa como c++ 14 en Sublime Text 3 como predeterminado
sublime text 3 español (3)
Sé que podemos compilar el programa como C ++ usando el compilador g ++. Pero el compilador g ++ está predeterminado en la versión 98. Para ejecutarlo como C ++ 14, necesitamos agregar -std=c++14
en la terminal.
Sublime Text se considera un editor valioso para la programación competitiva debido a su peso ligero y características. En estas competiciones, el tiempo es importante y, por lo tanto, se desperdicia el tiempo para copiar en un archivo de texto y luego ejecutarlo desde la terminal. C ++ 14 presenta una biblioteca enriquecida y otras características importantes en comparación con 98. Por lo tanto, uno desearía poder compilar el código en texto sublime y como C ++ 14.
Pero, ¿cómo puedo asegurarme de que cuando compilo el código dentro de Sublime Text 3, se compile como C ++ 14 por defecto?
Después de algunos retoques, surgió la siguiente solución:
- Ir a paquetes y extraer C ++. Sublime-package
- Abrir C ++ Single File.sublime-build
Cambio
"shell_cmd": "g++ /"${file}/" -o /"${file_path}/${file_base_name}/" && /"${file_path}/${file_base_name}/""
a
"shell_cmd": "g++ -std=c++14 /"${file}/" -o /"${file_path}/${file_base_name}/" && /"${file_path}/${file_base_name}/""
Added
-std=c++14
en compilación y ejecución- Guárdelo y sobrescriba el paquete originalmente en Sublime Text 3
¿Es esta la manera correcta de hacerlo? Se denomina solo archivo. ¿Debo preocuparme si quiero usar varios archivos?
Es mejor crear un nuevo sistema de compilación, así es cómo:
Haga clic en Tools -> Build System -> New Build System
.
Esto es lo que uso (observe la bandera -std=c++14
)
{
"cmd":["bash", "-c", "g++ -std=c++14 -Wall ''${file}'' -o ''${file_path}/${file_base_name}'' && ''${file_path}/${file_base_name}''"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c, source.c++",
"variants":
[
{
"name": "Run",
"cmd":["bash", "-c", "g++ -std=c++14 ''${file}'' -o ''${file_path}/${file_base_name}'' && ''${file_path}/${file_base_name}''"]
}
]
}
(Creo que puedes usar la línea que ya tienes y guardarla en un nuevo archivo del sistema de compilación).
Ahora guarde la nueva compilación, selecciónela en Tools -> Build System
.
Y ahora puedes compilar y ejecutar con CTRL + B
La mejor forma de editar archivos predeterminados es usar PackageResourceViewer .
Una vez instalado, ejecute PackageResourceViewer: Open Resource
comando PackageResourceViewer: Open Resource
desde la command palette
. Aparecerá una lista de paquetes en los que puede navegar para seleccionar el archivo que desea editar.
El archivo seleccionado se abrirá en un nuevo documento y los cambios se guardarán en un nuevo archivo ubicado en Packages/PackageThatYouEdited/FileThatYouEdited.ext
El beneficio de este método es que el archivo editado en Packages
ahora reemplazará el archivo original que reside dentro del archivo sublime-package
, pero el archivo original permanecerá intacto. Si elige eliminar el archivo editado, el archivo original en el sublime-package
volverá a estar activo.
Por lo general, es malo editar archivos predeterminados. Simplemente cree un nuevo sistema de compilación Pallet -> Build: New Build System agregue sus cambios allí y guárdelo como desee. Luego, cuando desee usarlo, simplemente seleccione Build With: (nuevo nombre del sistema de compilación). Si también desea la opción Build - Run, use este código:
{
"cmd": ["g++", "-std=c++14", "${file}", "-o", "${file_path}/${file_base_name}"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c, source.c++",
"variants":
[
{
"name": "Run",
"cmd":["bash", "-c", "g++ -std=c++1y ''${file}'' -o ''${file_path}/${file_base_name}'' && ''${file_path}/${file_base_name}''"]
}
]
}