Forum: PC-Programmierung Suche guten aktuellen C-Editor


von Chris S. (p41145)


Lesenswert?

Ich bin auf der suche nach ein guten brauchbaren C Editor, zur 
übersichtlichen Programmierung von AVR Controllern.

An AVR Studio stört mich, das es keine Auflistung der Funktionen gibt.
Ich fand das Programm CodeWright Editor nicht schlecht von der 
Übersicht, aber leider ist das Programm von Markt.

Was nimmt man heute für Editoren, also was ist weit verbreitet?
Es braucht keine Freeware sein, aber ich will Freeware auch nicht 
ausschließen. Macht bitte Vorschläge.

von Bleifuss (Gast)


Lesenswert?

Emacs ;)

von Wo ist Waldo (Gast)


Lesenswert?

Ich mag das "Programmer's Notepad 2"!

von Irgendwer (Gast)


Lesenswert?

Eclipse

von Marek N. (Gast)


Lesenswert?

Geany

von ... (Gast)


Lesenswert?

Notepad++

von Vlad T. (vlad_tepesch)


Lesenswert?

visual studio express 2008
(kostenlos)

von Michael R. (dj_motionx)


Lesenswert?

Würde mich auch der Eclipse Meinung anschließen.

von Frank (Gast)


Lesenswert?

Ein aktuelles eclpise ist mit dem aktuellen avr-plugin wirklich 
brauchbar. Kann man nur empfehlen!

von faustian (Gast)


Lesenswert?

Willst Du eher ein IDE oder nur einen guten Editor?

von Marc D. (cosinus)


Lesenswert?

vim

von Chris S. (p41145)


Lesenswert?

Also ich such ein Editor, wo man den Compiler einbinden kann.
Wichtig ist eine globale Suchfunktion und eine Outline Übersicht (das 
die Funtionen gelistet sind)

von Karl H. (kbuchegg)


Lesenswert?

Also suchst du eine IDE

von Vlad T. (vlad_tepesch)


Lesenswert?

da bleibt eigendlich nur noch eclipse und Visual Studio übrig

Edit:
und Code::blocks

von Random .. (thorstendb) Benutzerseite


Lesenswert?

Notepad++ und makefile

von Mark .. (mork)


Lesenswert?

Code::Blocks kann ich nur empfehlen. Läuft sehr schnell, hat Code 
Completion und unterstützt jede Menge an C-Compilern.

MfG Mark

von Markus S. (m_schnell)


Lesenswert?

Wenn wir schon dabei sind: Schau dir mal Sublime Text an.

Grüße,
Markus

von Vlad T. (vlad_tepesch)


Lesenswert?

Random ... schrieb:
> Notepad++ und makefile

Notepad ist ein super editor, aber zur IDE taugt er nicht.
die Funktionsliste ist grausig schlecht und auch die autocompletion 
bezieht sich nur auf Wörter der aktuellen Datei

von yalu (Gast)


Lesenswert?

Mark P. schrieb:
> Code::Blocks kann ich nur empfehlen. Läuft sehr schnell, hat Code
> Completion und unterstützt jede Menge an C-Compilern.

Ja, wenn man meint, ein so genanntes IDE undbedingt zu brauchen:
Code::Blocks ist von allen, die ich kenne (Visual Studio, Eclipse,
KDevelop, Anjuta und eben Code::Blocks) das am wenigsten nervende und
kann trotzdem ziemlich viel. Der integrierte Texteditor ist IDE-typisch
etwas mager geraten, da hat Eclipse mehr zu bieten.

von staman (Gast)


Lesenswert?

Schau dir mal SlickEdit an.

von Wurstfinger (Gast)


Lesenswert?

Nimm doch das, was Du bereits hast: Edlin ist auch bei Windows 7 dabei.

von Sven P. (Gast)


Lesenswert?

C::B hatte ich einmal, sah furchtbar aus --> Baustelle..

Ich benutz den Standard-Texteditor unter KDE (KWrite bzw. Kate).
Diese Ausklapplistendinger für Funktionen hab ich bisher nicht vermisst. 
Einerseits ist der Funktionsumfang von nacktem Ansi-C doch per se schon 
ziemlich gering, andrerseits muss ich, so ich irgendwelche Bibliotheken 
benutze, doch permanent in der Referenz nachschlagen. Da nützt mich der 
Funktionsprototyp grad wenig.

von Vlad T. (vlad_tepesch)


Lesenswert?

Sven P. schrieb:
> Ich benutz den Standard-Texteditor unter KDE (KWrite bzw. Kate).
> Diese Ausklapplistendinger für Funktionen hab ich bisher nicht vermisst.
> Einerseits ist der Funktionsumfang von nacktem Ansi-C doch per se schon
> ziemlich gering, andrerseits muss ich, so ich irgendwelche Bibliotheken
> benutze, doch permanent in der Referenz nachschlagen. Da nützt mich der
> Funktionsprototyp grad wenig.

das kommt drauf an, wie gut man die Bibliotheken kennt.
Wenn man schon oft mit der gearbeitet hat, reicht oft der Prototyp.
Abgesehen davon wird normalerweise ja auch der Kommentar angezeigt.

Dh, du bekommst annähern das gleiche zu sehen, wie in der Referenz 
steht, da die ja normalerweise aus den Kommentaren im Code generiert 
werden.

Edit:
Stichwort Javadoc oder Doxygen

von Stephan M. (stephanm)


Lesenswert?

Sven P. schrieb:
> Ich benutz den Standard-Texteditor unter KDE (KWrite bzw. Kate).

Mach ich auch des öfteren :-)

> Einerseits ist der Funktionsumfang von nacktem Ansi-C doch per se schon
> ziemlich gering, andrerseits muss ich, so ich irgendwelche Bibliotheken
> benutze, doch permanent in der Referenz nachschlagen. Da nützt mich der
> Funktionsprototyp grad wenig.

Aber die (hoffentlich vorhandene) Doku zur Funktion ist meist überaus 
nützlich, und demnach ist eine IDE, mit der ich per Mausclick zum 
Prototypen und damit zur Dokumentation komme doch auch wieder nützlich 
und erspart das dauernde Rumgehample zwischen Browser (HTML-Doku), 
Texteditor und Konsole!

Ich benutze Eclipse auch sehr gerne für C/C++-Entwicklung, eben weil 
dort alle (na ja, sagen wir besser: viele) Informationen zentral 
zugänglich sind. Bei Compilerfehlern ständig zwischen der make-Konsole 
und dem Source-Code-Fenster zu wechseln ist auf Dauer anstrengend und 
nervig, und wenns nur das ewige gewackel mit den Augen ist. Und schon 
bei kleineren Projekten (>~ 2000 SLOC) wird es außerordentlich nützlich, 
wenn man mit ein paar Clicks durch den Sourcecode navigieren kann. Nicht 
zu unterschätzen sind auch Features wie die "Call Hierarchy" - d.h. die 
Anzeige der Aufrufer einer Funktion - oder die Möglichkeit, ein Projekt 
nach Stellen zu durchforsten, an denen bestimmte Datentypen (Klassen!) 
verwendet werden.

Auch wenn Eclipse CDT bei weitem nicht so gut ist wie JDT finde ich CDT 
sehr brauchbar und kann mit den derzeitigen Macken eigentlich ganz gut 
leben.

Meine Empfehlung geht daher ganz klar in Richtung IDE, zumindest für 
alles, was mehr als ein Bastelprojekt werden oder bleiben soll.

Viel Erfolg,

Stephan

von Sven P. (Gast)


Lesenswert?

Naja, das dann wiederum kann selbst vim. Der öffnet dann in einem 
zweiten Puffer die Headerdatei mit der Deklaration (via ctags).

Besonders hilfreich empfand ich das dennoch nie.

von Stephan M. (stephanm)


Lesenswert?

Ach, das wichtigste hab ich wie immer vergessen: Eine IDE mit 
kontextsensitiver Autovervollständigung für Sourcecode ist ein 
exzellentes Werkzeug. Da gehen selbst die dümmsten und nervigsten 
Codestücke ganz locker von der Hand. Und so soll es sein.

Stephan

von Stephan M. (stephanm)


Lesenswert?

Sven P. schrieb:
> Naja, das dann wiederum kann selbst vim. Der öffnet dann in einem
> zweiten Puffer die Headerdatei mit der Deklaration (via ctags).
>
> Besonders hilfreich empfand ich das dennoch nie.

Das würde ich auch nicht als hilfreich empfinden. Ich würde nur wild 
mit den Augen zwischen oben und unten hin- und herwackeln und nach einer 
Stunde mit Kopfweh heim gehen ;-)

Gut, jedem sein Lieblingstierchen, es muss ja jeder selber wissen mit 
welchen Tools er am produktivsten arbeiten kann.

Stephan

von Vlad T. (vlad_tepesch)


Lesenswert?

Sven P. schrieb:
> Naja, das dann wiederum kann selbst vim. Der öffnet dann in einem
> zweiten Puffer die Headerdatei mit der Deklaration (via ctags).
>
> Besonders hilfreich empfand ich das dennoch nie.

Das glaube ich nicht.
Belibiges Springen von einer Instanz zur Deklaration setzt genaue 
Kenntnis der Projektstruktur (includepfade, sourcepfade) voraus
Das kann ein Editor prinzipbedingt also nicht können, da dieser nur die 
aktuelle Datei kennt und höchstens noch im selben Verzeichnis nach 
Includes suchen kann.

von Stephan M. (stephanm)


Lesenswert?

Vlad Tepesch schrieb:
> Das kann ein Editor prinzipbedingt also nicht können, da dieser nur die
> aktuelle Datei kennt [...]

Na, die Frage ist dann wohl: Wo ziehe ich die Grenze zwischen Editor und 
IDE. Da vim mit ctags kooperieren kann, ist vim schon ein bissl mehr als 
das der gute alte Editor a la Notepad (hat Notepad die Beschränkung auf 
64k eigentlich inzwischen überwunden? ;-)

Selbst "einfache" Texteditoren wie Kate (-> KDE) können z.B. die in 
einer Sourcecodedatei definierten Symbole anzeigen. Die Frage ist halt 
immer, wie gut oder schlecht das im einzelnen funktioniert. Daran 
bemisst sich dann für mich auch die Brauchbarkeit dieser Features und 
damit auch meine Arbeitseffizienz.

Stephan

von Sven P. (Gast)


Lesenswert?

Naja, bisher hatte ich mit folgenden Auswüchsen zu tun:

Intellisense von Visual Basic:
Alles klappt irgendwie irgendwo auf. Bei jedem Funktionsaufruf, den ich 
nicht im Kopf hatte/der mir nicht so sehr geläufig war, musste ich 
trotzdem in der Doku nachschlagen und Fehlerbedingungen etc. 
heraussuchen.

Fehlermeldungen: Simpel und direkt.


Intellisense von Visual C++:
Tooltips waren recht chaotisch und man musste wieder die Maus bemühen, 
um zum richtigen Eintrag durchzuklicken.

Fehlermeldungen: 1,5mal Fensterbreite für Pfad und irgendwelche Nummern, 
dahinter ein kurzer Fehlertext. Unnötig unübersichtlich, erst Recht, 
wenn noch der Template-Wahnsinn zuschlug. Lässt sich sicher irgendwie 
verkürzen, ist mir damals aber nicht gelungen. Hatte aber 
zugegebenermaßen auch schon bald keine Lust mehr, mich bei jedem Projekt 
aufs Neue durch die Konfiguration zu klicken, um dem Compiler etliche 
Erweiterungen und Trallalla auszuprügeln (strcpy_s...).


VIM-Ding:
Jo, für mich wenig hiflreich, sagte ich ja bereits.




Letztlich bin ich immer wieder bei Kwrite/Kate gelandet -- da hab ich 
eine echte Konsole eingebettet. Die Fehlermeldungen vom GCC sind dank 
Filter (colorgcc und noch so eines, dessen Name mir entfallen ist) 
farbig und bei Template-Wahnsinn aufs Wesentliche verkürzt.
Bei der Überzahl meiner Projekte muss ich ohnehin bei jedem 
Programmstart in eine leere Konsole wechseln, es sind halt überwiegend 
Konsolenprogramme.

von Bartli (Gast)


Lesenswert?

Wenns nicht gratis sein muss (bzw. etwas teurer sein darf): SlickEdit.

CodeWright...würg...den hab ich auf der Arbeit durch SlickEdit ersetzt.

von Rolf Magnus (Gast)


Lesenswert?

> Die Fehlermeldungen vom GCC sind dank Filter (colorgcc und noch so
> eines, dessen Name mir entfallen ist) farbig und bei Template-Wahnsinn
> aufs Wesentliche verkürzt.

Kannst du auf die Verkürzung nochmal eingehen? Wer produziert die und 
wie sieht sowas dann aus?

von Loonix (Gast)


Lesenswert?

Notepad++

wenns wirklich nur ein Editor sein soll

von Loonix (Gast)


Lesenswert?

Nachtrag zu Notepad++:

Das gibts auch als Portable fürn USB-Stick, sehr praktisch wenn man mal 
auswärts fremden Code anschauen soll. ;)

von Mehmet K. (mkmk)


Lesenswert?

Schau dir mal UEStudio (nicht UEdit) an. Ist nicht gerade billig ....

http://www.ultraedit.com/

von Sven P. (Gast)


Lesenswert?

Rolf Magnus schrieb:
> Kannst du auf die Verkürzung nochmal eingehen? Wer produziert die und
> wie sieht sowas dann aus?

Farbig machts colorgcc, hab das noch nicht genauer hinterfragt.

Den Template-Wahnsinn erledigt das Dingen hier:
http://www.bdsoft.com/tools/stlfilt.html
Prinzipiell ein Perl-Skript.

Aus dem Beispiel der Seite:
GCC erzeugt:
1
    d:\src\cl\demo>c++2 rtmap.cpp
2
    rtmap.cpp: In function `int main()':
3
    rtmap.cpp:19: invalid conversion from `int' to `
4
       std::_Rb_tree_node<std::pair<const int, double> >*'
5
    rtmap.cpp:19:   initializing argument 1 of `std::_Rb_tree_iterator<_Val, _Ref,
6
       _Ptr>::_Rb_tree_iterator(std::_Rb_tree_node<_Val>*) [with _Val =
7
       std::pair<const int, double>, _Ref = std::pair<const int, double>&, _Ptr =
8
       std::pair<const int, double>*]'
9
    rtmap.cpp:20: invalid conversion from `int' to `
10
       std::_Rb_tree_node<std::pair<const int, double> >*'
11
    rtmap.cpp:20:   initializing argument 1 of `std::_Rb_tree_iterator<_Val, _Ref,
12
       _Ptr>::_Rb_tree_iterator(std::_Rb_tree_node<_Val>*) [with _Val =
13
       std::pair<const int, double>, _Ref = std::pair<const int, double>&, _Ptr =
14
       std::pair<const int, double>*]'
15
    E:/GCC3/include/c++/3.2/bits/stl_tree.h: In member function `void
16
       std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::insert_unique(_II,
17
18
       _II) [with _InputIterator = int, _Key = int, _Val = std::pair<const int,
19
       double>, _KeyOfValue = std::_Select1st<std::pair<const int, double> >,
20
       _Compare = std::less<int>, _Alloc = std::allocator<std::pair<const int,
21
       double> >]':
22
    E:/GCC3/include/c++/3.2/bits/stl_map.h:272:   instantiated from `void std::map<_
23
    Key, _Tp, _Compare, _Alloc>::insert(_InputIterator, _InputIterator) [with _Input
24
    Iterator = int, _Key = int, _Tp = double, _Compare = std::less<int>, _Alloc = st
25
    d::allocator<std::pair<const int, double> >]'
26
    rtmap.cpp:21:   instantiated from here
27
    E:/GCC3/include/c++/3.2/bits/stl_tree.h:1161: invalid type argument of `unary *
Woraus das Skript macht:
1
    d:\src\cl\demo>c++ rtmap.cpp
2
      *** {BD Software Proxy c++ for gcc v3.01} STL Message Decryption is ON! ***
3
    rtmap.cpp: In function `int main()':
4
    rtmap.cpp:19: invalid conversion from `int' to `iter'
5
    rtmap.cpp:19:   initializing argument 1 of `iter(iter)'
6
    rtmap.cpp:20: invalid conversion from `int' to `iter'
7
    rtmap.cpp:20:   initializing argument 1 of `iter(iter)'
8
    stl_tree.h: In member function `void map<int,double>::insert_unique(_II, _II)':
9
        [STL Decryptor: Suppressed 1 more STL standard header message]
10
    rtmap.cpp:21:   instantiated from here
11
    stl_tree.h:1161: invalid type argument of `unary *'
12
13
    STL Decryptor reminder:
14
        Use the /hdr:L option to see all suppressed standard lib headers

von Peter (Gast)


Lesenswert?

Ich hab schon vieles ausprobiert. Ich verwende und empfehle: Eclipse

von vii (Gast)


Lesenswert?

vi

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Hi

ich arbeite mit VC6 (ja, genau über 10! Jahre alt) und VisualAssist X 
(http://www.wholetomato.com/).

Das was das Plugin an Unterstützung während der Eingabe und der 
Navigation durch den Sourcecode bringt und vor allem in welcher 
Geschwindigkeit hab ich noch nirgendwo sonst gesehen. Eclipse + CDT 
bietet zwar ähnlichen Funktionsumfang ist aber im Vergleich dazu extrem 
träge.

Matthias

von D. I. (Gast)


Lesenswert?

Sven P. schrieb:
> Rolf Magnus schrieb:
> Aus dem Beispiel der Seite:
> GCC erzeugt:
>
1
>    ...
2
>
> Woraus das Skript macht:
>
1
>     ...
2
>

Wie geil ist das denn. Ich frage mich eh wer sich diese kranken 
STL-Fehlermeldungen ausgedacht hat.

von zwieblum (Gast)


Lesenswert?

Fehlermeldungen dieser Art sind direkte Folge vom tollen Template-Sytem 
von C++.

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Hi

eben nicht wie das Skript zeigt geht es auch deutlich lesbarer.

Matthias

von Sven P. (Gast)


Lesenswert?

Dabei gehen aber auch Informationen verloren.

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Hi

könnte man ja als Argument an den Compiler übergeben.

-print-reduced-template-errors

Leider hab ich keine Zeit dem GCC das beizubringen.

Matthias

von Gasti (Gast)


Lesenswert?

SourceInsight ist super !!!

von robbse (Gast)


Lesenswert?

Hallo zusammen,

ich habe ein ähnliches Problem wie der Thread-Starter;

ich möchte gerne den IAR-Compiler nutzen, und da man diesen nicht von 
extern verwenden kann wie den GCC, möchte ich in der IAR-Workbench einen 
externen Editor verwenden. Welches empfehlenswerte Tool mit 
Autovervollständigung kann ich hier einbinden?

robbse

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> und da man diesen nicht von extern verwenden kann wie den GCC

Wieso sollte das nicht gehen?

von robbse (Gast)


Lesenswert?

>> und da man diesen nicht von extern verwenden kann wie den GCC

>Wieso sollte das nicht gehen?

Laut IAR-Support nicht möglich. Ich hab auch noch keine Tutorials dazu 
gefunden.
Ist aber auch nicht schlimm, mit der IDE komm ich ja grundsätzlich klar, 
mir fehlt halt nur ein vernünftiges Intelli-Sense, welches alle 
eingebunden Dateien mit einschliesst.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Das dürfte ein Missverständnis sein. Sieh mal in das bin-Verzeichnis 
vom IAR, bei der MSP430-Version ist das

<installationsverzeichnis>\430\bin

Darin findest Du ein paar ausführbare Dateien, wie z.B. icc430.exe, 
a430.exe etc.

(wenn Du einen anderen Controller als MSP430 verwendest, heißen die halt 
etwas anders)

Und das sind Kommandozeilenprogramme, die sich mittels make oder auch 
aus einer Batchdatei heraus aufrufen lassen - und das wiederum ist die 
Grundlage für eine Integration in eine andere IDE.

Was nicht funktionieren wird, ist der Gebrauch des Debuggers außerhalb 
der IAR-IDE, aber mit dem Compiler etc. geht das selbstverständlich.

von robbse (Gast)


Lesenswert?

OK, danke für den Hinweis; ich wollte aber trotzdem bei der IAR 
Workbench bleiben.

von Michael M. (technikus)


Lesenswert?

Wo ist Waldo schrieb:
> Ich mag das "Programmer's Notepad 2"!

Zustimmung! Listet die Funktionen, Makros und globalen Variablen der 
aktuellen Source-Datei auf und gcc sowie avrdude sind nur zwei 
Tastendrücke entfernt. Zusammen mit der Projekt-Funktion eigentlich 
schon eine IDE.
Bekommt man alles schlüsselfertig und kostenlos als WinAVR.

Servus
Michael

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.