#c #macos #visual-studio-code #gcc
#c #macos #visual-studio-code #gcc
Вопрос:
Я могу написать C / C в текстовом редакторе (например, BBEdit), а затем использовать терминал для компиляции и запуска объектного кода.
g -o привет, привет.c
Но сейчас я экспериментирую с кодом Visual Studio в качестве IDE. Я не могу выполнить команду СБОРКИ и увидеть результат в среде IDE. Есть что-то в задачах.файл json.
Я попытался выполнить поиск в обсуждениях, но только еще больше запутался.
Кто-нибудь вообще это делает? Прямо сейчас Visual Studio Code просто стал модным текстовым редактором без встроенной компиляции.
(ДОПОЛНЕНИЕ ДЛЯ BBEdit)
Я подумал, что отредактирую этот пост, чтобы подробнее объяснить рабочий процесс для других пользователей, использующих BBEdit или аналогичные текстовые редакторы.
У меня есть AppleScripts, доступ к которым можно получить через меню BBEdit scripts. Есть два сценария. Один из них — сценарий СБОРКИ, а другой — сценарий запуска. Они берут текущее открытое имя файла и отправляют его на терминал для выполнения компиляции в g , и мне пришлось сделать два сценария, потому что я не мог заставить AppleScript распознавать команду Unix для объединения команд с помощью amp;amp;
Вот сценарий сборки. Вы можете отредактировать его с помощью редактора сценариев и поместить в папку Scripts, которую может видеть BBEdit:
tell application "BBEdit" to set filePath to ((characters 8 thru -1 of (URL of document 1 as string)) as string)
tell application "Terminal"
do script "g " amp; filePath
end tell
и вот сценарий ЗАПУСКА
tell application "BBEdit" to set filePath to ((characters 8 thru -1 of (URL of document 1 as string)) as string)
tell application "Terminal"
activate
do script "./a.out"
end tell
Чтобы сделать их доступными в качестве ярлыков, просто используйте настройки сочетаний клавиш Mac OS в разделе Системные префы и создайте два ярлыка для BBEdit. Я использовал SHIFT COMMAND B для сборки и R для ЗАПУСКА скрипта.
Комментарии:
1. пожалуйста, будьте более конкретны. Кроме того, если это то, что вы просите, перейдите в Terminal -> new terminal, чтобы открыть терминал
2. Официальная документация должна помочь, даже если вы используете gcc вместо clang: https://code.visualstudio.com/docs/cpp/config-clang-mac
3. Хорошо, спасибо, я снова просмотрю документы (я пробовал раньше)
4. Я просмотрел документы и теперь успешно получил его для компиляции и запуска. Спасибо за ссылку. Каким-то образом мне так и не удалось найти учебное пособие для Mac и я продолжал пытаться разобраться в Windows, адаптируя его для Mac (конечно, безуспешно!).).
Ответ №1:
Некоторые решения:
- Установите инструменты командной строки XCode (возможно, они у вас уже есть). Его компилятор C — clang вместо gcc. Поэтому вместо вызова
gcc hello.c -o hello
вы бы запустилиclang hello.c -o hello
. Это дополнительная замена. - Установите homebrew, а затем установите gcc с помощью
brew install gcc
Комментарии:
1. Спасибо, я не думаю, что у меня проблема с установленным компилятором. Я могу использовать его через терминал. Мне просто нужно настроить VSC для автоматического выполнения команд командной строки.
2. О, хорошо, теперь я понимаю. Я также являюсь активным пользователем vscode, и я обычно предпочитаю, Чтобы терминал (MobaXterm и т. Д.) Был Открыт в каталоге сборки и набирал make . Причина в том, что правильно настроить сборку действительно неудобно, и она будет меняться для каждого проекта. Кроме того, если вы используете cmake, вам все равно придется вводить команды настройки в терминале.
3. Рассматривали ли вы Visual Studio (не Code)? VS работает немного по-другому и обрабатывает всю сборку и настройку гораздо более интегрированным способом с IDE
4. Хорошо, я начинаю понимать, почему вы сказали, что сборка может меняться для каждого проекта. Затем вам нужно отредактировать файл tasks JSON правильно? По крайней мере, это мой текущий уровень понимания. Я установил Studio, но потом узнал (неправильно?) что Microsoft не поддерживает C на Mac, и все, что я нашел, это поддержка C # / NET и другие вещи, но не C , поэтому я удалил его и просто сосредоточился на КОДЕ.