Нет системы сборки, возвышенный текст, что делать

Обновлено: 21.11.2024

Система сборки Node.js в Sublime Text 2 (8)

Я только начал изучать JavaScript. При этом я устал встраивать свой код JavaScript в HTML-документ, чтобы запускать его в браузере. Я подумал, что было бы неплохо просто запускать свои скрипты прямо в консоли Sublime, чтобы мне не пришлось выходить из редактора. Поэтому я пытался создать систему сборки JavaScript, поскольку Sublime не поставляется с ней.

Моей идеей было использовать Node.js в качестве интерпретатора JavaScript. Я установил его с помощью менеджера пакетов Linux Mint. Насколько я могу сказать, работает просто отлично. Допустим, у меня есть файл test.js, содержащий следующую строку кода JavaScript:

в моей консоли я получаю: Однако я не заставляю это работать с Sublime. Я создал новую систему сборки, нажав Инструменты / Система сборки / Новая система сборки. Затем я ввел следующие строки: Насколько мне известно, эта строка представляет собой JSON-представление следующей команды: Как я уже сказал, если я запущу это вручную в консоли, все будет работать нормально. Если я нажму F7 в Sublime, что является ярлыком для Build, появится консоль Sublime. Однако он пуст.

Есть еще одна странная вещь. Несмотря на то, что (несуществующий) вывод консоли Sublime указывает на то, что система сборки не настроена для правильной работы с Node.js, у меня отображались некоторые ошибки Node.js, когда я случайно пытался запустить файлы, отличные от JS, такие как Файл Node.sublime-build. Это вывод, отображаемый в консоли Sublime:

Почему я не получаю никаких результатов при выполнении реального кода JavaScript? Заранее спасибо!

Вот совет для Windows,

Большинство ответов из этой темы верны, но ни один из них не является полным, и, по крайней мере, ни один ответ не говорит о том, как убить существующий процесс Node, даже если вы можете запустить узел в возвышенном состоянии. Таким образом, в конечном итоге, если какой-либо из вышеперечисленных подходов сработает для вас, вы всегда будете вручную убивать Node.

Вот что я сделал для Windows:

taskkill /F /IM "node.exe" "c:/Program Files/nodejs/node.exe" %1

  1. Сохраните его, переключитесь на Sublime Text и выберите "Инструменты" -> "Система сборки" -> "nodejs"
  2. откройте любой исполняемый файл Nodejs и нажмите CTRL+B.
  3. Все готово. :)

Я могу видеть вывод консоли только в том случае, если файл существует/сохранен на диске. (для анонимного файла я тоже не вижу вывода)

Надеюсь, это поможет

Пользователи Mac, укажите узел в терминале. Он выводит путь к исполняемому файлу узла, в большинстве случаев это /usr/local/bin/node. Теперь создайте новую систему сборки ( Tools > Build System > New Build System ) со следующими настройками в Sublime Text.

Возможно, это зависит от переменных среды — попробуйте использовать полный путь к узлу, а не просто «nodejs». У меня это сработало в Mac OS (например, /usr/local/node вместо просто node)

В Windows работает следующая конфигурация:

В Linux я использую это, просто убедитесь, что вы находитесь в своем основном файле

Это работает для меня в Windows7

1) Откройте Sublime Text, перейдите в «Инструменты» -> «Система сборки» -> «Новая система сборки»

Разработка Sublime Text перешла к версии 3.

В результате эта ветка для Sublime Text 2 больше не будет обновляться. Выберите последнюю ветку на панели внизу слева и рассмотрите возможность обновления Sublime Text.

Системы сборки позволяют запускать файлы через внешние программы, не выходя из Sublime Text, и видеть результат, который они генерируют.

Системы сборки состоят из одной или трех частей:

  • данные конфигурации в формате JSON (содержимое файла .sublime-build)
  • опционально, команда Sublime Text, управляющая процессом сборки
  • опционально внешний исполняемый файл (скрипт, бинарный файл)

По сути, файлы .sublime-build являются данными конфигурации для внешней программы, а также для команды Sublime Text (только что упомянутой). В них вы указываете переключатели, параметры и информацию о среде, которую хотите пересылать.

Затем команда Sublime Text получает данные, хранящиеся в файле .sublime-build. На этом этапе он может делать все, что нужно для создания файлов. По умолчанию системы сборки будут использовать команду exec, реализованную Packages/Default/exec.py. Как объясняется ниже, вы можете переопределить эту команду.

Наконец, внешней программой может быть сценарий оболочки, созданный вами для обработки ваших файлов, или известная утилита, такая как make или tidy . Обычно эти исполняемые файлы получают пути к файлам или каталогам, а также переключатели и параметры для запуска.

Обратите внимание, что системы сборки могут, но не обязаны вызывать внешние программы; допустимая система сборки может быть реализована полностью на Python в команде Sublime Text.

Формат файла¶

Файлы

.build-system используют JSON. Вот пример:

Параметры¶

Создание системных параметров¶

Эти параметры являются стандартными для всех систем сборки.

Необязательно. Команда Sublime Text для запуска. По умолчанию exec. (Пакеты/по умолчанию/exec.py). Эта команда получает полные данные конфигурации, указанные в файле .build-system (как **kwargs ).

Используется для переопределения системной команды сборки по умолчанию. Обратите внимание: если вы решите переопределить команду по умолчанию для систем сборки, вы можете добавить произвольные переменные в файл .sublime-build.

селектор Необязательный. Используется, когда Инструменты | Система сборки | Автоматически установлено значение true . Sublime Text использует этот селектор области, чтобы найти подходящую систему сборки для активного представления. окна, osx и linux

Необязательно. Разрешить указание специфичных для ОС параметров, которые переопределяют параметры по умолчанию. Каждый из них принимает набор произвольных параметров.

Необязательно. Список словарей опций для переопределения опций основной системы сборки. Имена вариантов появятся в палитре команд для быстрого доступа, если селектор системы сборки соответствует активному файлу.

имя Допустимо только внутри варианта (см. варианты). Идентифицирует варианты систем сборки. Если имя Выполнить, вариант появится в меню Инструменты | Меню "Построить систему" и привязать к Ctrl+Shift+B .

Произвольные параметры¶

Из-за целевого параметра система сборки может содержать буквально любую опцию (ключ), которая не входит ни в одну из уже перечисленных выше опций.

Обратите внимание, что все приведенные ниже параметры взяты из реализации exec по умолчанию (см. команду exec ). Если вы измените целевую опцию, на них больше нельзя будет полагаться.

Массив, содержащий команду для запуска и требуемые аргументы. Если вы не укажете абсолютный путь, внешняя программа будет искаться в вашей переменной PATH , одной из системных переменных окружения.

В Windows графический интерфейс отключен.

file_regex Необязательно. Регулярное выражение (в стиле Perl) для захвата вывода ошибок cmd . Подробнее см. в следующем разделе. line_regex Необязательный. Если file_regex не совпадает в текущей строке, но line_regex существует, и он соответствует текущей строке, то пройдите назад по буферу, пока не будет найдена строка, соответствующая файловому регулярному выражению, и используйте эти два совпадения для определения файла и строки. идти. рабочий_каталог Необязательный. Каталог для изменения текущего каталога перед запуском cmd . Исходный текущий каталог впоследствии восстанавливается. кодировка Необязательно. Кодировка вывода cmd. Должна быть допустимая кодировка Python. По умолчанию utf-8. оболочка

Необязательно. Словарь переменных среды, которые необходимо объединить с текущим процессом перед их передачей в cmd .

Используйте этот элемент, например, для добавления или изменения переменных среды без изменения настроек вашей системы.

оболочка Необязательно. Если true , cmd будет запускаться через оболочку ( cmd.exe , bash . ). путь

Необязательно. Эта строка заменит PATH текущего процесса перед вызовом cmd. После этого будет восстановлено старое значение PATH.

Используйте этот параметр, чтобы добавить каталоги в PATH без изменения настроек вашей системы.

Захват вывода ошибок с помощью file_regex ¶

Опция file_regex использует регулярное выражение в стиле Perl для захвата до четырех полей информации об ошибках из выходных данных программы сборки, а именно: имя файла, номер строки, < em>номер столбца и сообщение об ошибке. Используйте группы в шаблоне для сбора этой информации. Поле имя файла и поле номер строки обязательны для заполнения.

После захвата информации об ошибках вы можете перейти к экземплярам ошибок в файлах вашего проекта с помощью клавиш F4 и Shift+F4 . Если доступно, захваченное сообщение об ошибке будет отображаться в строке состояния.

Параметры для конкретных платформ¶

Элементы windows , osx и linux позволяют предоставлять данные для конкретной платформы в системе сборки. Вот пример:

В этом случае ant будет выполняться для всех платформ, кроме Windows, где вместо него будет использоваться ant.bat.

Варианты¶

Вот надуманный пример системы сборки с вариантами

При этих настройках Ctrl+B запускает команду date, Ctrl+Shift+B запускает интерпретатор Python, а остальные варианты отображаются в палитре команд как Build: name всякий раз, когда система сборки была активна.

Создание системных переменных¶

Системы сборки расширяют следующие переменные в файлах .sublime-build:

< /tr>
$file_path Каталог текущего файла, например. g., C:\Files.
$file Полный путь к текущему файлу, например. g., C:\Files\Chapter1.txt.
$file_name Имя текущего файла, е. g., Chapter1.txt.
$file_extension Расширение текущего файла, например. г., текст.
$file_base_name Только имя части текущего файла, т.е. g., Документ.
$packages Полный путь к папке Packages.
$project Полный путь к текущему файлу проекта.
$project_path Каталог текущего файла проекта.
$project_name Имя текущего файла проекта.
$project_extension Часть расширения текущего файла проекта.
$project_base_name Только часть имени текущего файла проекта.

Заполнители для переменных¶

С этими переменными можно использовать свойства фрагментов. Например:

Это выдаст название текущего проекта, если он есть, в противном случае Default .

Это выдаст полный путь к текущему файлу, заменив .php на .txt.

Фрагменты Документация по фрагментам и их переменным функциям.

Запуск систем сборки¶

Выберите нужную систему сборки в меню Инструменты | Построить систему, а затем выберите Инструменты | Создайте или нажмите F7 .

Устранение неполадок в системах сборки¶

Системы сборки будут искать исполняемые файлы в вашем PATH, если вы не укажете абсолютный путь к исполняемому файлу. Поэтому ваша переменная PATH должна быть правильно установлена.

В некоторых операционных системах значение PATH будет варьироваться от окна терминала до графического приложения. Таким образом, даже если команда, которую вы используете в своей системе сборки, работает в командной строке, она может не работать из Sublime Text. Это связано с профилями пользователей в оболочках.

Чтобы решить эту проблему, убедитесь, что вы установили нужный PATH, чтобы графические приложения, такие как Sublime Text, могли его найти. Дополнительные сведения см. по ссылкам ниже.

Кроме того, вы можете использовать ключ пути в файлах .sublime-build, чтобы переопределить PATH, используемый для поиска исполняемого файла, указанного в cmd . Это новое значение для PATH будет действовать только до тех пор, пока работает ваша система сборки. После этого старый PATH будет восстановлен.

© Copyright 2013, Гильермо Лопес-Англада и сообщество Sublime Text. Редакция aab26ddd .

Версии последняя стабильная.

Выбор системы сборки в настоящее время перерабатывается на канале разработки. Следующая информация может быть устаревшей.

Обзор¶

Структура системы сборки в Sublime Text старается быть достаточно гибкой, чтобы соответствовать большому количеству сценариев сборки.

Если параметры конфигурации по умолчанию не соответствуют вашим потребностям, вы можете реализовать собственный механизм системы сборки двумя основными способами:

  • как настраиваемая целевая команда (все еще использующая структуру системы сборки по умолчанию)
  • как совершенно новый подключаемый модуль (без фреймворка системы сборки)

Мета-параметры в системах сборки¶

Это список стандартных опций, понятных всем системам сборки. Эти параметры используются внутри Sublime Text. Целевая команда не получает ни одного из этих параметров.

Команда Sublime Text WindowCommand . По умолчанию используется exec ( Packages/Default/exec.py ). Эта команда получает все аргументы целевой команды, указанные в файле .sublime-build (как **kwargs ).

Используется для переопределения системной команды сборки по умолчанию. Обратите внимание: если вы решите переопределить команду по умолчанию для систем сборки, вы можете добавить любое количество дополнительных параметров в файл .sublime-build.

селектор (необязательно) Используется, когда Инструменты | Система сборки | Автоматически установлено значение true . Sublime Text использует этот селектор области, чтобы найти подходящую систему сборки для активного представления. windows, osx и linux (необязательно)

Используется для выборочного применения параметров операционной системой. Значения, зависящие от ОС, переопределяют значения по умолчанию. Каждый из перечисленных элементов принимает словарь параметров.

Список словарей опций. Имена вариантов появятся в палитре команд для быстрого доступа, если селектор системы сборки соответствует активному файлу.

Используя варианты, можно указать несколько системных задач сборки в одном и том же файле .sublime-build.

Действительно только внутри варианта.

Определяет системную задачу сборки. Если имя «Выполнить», вариант появится в разделе «Инструменты | Система построения. Sublime Text автоматически привяжет задачу «Выполнить» к Ctrl+Shift+B .

Аргументы целевой команды¶

Благодаря целевому параметру, который переопределяет команду exec по умолчанию любой другой командой по вашему выбору, система сборки может содержать любое количество настраиваемых аргументов, которые принимает новая целевая команда.

См. целевой вариант.

Параметры для конкретных платформ¶

Элементы windows , osx и linux позволяют предоставлять данные для конкретной платформы в системе сборки.Вот пример:

В этом случае ant будет выполняться для всех платформ, кроме Windows, где вместо него будет использоваться ant.bat.

Варианты¶

Вот надуманный пример системы сборки с вариантами:

При этих настройках Ctrl+B запускает команду date, Ctrl+Shift+B запускает интерпретатор Python, а остальные варианты отображаются в палитре команд как Build: name всякий раз, когда система сборки была активна.

Захват результатов системы сборки¶

Когда системы сборки выводят текст в представление результатов, можно захватить данные результатов, чтобы включить навигацию по результатам.

Результаты также могут означать ошибки. Часто системы сборки выдают данные об ошибках.

Установите следующие параметры представления в представлении результатов, если хотите включить навигацию по результатам:

result_file_regex Регулярное выражение в стиле Perl для захвата до четырех полей информации об ошибках из представления результатов, а именно: имя файла, номер строки, номер столбца. и сообщение об ошибке. Используйте группы в шаблоне для сбора этой информации. Поле имя файла и поле номер строки являются обязательными. result_line_regex Если result_file_regex не совпадает, но result_line_regex существует и соответствует текущей строке, пройдите назад по буферу, пока не будет найдена строка, соответствующая result_file_regex, и используйте два совпадения, чтобы определить файл и строку, к которым нужно перейти. result_base_dir Используется для поиска файлов, в которых встречаются результаты.

После захвата данных результатов вы можете перейти к результатам в файлах вашего проекта с помощью клавиш F4 и Shift+F4 . Если доступно, захваченное сообщение об ошибке будет отображаться в строке состояния.

Создание системных переменных¶

Системы сборки расширяют следующие переменные в файлах .sublime-build:

< tr >
$file_path Каталог текущего файла, например, C:\Files .
$file Полный путь к текущему файлу, например, C:\Files\Chapter1.txt< /em>.
$file_name Имя текущего файла, например, Chapter1.txt.
$file_extension Расширение текущего файла, например, txt.
$file_base_name Только имя текущего файла, например, Документ.
$folder Путь к первой папке, открытой в текущем проекте.
$project Полный путь к файлу текущего проекта .
$project_path Каталог текущего файла проекта.
$project_name Имя текущего файла проекта.
$project_extension Расширение n текущего файла проекта.
$project_base_name Только имя файла текущего файла проекта.
$packages Полный путь к папке Packages.

В настоящее время расширение применяется только к следующим ключам в файле .sublime-build: cmd , shell_cmd и working_dir .

Заполнители для переменных¶

С этими переменными можно использовать свойства фрагментов. Например:

Это выдаст название текущего проекта, если он есть, в противном случае Default .

Это выдаст полный путь к текущему файлу, заменив .php на .txt.

Snippets Документация по переменным фрагмента.

Запуск систем сборки¶

Выберите нужную систему сборки в меню Инструменты | Построить систему, а затем выберите Инструменты | Строить. Кроме того, вы можете использовать палитру команд или следующие сочетания клавиш:

Ctrl+B Запустить задачу сборки по умолчанию
F7 Запустить задачу сборки по умолчанию
Ctrl+Shift+B Запустить задачу сборки «Выполнить»
Ctrl+Break Отменить запущенную задачу сборки

© Copyright 2017 Авторы неофициальной документации. Редакция 27d5abc8 .

Версии последняя стабильная.

Присоединился 14 января 2016 г. Сообщений 36 Оценка реакции 0 Баллы 6 Расположение Предгорья Санта-Крус, Купертино, Калифорния Характеристики вашего Mac Mac Mini 16 ГБ/1 ТБ, два монитора 4K/Mojave, Mac Book/Catalina, 2-й Mini в комнате с телевизором для игры/серфинг

Я использую IDLE для написания программ на Python3, и они работают нормально, но я хотел бы переключиться на Sublime Text. Однако я не могу его настроить.

- Я скачал последнюю версию и установил ее в папку приложений. (новый Mini с Mojave)

- Sublime не будет работать с файлом конфигурации системы сборки по умолчанию.

- Я изменил его по предложению одного веб-сайта на

это путь, который я получаю от команды терминала типа -a.

По-прежнему не удается распечатать «Hello World» — нажмите cmd-B, и ничего не происходит. (?) Никакой помощи от веб-сайта Sublime.

Я знаю, что ряд пользователей на этом сайте используют Sublime Text, так как поиск показывает несколько ссылок на него.

Есть советы по настройке? Я перепробовал все найденные ссылки для установки Sublime в MacOS, но, похоже, ни у кого нет этой проблемы.

ps: надеюсь, что это не тот форум для этого вопроса.

Raz0rEdge

Известный участник

Присоединился 17 июля 2009 г. Сообщений 14 064 Оценка реакции 825 Баллы 113 Местоположение MA Характеристики вашего Mac 2018 Mac-Mini macOS Big Sur, 32 ГБ

Вы упоминаете Mojave и iOS, но поскольку Sublime Text — это редактор только для macOS, Windows или Linux, как iOS вписывается в эту картину?

Вы пытаетесь выполнить скрипт Python в Sublime? Sublime загружается? Вы прыгаете повсюду, так что за вами трудно уследить.

ИгорьП

Присоединился 14 января 2016 г. Сообщений 36 Оценка реакции 0 Баллы 6 Расположение Предгорья Санта-Крус, Купертино, Калифорния Характеристики вашего Mac Mac Mini 16 ГБ/1 ТБ, два монитора 4K/Mojave, Mac Book/Catalina, 2-й Mini в комнате с телевизором для игры/серфинг

Sublime Text загружает, редактирует (с правильными цветами, отступами и т. д.) и сохраняет файлы .py. Все кажется хорошо; однако при нажатии cmd-B или любой из команд меню "Сборка" ничего не происходит - ни терминала, ни окна оболочки.

Raz0rEdge

Известный участник

Присоединился 17 июля 2009 г. Сообщений 14 064 Оценка реакции 825 Баллы 113 Местоположение MA Характеристики вашего Mac 2018 Mac-Mini macOS Big Sur, 32 ГБ

Я думаю, что нажал CMD+b, и меня спросили, какую систему использовать, и Python был выбран по умолчанию, когда я выбрал, чтобы он запускал программу, и я увидел Hello World в нижней панели.

В следующий раз, когда я нажму CMD+b, меня не спросят, а просто снова запустят программу.

Вы сказали, что пытались перейти в раздел Инструменты->Система сборки и выбрать Python в качестве опции, но это не сработало?

ИгорьП

Присоединился 14 января 2016 г. Сообщений 36 Оценка реакции 0 Баллы 6 Расположение Предгорья Санта-Крус, Купертино, Калифорния Характеристики вашего Mac Mac Mini 16 ГБ/1 ТБ, два монитора 4K/Mojave, Mac Book/Catalina, 2-й Mini в комнате с телевизором для игры/серфинг

Я ввожу тот же код. В разделе Инструменты/Система сборки, если я выберу Python3, хотя он установлен, я вообще ничего не получу.

Если в разделе Tools/BuildSystem я выбираю Python, я получаю:

/usr/bin/python: не удается найти модуль '__main__' в ''
[Завершено за 0,0 с с кодом выхода 1]
[shell_cmd: python -u ""]
[каталог: /Applications/Sublime Text.app/Contents/MacOS]
[путь: /Library/Frameworks/Python.framework/Versions/3.8/bin:/usr/local/sbin:/Users/admin1 /anaconda3/bin:/Library/Frameworks/Python.framework/Versions/3.6/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin]

Похоже, что путь здесь перепутан. Как было сказано изначально, Терминал сообщает путь к Python3 как usr/local/bin/python3.

На предыдущем Mac я некоторое время работал с Python, используя Jupyter/Anaconda. Из-за остатков того времени Sublime не может найти правильный путь, но я не знаю, как это исправить.

Читайте также: