Подтвердить что ты не робот

Межплатформенная платформа С++ на основе clang?

clang Компилятор С++ утверждает, что он создан, в частности, для лучшей интеграции IDE, предоставляя API для использования IDE для таких задач, как анализ кода.

Итак, есть ли хорошая С++ IDE, которая использует clang для предоставления таких функций, как семантическая подсветка, рефакторинг, поиск и отображение семантических ошибок в режиме реального времени?

Я использую Eclipse CDT, но его синтаксический анализатор С++ полон недостатков, которые заставляют IDE сообщать о множестве раздражающих ложноположительных ошибок в коде. Я хотел бы иметь IDE, которая сообщает об ошибке тогда и только тогда, когда компилятор сообщит об одной и той же ошибке, следовательно, мой интерес к среде IDE, построенной на внутренних компонентах компилятора.

В первую очередь меня интересуют кросс-платформенные IDE, хотя я бы не прочь узнать об одноплатформенных для Windows или Linux (так что не Xcode), если они FOSS ( другая причина, почему не Xcode).

4b9b3361

Ответ 1

Qt Creator основывает свой анализ кода следующего поколения и связанную с ним функциональность на Clang:

http://blog.qt.digia.com/blog/2011/10/19/qt-creator-and-clang/

Выглядит очень, очень многообещающе!

Ответ 2

Вы пробовали clang complete?

если вы панк-рок, тогда vim достаточно ide;)

Я часто работаю с xcode, поэтому... не могу поделиться опытом, но я знал о его существовании.

Ответ 4

Кажется, что CodeLite v3.5 начинает поддерживает Clang изначально. Однако я не нашел, возможно ли установить LLVM в качестве бэкэнд.

Ответ 5

KDevelop теперь имеет поддержку c и С++ на основе clang, включая семантический анализ и автозаполнение. Это в первую очередь для linux, но (по состоянию на октябрь 2016 года) имеет бета-версию для Windows и Mac.

Для emacs есть irony-mode и rtags, которые предоставляют такие функции, как автозаполнение, проверка ошибок на лету и переход к символу. В сочетании с cmake-ide они являются очень мощными инструментами, и один хорошо разбирающийся в emacs может быть очень продуктивным в этой среде.

Ответ 6

Соответствующая новая разработка в этой области в проекте Language Server Protocol (LSP), целью которого является языковой агностический API, который позволяет отделять редакторы /IDE от бэкэндов, которые обеспечивают анализ/анализ кода.

Текущая работа по созданию основанного на кланге С++-сервера называется Clangd.

Также существует работа над несколькими редакторами /IDE для поддержки LSP в качестве клиента.

После того, как реализация бэкэнд будет созревать, все редакторы, поддерживающие LSP, в принципе смогут использовать возможности clang как открытые через Clangd.