C ++ 14 поддерживающий редактор / IDE

Я ищу мощную среду программирования для C / C ++. Фактически, единственное, что мне нужно, это мощный инструмент для навигации и создания источников. Неважно, бесплатное оно или коммерческое. Я предпочитаю какой-нибудь инструмент для Linux, но он не обязательно должен быть приложением для Linux.

Мне нужен какой-то редактор со следующими возможностями:

  1. больше открытых файлов + переключение вкладок / буферов
  2. выделение (+ соответствие скобок, складывание и т. д.)
  3. сохранить сеансы
  4. окно предварительного просмотра (когда курсоры останавливаются на каком-либо символе, у меня также есть окно предварительного просмотра, которое показывает мне определение этого символа)
  5. поиск использования символа с помощью кода
  6. интеллектуальное завершение (должно поддерживать c ++ 14!)

Что было бы неплохо:

  1. code beautifizier или что-то подобное
  2. Поддержка utf-8
  3. шаблоны редактора (например, заголовок автоматического комментария для модулей, функций ...)
  4. другие сценарии редактора
  5. терминал / консоль, доступная из программы || возможность компиляции отладки (только для того, чтобы иметь возможность скомпилировать весь проект, не переключаясь на командную строку)
  6. визуализация потока программы

Пожалуйста, кто-нибудь во всем мире знает что-нибудь, кто знает все это?

Я пробовал несколько редакторов / IDE, но все они что-то упускают. Я решил подчеркнуть отсутствие поддержки нового C ++ 14 - теперь это, наверное, самая большая проблема:

  • VIM

    • Amazing scripting capabilities
    • 4 и 6: я пробовал использовать vim + ctags + cscope и vim + gtags + omnicomplete. Но это не так. Это не работает должным образом. Vim не знает C ++ и контекст символа. Хотя я смог добиться в основном желаемого поведения после нескольких часов изучения сценариев vim, я не могу использовать его даже немного более сложным образом (допустим, у меня есть глобальная переменная и локальная переменная с одинаковыми именами и разными types - vim ofc не распознает, вижу ли я сейчас глобальную или только локальную переменную. И я даже не говорю о пространствах имен и т. д.). На самом деле VIM теперь поддерживает c ++ 14 с помощью clang (libclang) и есть замечательный плагин YouCompleteMe, который может использовать libclang, и его автозаполнение действительно работает с кодом C ++ 14! И это делает vim единственным редактором, поддерживающим C ++ 14.. Этот плагин теперь более или менее можно использовать в других редакторах (vim, emacs, sublime). Он добавляет автозаполнение, переход к определению и сообщения об ошибках.
    • поддерживается c ++ 14
  • Source Insight

    • Amazing highlighting capabilities(different font for highlighting is amazing(especially for function names in function defintion header for example), also there is possibility to assign keyboard shortcut to cancel font differences, and leave only color highlighting(when you are bothered with different code alignment(due to different fonts)
    • Проблемы с 1) (хотя существует взломанная библиотека для этого под названием TabsSiPlus)
    • нет терминала / консоли
    • Программное обеспечение больше не поддерживается, оно не с открытым исходным кодом (и даже не бесплатно): (((
    • Отсутствует поддержка c ++ 14
  • SlickEdit

    • Amazing customizing possibilities, can emulate vim editing style(WOW!)
    • нет терминала / консоли (на самом деле он есть, но не настолько хорош, но имеет встроенные возможности компиляции
    • у него странный графический интерфейс - много места занимают полосы прокрутки, разные заголовки окон и т. д.
    • это довольно дорого (по сравнению с другими)
    • Отсутствует поддержка c ++ 14
  • Kdevelop4

    • Very pleasant GUI, nice console, very fast, can emulate vi editing style(not too well though)
    • пропустить принудительное повторное сканирование / повторное сканирование проекта (иногда есть неправильные ссылки на символы, особенно в больших проектах - это меня очень беспокоит)
    • в его окне предварительного просмотра не отображается определение, только ссылка на определение, затем определение отображается в главном окне редактирования .. - невозможно увидеть фактический код и определение символа одновременно: ((
    • Отсутствует поддержка c ++ 14
  • Затмение

    • nice environment with lots of functionality.
    • нет ad4), но есть своего рода пузырек предварительного просмотра. При наведении курсора мыши на символ появляется пузырек с определением символа. Его хорошая функциональность, но, к сожалению, вам нужно использовать мышь, и в настоящее время это удобное для пользователя отдельное окно предварительного просмотра.
    • также он немного медленный, но я думаю, что это связано с проверкой синтаксиса в реальном времени, и, вероятно, он будет отключен.
    • Отсутствует поддержка c ++ 14
  • Emacs

    • Support c++14 by similar plugins as vim(YouCompleteMe)(see in Vim section).
    • Может ли какой-нибудь опытный пользователь Emacs заполнить этот раздел?
    • поддерживается c ++ 14
  • Возвышенный текст 3

    • Not free
    • Поддержка C ++ 14 с помощью плагинов, аналогичных vim (YouCompleteMe) (см. Раздел Vim). Хотя у меня с этим были проблемы. Плагин для меня был более нестабильным, чем в Vim.
    • Через разные плагины он поддерживает более или менее ту же функциональность (с точки зрения пользователя), что и vim.
    • поддерживается c ++ 14

Кто-нибудь из вас использует какой-либо другой редактор, который может делать что-нибудь из приведенного выше списка, или, может быть, какие-то плагины / скрипты, которые могут достичь требуемой функциональности?


person majkl    schedule 07.10.2011    source источник
comment
Я использую SlickEdit с 1998 года, на протяжении многих лет я использовал его в Windows, Linux, а теперь и на Mac, оно того стоило. Да, терминал слабоват, но, кажется, я привык его не использовать (использовать только для компиляции). Поддержка MacOS в настоящее время слабая, но, похоже, они находятся в поле зрения. Для меня - мне нужно было бы увидеть все мои любимые функции в другом месте, прежде чем я подумаю о переходе.   -  person nhed    schedule 12.10.2011
comment
Что ж, я должен согласиться, что это единственное программное обеспечение, которое имеет все необходимые мне функции. Я, вероятно, буду придерживаться этого, хотя мне не нравится его графический интерфейс. Много места занимают полосы прокрутки, заголовки окон и т. Д. ... с другой стороны, ни один другой инструмент не обладает такими же возможностями (кроме анализа источника, что, вероятно, было бы лучше, если бы разработка не остановилась несколько лет назад)   -  person majkl    schedule 12.10.2011
comment
Также проверьте мой вопрос http://stackoverflow.com/questions/5842650/cc-source-code-browser-comparison-seeking-opinion   -  person Qiulang    schedule 03.11.2014


Ответы (3)


Что касается VIm и вашего пункта 6, я слышал, что clang_complete, который является использование clang из компилятора LLVM было довольно точным, но я еще не проверял себя.

person Xavier T.    schedule 07.10.2011
comment
я пытаюсь использовать это сейчас. Этот компилятор clang в какой-то мере мощный, и я чувствую большой потенциал, но ... он требует большой работы. - person majkl; 25.10.2011
comment
Я использую clang_complete. Как идут автозаполнения, это очень хорошо. Единственная проблема в том, что вам нужно настроить его в своих скриптах :-( - person dsign; 16.04.2013

Попробуйте Eclipse, может обрабатывать почти все (от Java до C с помощью инструментов GNU)

person BigMike    schedule 07.10.2011
comment
Я пробую затмение. Пока что я обнаружил, что это довольно медленно, но может много ... но я не нашел ad4) Есть ли у eclipse какое-то окно предварительного просмотра? Я знаю, что при наведении курсора мыши на символ, он показывает мне пузырек с определением символа, но есть ли возможность иметь также окно с той же информацией, которая обновляется autotamticallu, когда курсор перемещается? - person majkl; 07.10.2011
comment
Попробуйте заглянуть в меню "Просмотры". Если я правильно помню, по крайней мере для java и c ++ dev, такое представление было (управляемое не мышью, а курсором). Попробуйте поэкспериментировать с перспективами, чтобы понять, что Eclipse может для вас сделать. До сих пор я все еще не нашел лучшего движка рефакторинга (Visual Studio 2010 - это большой эпический провал в отношении рефакторинга). Для замедления попробуйте добавить больше памяти к запускаемой виртуальной машине (это что-то вроде добавления -D ‹jvm-param› где-нибудь в сценарии оболочки). С Уважением. - person BigMike; 07.10.2011
comment
Я, наверное, слепой или что-то в этом роде, но я не могу этого найти. Есть некоторые супер-вещи, такие как Иерархия типов или Иерархия вызовов ... Мне это уже нравится, но я не могу найти окно, которое показывает мне те же элементы в отдельном окне, поскольку наведение мыши на символ показывает меня в пузыре. Разве не было каких-то плагинов, которые могли бы помочь? - person majkl; 07.10.2011
comment
Окно- ›Показать вид-› Другое- ›Java-› Предположение объявления для C dev env есть нечто похожее (есть и для JS). Не беспокойтесь о том, что ничего не видите, затмение настолько велико, что почти невозможно вспомнить все, не воспользовавшись им хотя бы какое-то время. Приятно провести вечер. - person BigMike; 07.10.2011
comment
Итак, я искал это, и, к сожалению, он работает только на Java, а не на c / c ++: ((( - person majkl; 10.10.2011
comment
Бьюсь об заклад, есть эквивалент для C / C ++. Попробуйте поискать в плагинах eclips - person BigMike; 10.10.2011
comment
Ничего не нашел ... поэтому я спросил на форумах, но я сомневаюсь ... В любом случае, спасибо за ваше терпение и вашу помощь .. :) - person majkl; 10.10.2011

Eclipse поддерживает c ++ 14, все, что вам нужно сделать, это добавить -std = c ++ 1y в ваш prefrences-> C / C ++ -> Build-> Settings-> Discovery < / strong> для "Настройка встроенного компилятора CDT Cross GCC" добавьте "-std = c ++ 1y" в конце компилятора спецификации.

Вы также устанавливаете диалекты в настройках вашего проекта для поддержки C ++ 14,

Перейдите в настройки вашего проекта-> C / C ++ Сборка-> Настройки-> GCC C ++ Compiler-> Dialect и выберите -std = c ++ 1 год

person apramc    schedule 27.09.2017