Есть ли какая-нибудь C / C ++ IDE для Windows, которая интегрирована с компилятором LLVM (и анализатором Clang C / C ++), как это делает современный Xcode.
У меня есть Dev-Cpp (он использует устаревший GCC) и Code :: Blocks (с некоторым GCC). Но GCC дает мне очень загадочные сообщения об ошибках. Я хочу получать более удобные сообщения об ошибках от интерфейса Clang.
Да, Clang нельзя было использовать со сложным кодом C ++, но транк Clang уже может компилировать LLVM. Поэтому мне интересно, есть ли какие-либо IDE LLVM в разработке или в бета-версиях.
Да, я могу использовать Clang как другой компилятор с IDE, совместимыми с GCC. Но есть ли какая-либо IDE, интегрированная с Clang? У Clang другой формат вывода, поэтому среда IDE должна его проанализировать. Clang может обеспечить синтаксический анализ исходников в среде IDE. В Clang есть опция анализа, которая должна поддерживаться в IDE. Взгляните, например, http://iosdevelopertips.com/xcode/static-code-analysis-clang-and-xcode-3-2.html
И самая желанная функция Clang - это умное автозаполнение, поэтому IDE может предлагать только синтаксически правильные варианты, например, перечислять только поля этой структуры, класса.
Результаты: (объединено из ответов):
- Eclipse с CDT> = 8 и с https://code.google.com/archive/p/llvm4eclipsecdt/ плагином от Петри Туононена (без интеллектуального автозаполнения)
- Vim с vimrc из проекта LLVM (только интеллектуальное завершение?) Https://llvm.org/viewvc/llvm-project/llvm/trunk/utils/vim/
- Emacs с (только умное завершение?) Https://llvm.org/svn/llvm-project/cfe/trunk/utils/clang-completion-mode.el
- Qt Creator: https://blog.qt.io/blog/2011/10/19/qt-creator-and-clang/
- CodeLite: http://www.codelite.org/LiteEditor/ClangIntegration35
Ответы:
LLVM поддерживается в Eclipse CDT через плагин ( llvm4eclipsecdt ). Насколько мне известно, это единственная IDE, поддерживаемая Windows и поддерживающая LLVM . Я являюсь основным автором плагина, поэтому вы можете задавать любые вопросы, связанные с ним.
Плагин предлагает базовую функциональность для компиляции Clang и llvm-gcc и поддерживает Linux и Windows (с Cygwin и MiNGW). Инструменты LLVM, такие как ассемблер, архиватор, компоновщик и статический компилятор (llc), настраиваются и могут быть настроены через пользовательский интерфейс. Подключаемый модуль предлагает все преимущества, которые может предложить IDE, такие как простая настройка и сборка одним действием.
Единственным недостатком является то, что он еще не готов, поскольку ему не хватает некоторых расширенных функций, которые может предложить LLVM, таких как анализ Clang и интеллектуальное автозаполнение. Плагин также плохо протестирован и может работать некорректно, поэтому я надеюсь, что смогу получить отзывы пользователей через список рассылки, найденный на сайте разработки кода Google (указанный ниже). Хотелось бы, чтобы у меня было время развивать его дальше. Я разрабатываю его только в свободное время, которое очень ограничено. Я приветствую всех разработчиков, которые участвуют и вносят свой вклад в проект.
Сайт разработки:
http://code.google.com/p/llvm4eclipsecdt/https://github.com/TuononenP/llvm4eclipsecdt
Торговая площадка Eclipse (100% бесплатная и с открытым исходным кодом):
http://marketplace.eclipse.org/content/llvm-toolchain-eclipse-cdtОБНОВЛЕНИЕ: плагин устарел. Вместо этого установите «C / C ++ LLVM-Family Compiler Build Support» в разделе «Языки программирования» с официального сайта обновлений Eclipse, например, http://download.eclipse.org/releases/mars
источник
Участник LLVM Дэн Гохман недавно добавил в vim автозавершение кода Clang .
http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/vim/vimrc предназначен для использования при разработке самого LLVM и помогает со стилем кодирования LLVM, но часть завершения кода должна быть достаточно простой для извлечения .
Да, да, vim не является IDE, но может быть полезно узнать об этом.
[править] https://llvm.org/svn/llvm-project/cfe/trunk/utils/clang-completion-mode.el предоставляет аналогичный вариант для emacs .
источник
Qt Creator также работает с Clang ...
источник
Теперь они добавляют поддержку ссылки Visual Studio . Его можно скачать здесь .
источник
Для окон нет. Но если вам нужно интеллектуальное автозаполнение, netbeans предлагает одно из лучших вариантов завершения кода для C ++. Он анализирует макросы, общие контейнеры и интеллектуальные указатели. Кроме того, он обеспечивает рефакторинг, вставку кода конструкторов, методов получения и установки. Это действительно хорошо работает. Однако, поскольку он по-прежнему использует отдельный синтаксический анализатор для C ++, он не улавливает столько ошибок, сколько компилятор.
Netbeans для java интегрирован с компилятором, поэтому он выдает ошибки и предупреждения по мере ввода, а также синтаксически корректное завершение кода. Таким образом, netbeans, скорее всего, в будущем будут интегрированы с clang, чтобы обеспечить те же функции для C ++.
источник
В Eclipse добавлена поддержка LLVM : http://marketplace.eclipse.org/node/28778
источник
Кроме того, CodeLite имеет бэкэнд Clang для интеллектуального завершения кода. См. Использование автозавершения кода clang с CodeLite .
CodeLite доступен для Windows, однако я еще не тестировал его под Windows.
источник
Могу я добавить SublimeText 2? У него уже есть плагин SublimeClang, который поддерживает интеллектуальное завершение кода на основе clang.
источник
LLVM предоставляет сборки моментальных снимков Windows - набор инструментов clang для Visual Studio в качестве установщика Windows. В настоящее время он должен интегрироваться с Visual Studio 2010, 2012 и 2013. Дополнительную информацию можно найти в сообщении блога LLVM. Путь вперед для цепочки инструментов LLVM в Windows .
источник
У Clang есть драйвер, который (по крайней мере, должен быть) прямой заменитель gcc, поэтому практически любая IDE, которая может использовать gcc в качестве своего компилятора, также должна иметь возможность использовать clang в качестве своего компилятора (хотя я лично не тестировал его, так что я не могу ручаться за то, насколько хорошо это работает).
источник
Нет.
В настоящее время только xcode имеет минимальную поддержку clang. Если вы хотите использовать статический анализ clang в окнах, вам придется сделать это через интерфейс командной строки.
источник
KDevelop для Windows - еще один вариант. Хотя он все еще находится на ранних стадиях (в настоящее время вам необходимо настроить среду, чтобы иметь возможность использовать компиляторы MSVC / MinGW самостоятельно), он пригоден для использования и обеспечивает отличное понимание кода среды IDE в Windows.
https://www.kdevelop.org/features
источник
Не совсем IDE, но своего рода кроссовер между IDE и простым редактором, удобная альтернатива для тех, кто не против писать конфиги вручную: комбинация редактора Sublime Text 3 и плагина EasyClangComplete (плюс Clang Format для аккуратного кода и приборка). Хорошо работает в Windows благодаря недавним попыткам сделать LLVM MSVC-совместимым ( Clang-cl также может генерировать совместимые .PDB с 2018 года, что имеет решающее значение для отладки).
Обновление: с 2019 года гораздо более качественной и перспективной альтернативой EasyClangComplete является использование Clangd через плагин LSP .
источник