Czy istnieje środowisko C / C ++ IDE dla systemu Windows, które jest zintegrowane z kompilatorem LLVM (i analizatorem Clang C / C ++), tak jak robi to nowoczesny Xcode.
Mam Dev-Cpp (używa przestarzałego GCC) i Code :: Blocks (z niektórymi GCC). Ale GCC daje mi bardzo tajemnicze komunikaty o błędach. Chcę otrzymywać bardziej przyjazne dla użytkownika komunikaty o błędach z interfejsu Clang.
Tak, Clang nie mógł być używany ze złożonym kodem C ++, ale trunk Clang już może skompilować sam LLVM. Zastanawiam się, czy jest jakieś środowisko LLVM IDE w fazie rozwoju lub w wersji beta.
Tak, mogę używać Clang jako innego kompilatora z IDE kompatybilnymi z GCC. Ale czy istnieje IDE zintegrowane z Clang? Clang ma inny format wyjściowy, więc IDE musi go przeanalizować. Clang może zapewnić analizę źródeł IDE. Clang ma opcję analizy, która musi być obsługiwana w środowisku IDE. Spójrz, np. Http://iosdevelopertips.com/xcode/static-code-analysis-clang-and-xcode-3-2.html
A najbardziej poszukiwaną cechą Clang - jest inteligentne autouzupełnianie, więc IDE może sugerować tylko warianty poprawne składniowo, np. Wyświetlać tylko pola tej struktury, klasy.
Wyniki: (połączone z odpowiedzi):
- Eclipse z CDT> = 8 i z wtyczką https://code.google.com/archive/p/llvm4eclipsecdt/ od Petri Tuononen (brak inteligentnego automatycznego uzupełniania)
- Vim z vimrc z projektu LLVM (tylko inteligentne uzupełnianie?) Https://llvm.org/viewvc/llvm-project/llvm/trunk/utils/vim/
- Emacs z (tylko inteligentne uzupełnianie?) Https://llvm.org/svn/llvm-project/cfe/trunk/utils/clang-completion-mode.el
- Kreator Qt: https://blog.qt.io/blog/2011/10/19/qt-creator-and-clang/
- CodeLite: http://www.codelite.org/LiteEditor/ClangIntegration35
Odpowiedzi:
LLVM jest obsługiwany w Eclipse CDT przez wtyczkę ( llvm4eclipsecdt ). O ile wiem, jest to jedyne IDE obsługiwane przez Windows obsługujące LLVM . Jestem głównym autorem wtyczki, więc możesz zadawać pytania z nią związane.
Wtyczka oferuje podstawowe funkcje kompilacji Clang i llvm-gcc oraz obsługuje systemy Linux i Windows (z Cygwin i MiNGW). Narzędzia LLVM, takie jak asembler, archiwizator, konsolidator i kompilator statyczny (llc), są konfigurowane i można je dostosowywać za pośrednictwem interfejsu użytkownika. Wtyczka oferuje wszystkie korzyści, które może zaoferować IDE, takie jak łatwa konfiguracja i budowanie za pomocą jednego działania.
Jedyną wadą jest to, że nie jest jeszcze gotowy, ponieważ brakuje mu niektórych zaawansowanych funkcji, które może zaoferować LLVM, takich jak analiza Clang i inteligentne automatyczne uzupełnianie. Wtyczka również nie została dobrze przetestowana i może nie działać idealnie, dlatego mam nadzieję, że uda mi się uzyskać opinie użytkowników za pośrednictwem listy mailingowej znalezionej w witrynie rozwoju kodu Google (wymienionej poniżej). Żałuję, że nie mam czasu na dalsze rozwijanie tego. Rozwijam go tylko w wolnym czasie, który jest bardzo ograniczony. Zapraszam wszystkich programistów do udziału i wniesienia wkładu w projekt.
Witryna deweloperska:
http://code.google.com/p/llvm4eclipsecdt/https://github.com/TuononenP/llvm4eclipsecdt
Rynek Eclipse (w 100% darmowy i open-source):
http://marketplace.eclipse.org/content/llvm-toolchain-eclipse-cdtUPDATE: wtyczka jest przestarzała. Zamiast tego zainstaluj „C / C ++ LLVM-Family Compiler Build Support” w obszarze Języki programowania, korzystając z oficjalnej witryny aktualizacji Eclipse, np. Http://download.eclipse.org/releases/mars
źródło
Współtwórca LLVM, Dan Gohman, niedawno dodał uzupełnianie kodu Clang do vima .
http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/vim/vimrc jest przeznaczony do użycia przy tworzeniu samego LLVM i pomaga w stylu kodowania LLVM, ale fragment kodu uzupełniający powinien być łatwy do wyodrębnienia .
Tak, tak, vim nie jest IDE, ale warto o nim wiedzieć.
[edytuj] https://llvm.org/svn/llvm-project/cfe/trunk/utils/clang-completion-mode.el zapewnia podobną opcję dla emacsa .
źródło
Qt Creator współpracuje również z Clang ...
źródło
Teraz dodają obsługę łącza programu Visual Studio . Można go pobrać tutaj .
źródło
Nie ma jednego dla okien. Ale jeśli chcesz inteligentnego autouzupełniania, netbeans ma jedno z najlepszych uzupełnień kodu dla C ++. Analizuje makra, kontenery ogólne i inteligentne wskaźniki. Dodatkowo zapewnia refaktoryzację, wstawianie kodu konstruktorów oraz metod pobierających i ustawiających. Działa naprawdę dobrze. Ponieważ jednak nadal używa oddzielnego parsera dla C ++, nie wyłapuje tylu błędów, co kompilator.
Netbeans dla java jest zintegrowany z kompilatorem, więc wyświetla błędy i ostrzeżenia podczas pisania, a także poprawne składniowo uzupełnianie kodu. Tak więc, jest bardzo prawdopodobne, że w przyszłości netbeans zintegruje się z clang, aby zapewnić ten sam rodzaj funkcji dla C ++.
źródło
Obsługa LLVM została dodana do Eclipse : http://marketplace.eclipse.org/node/28778
źródło
Ponadto CodeLite ma zaplecze Clang do inteligentnego uzupełniania kodu. Zobacz Używanie uzupełniania kodu clang z CodeLite .
CodeLite jest dostępne dla systemu Windows, jednak nie testowałem go jeszcze pod Windowsem.
źródło
Czy mogę dodać SublimeText 2? Ma już wtyczkę SublimeClang, która obsługuje inteligentne uzupełnianie kodu oparte na clang.
źródło
LLVM zapewnia kompilacje migawek systemu Windows - zestaw narzędzi Clang dla programu Visual Studio jako instalator systemu Windows. Obecnie powinien być zintegrowany z Visual Studio 2010, 2012 i 2013. Więcej informacji można znaleźć w poście na blogu LLVM A path forward for a LLVM toolchain on Windows .
źródło
Clang ma sterownik, który (przynajmniej powinien być) bezpośrednim substytutem gcc, więc w zasadzie każde IDE, które może używać gcc jako kompilatora, powinno być w stanie używać clang jako kompilatora (chociaż nie testowałem go osobiście, więc nie mogę ręczyć za to, jak dobrze to działa).
źródło
Nie.
Tylko xcode ma obecnie minimalne wsparcie dla clang. Jeśli chcesz używać analizy statycznej clang w systemie Windows, musisz to zrobić za pośrednictwem interfejsu wiersza polecenia.
źródło
KDevelop dla Windows to kolejna opcja. Będąc wciąż na wczesnym etapie (obecnie musisz skonfigurować środowisko, aby móc samodzielnie używać kompilatorów MSVC / MinGW), jest ono użyteczne i zapewnia niesamowite zrozumienie kodu IDE do systemu Windows.
https://www.kdevelop.org/features
źródło
Niezupełnie IDE, ale coś w rodzaju skrzyżowania między IDE i zwykłym edytorem, użyteczna alternatywa dla tych, którzy nie mają nic przeciwko ręcznemu pisaniu konfiguracji: kombinacja edytora Sublime Text 3 i wtyczki EasyClangComplete (plus Clang Format, aby zachować porządek w kodzie i schludnie). Działa dobrze w systemie Windows dzięki niedawnym staraniom, aby uczynić LLVM kompatybilnym z MSVC ( Clang-cl jest również w stanie generować kompatybilne pliki PDF od 2018 r., Co jest kluczowe dla debugowania).
Aktualizacja: od 2019 znacznie lepszą i przyszłościową alternatywą dla EasyClangComplete jest używanie Clangd przez wtyczkę LSP .
źródło