sublimetext3
Buduj systemy
Szukaj…
Składnia
- Systemy kompilacji są napisane w JSON i mają rozszerzenie pliku
.sublime-build
.
Uwagi
Systemy kompilacji są tylko danymi wyjściowymi, co oznacza, że nie można wykonać kodu, który zażąda od użytkownika wprowadzenia danych za pomocą systemu kompilacji. Kod po prostu zablokuje czekanie na dane wejściowe na zawsze. Aby obejść ten problem, wiele osób korzysta z wtyczki REPL.
Klucze JSON:
-
shell_cmd
określa dokładne polecenie do uruchomienia w powłoce i obsługuje zmienne symbole zastępcze (takie jak${file}
który odnosi się do aktualnie otwartego pliku). -
result_file_regex
iresult_line_regex
są używane do analizowania danych wyjściowych z nieudanej kompilacji i wyświetlania błędów w taki sposób, aby można było przejść do edytora w miejscu, w którym wystąpił błąd. -
selector
toselector
zakresu, który określa, jakiej składni dotyczy kompilacja. Na przykład nie ma sensu uruchamiać interpretera języka Python na kodzie PHP. -
variants
można użyć, aby umożliwić uruchomienie innej komendy, na przykład w celu sprawdzenia składni pliku zamiast wykonania go. Warianty mogą również określać lub zastępować te same klucze JSON i będą miały zastosowanie tylko do tego wariantu. -
syntax
służy do ustawiania pliku definicji składni, który zostanie zastosowany do panelu wyjściowego, dzięki czemu zostanie podświetlony.
Przykład kompilacji systemu
Nowe systemy kompilacji można tworzyć z menu (Narzędzia | System budowania | Nowy system budowania).
{
"shell_cmd": "somecommand -u \"$file\"",
"result_file_regex": "^[ ]*File \"(.*?)\"",
"result_line_regex": "^[ ]*File \".*?\", line ([0-9]*)",
"selector": "text.html",
"syntax": "Packages/JavaScript/JSON.sublime-syntax",
"env": {"ENCODING": "utf-8"},
"working_dir": "${project_path:${folder}}",
"path": "C:\\test\\;$PATH"
"linux": {
"variants":
[
{
"name": "Word Count (current file)",
"cmd": ["wc", "$file"]
}
]
}
}
Kompilację można zainicjować, używając menu (Narzędzia | Kompilacja) lub naciskając Ctrl + B.
Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow