Forum: Compiler & IDEs AtmelStudio nicht verwendete Codeteile ausblenden


von R. Q. (timebeast)


Lesenswert?

Hallo,
eine kleine Frage zum AtmelStudio 6.2.
Wie kann man die Ansicht so einstellen, dass Codeteile die via 
Präprozessor defines nicht zum tragen kommen auch nicht angezeigt oder 
ausgegraut werden, wie z.B. in eclipse üblich.

Damit keine Fragen zur Frage kommen, ein kleines Beispiel:
#if XMEGA
# include "xmega/ioport.h"
#elif MEGA
#  include "mega/ioport.h"
#elif UC3
# include "uc3/ioport.h"
#endif

Da z.B. ein XMEGA verwendet wird, hätte ich erwartet das die Teile die 
"MEGA" oder "UC3" betreffen ausgegraut oder sogar eingeklappt werden. 
Ist aber nicht so.

Gerade in ASF Projektteilen wird es ohne diese Funktion sehr schnell 
sehr unübersichtlich.

Gruß
Ralf

von Bernd K. (prof7bit)


Lesenswert?

R. Quentin schrieb:
> eine kleine Frage zum AtmelStudio 6.2.
> Wie kann man die Ansicht so einstellen, dass Codeteile die via
> Präprozessor defines nicht zum tragen kommen auch nicht angezeigt oder
> ausgegraut werden, wie z.B. in eclipse üblich.

Geht nicht, AtmelStudio ist nun mal nur AtmelStudio. Basierend auf 
Microsoft-Visual-Irgendwas, also kein besonders brauchbarer Unterbau.

Ich würde stattdessen einfach Eclipse nehmen, es gibt ein AVR-Plugin 
dafür und im Handumdrehn hast Du damit eine ordentliche IDE.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Microsoft-Visual-Irgendwas beherrscht "code outlining" durchaus; 
entweder hat Atmel das schlecht angepasst oder aber es ist nicht 
aktiviert. Bei "einfach so" außerhalb der Projektverwaltung geöffneten 
Dateien funktioniert es nicht; Dateien müssen zum Projekt hinzugefügt 
werden (und falls sie dabei in einem Editorfenster geöffnet waren, 
erneut geöffnet werden).

So verhält sich VS2010, vielleicht ist das Verhalten ja auch im 
Atmelstudio wiederzufinden (das ich nicht nutze).

von Bernd K. (prof7bit)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Microsoft-Visual-Irgendwas beherrscht "code outlining" durchaus;

Darum gehts hier nicht. Lies die Frage nochmal.

von ?!? (Gast)


Lesenswert?

Bernd K. schrieb:
> Darum gehts hier nicht. Lies die Frage nochmal.

Darum geht's hier sehr wohl. Lies bitte ebenfalls nochmal:

R. Quentin schrieb:
> ausgegraut oder sogar eingeklappt werden

von Bernd K. (prof7bit)


Angehängte Dateien:

Lesenswert?

?!? schrieb:
> Bernd K. schrieb:
>> Darum gehts hier nicht. Lies die Frage nochmal.
>
> Darum geht's hier sehr wohl. Lies bitte ebenfalls nochmal:
>
> R. Quentin schrieb:
>> ausgegraut oder sogar eingeklappt werden

Genau. Es geht dem OP ums Parsen des Textes und aller seiner includes, 
dem mitführen einer Symboltabelle über alle existierenden makros und 
deren Auflösungen, auch die die dabei unterwegs hinzukommen und 
schlussendlich dem automatischen Ausgrauen aller nichtzutreffenden 
ifdefs und sonstiger Preprocessor conditionals.

Nicht um "code outlining" oder manuelles falten, das kann er auch zu Fuß 
mit notepad++ machen.

von R. Q. (timebeast)


Lesenswert?

Hallo Bernd,
danke für die Klarstellung, genau so ist es! Das mit dem Screenshot 
hätte ich nicht besser machen können, vielen dank dafür ;-)

Es geht also nicht, hm, echt schade. Mit Eclipse und dem Plugin hab ich 
schon gearbeitet, und, ja ok es funktioniert. Atmel Studio bietet aber 
halt doch schon noch mehr, speziell für den Atmel angepasste Funktionen. 
Ob man die braucht... Geschmackssache.

So ganz geschlagen geben will ich mich allerdings noch nicht, da ich vor 
ca. einem Monat mit einem Entwickler in unserer Navigationsabteilung 
geredet habe, und ihm das Verhalten als "neu" verkaufen wollte. Er 
lachte nur, und meinte, dass das alle "moderneren" IDEs ab ca. 2000 so 
machen. Ich werd ihn wohl mal an Atmel Studio setzten ;-)

Falls ich was Neues rausfinde, schreib ich hier nochmal was dazu...

Danke soweit, ich dachte ich hätte vielleicht nur irgendwo einen Hacken 
vergessen.

Gruß
Ralf

: Bearbeitet durch User
von Stone (Gast)


Lesenswert?

Installiert naggy, das gibts im extension manager. Das übernimmt das 
ausgrauen.

Gruß Matthias

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Bernd K. schrieb:
> Genau. Es geht dem OP ums Parsen des Textes und aller seiner includes,
> dem mitführen einer Symboltabelle über alle existierenden makros und
> deren Auflösungen, auch die die dabei unterwegs hinzukommen und
> schlussendlich dem automatischen Ausgrauen aller nichtzutreffenden
> ifdefs und sonstiger Preprocessor conditionals.

Genau das kann Visual Studio, deswegen beschrieb ich es ja.

von Bernd K. (prof7bit)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Genau das kann Visual Studio, deswegen beschrieb ich es ja.

Nunja, dann ist das AtmelStudio aber kein besonders guter Showcase für 
das Verwenden von VS als Grundlage für eine IDE, das was Atmel da als 
IDE abliefert kommt eher als Negativ-Werbung für diese Plattform rüber. 
Auch die Autovervollständigung hat übrigens Macken und auch das 
Autoindent des Editors wurde anscheinend nie mit dem 1TBS-Stil getestet¹ 
(das war bei mir dann der Tropfen der das Faß endgültig zum Überlaufen 
brachte, einen Editor der mir regelmäßig die Einrückungen zerreißt kann 
ich nicht gebrauchen).


_____________
¹ das else wird nicht dort bleiben, es wird früher oder später 
automatisch verrutschen.
1
if (foo) {
2
    bar();
3
} else {
4
    baz();
5
}

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.