Arduino code opmaken
6 berichten
• Pagina 1 van 1
Arduino code opmaken
Zo af en toe kom je op dit forum oproepen tegen om de code die je bij een bericht bijvoegd,
netjes op te maken.
Dt kan heel eenvoudig door in je Arduino IDE door menukeuze Hulpmddelen-Automatische opmaak
te kiezen, of door sneltoets ctrl+T.
Valt je tekst niet automatisch op te maken, d.w.z. komt er een foutmelding dan is er gegarandeerd iets
niet goed in je code. (accolade's of puntcomma's zjn bekende boosdoeners)
Als je dan deze tekst selecteert en kopieert tussen de haken code2=cpp en /code2 op dit forum,
dan doe je iedereen daar veel plezier mee, en zeker de goeroe's nicoverduin, shooter en Koepel.
Echter, niet iederen is tevreden over de manier van automatische opmaak.
En dat betreft dan meestal de plaats van de openings- en slot accolade's {}.
Gelukkig is dit eenvoudig aan te passen. Arduino maakt n.l. gebruik van Astyle, een heel bekend
en veel gebruikt code opmaak programma, dat ook als plug-in voor veel editors beschikbaar is.
Dit programma heeft een configuratie bestand "formatter.conf" dat te vinden is in de map
<arduinomap>/lib
Er staat in dit bestand dat je het echter NIET moet aanpassen, maar een extra bestand met
dezelfde naam formatter.conf met aanpassingen kunt maken en plaats dat dan in dezelfde map
als waar het bestand preferences.txt ook staat.
En nu de praktijk:
Standaard opmaak is blijkbaar de java manier, d.w.z. openingshaak functie op dezelfde regel
als de functiedefinitie, en de openingshaak voor de blokstatements die volgen op if, else, while of for
ook op dezelfde regel.
cpp code
De orignele opmaak volgens het C handboek van Brian Kernnghan & Dennis M.Ritchie is anders.
De openingshaak komt bij een functie daarvoor op een nieuwe regel.
Voor deze opmaak heb ik de volgende formatter.conf gemaakt en geplaatst in de map:
/home/henk/.arduino15/
Deze map is dus voor iedereen verschillend. Kijk voor jezelf waar de preferences.txt staat:
Bestand-Voorkeuren en dan onderaan.
Je krijgt dan de volgende code:
cpp code
Er zij er ook die alle openingshaken op een nieuwe regel willen hebben,
een voorbeeld is opmaak volgens allman
De extra formatter.conf is dan:
En je krijgt dan:
cpp code
Ben je nog niet tevreden? Dan is er nog stroustrup, whitesmith, gnu, linux, google, enz
Ook andere dingen kun je aanpassen en in het confguratiebestand zetten.
Zoek naar Astyle, documentatie.
Veel succes.
netjes op te maken.
Dt kan heel eenvoudig door in je Arduino IDE door menukeuze Hulpmddelen-Automatische opmaak
te kiezen, of door sneltoets ctrl+T.
Valt je tekst niet automatisch op te maken, d.w.z. komt er een foutmelding dan is er gegarandeerd iets
niet goed in je code. (accolade's of puntcomma's zjn bekende boosdoeners)
Als je dan deze tekst selecteert en kopieert tussen de haken code2=cpp en /code2 op dit forum,
dan doe je iedereen daar veel plezier mee, en zeker de goeroe's nicoverduin, shooter en Koepel.
Echter, niet iederen is tevreden over de manier van automatische opmaak.
En dat betreft dan meestal de plaats van de openings- en slot accolade's {}.
Gelukkig is dit eenvoudig aan te passen. Arduino maakt n.l. gebruik van Astyle, een heel bekend
en veel gebruikt code opmaak programma, dat ook als plug-in voor veel editors beschikbaar is.
Dit programma heeft een configuratie bestand "formatter.conf" dat te vinden is in de map
<arduinomap>/lib
Er staat in dit bestand dat je het echter NIET moet aanpassen, maar een extra bestand met
dezelfde naam formatter.conf met aanpassingen kunt maken en plaats dat dan in dezelfde map
als waar het bestand preferences.txt ook staat.
En nu de praktijk:
Standaard opmaak is blijkbaar de java manier, d.w.z. openingshaak functie op dezelfde regel
als de functiedefinitie, en de openingshaak voor de blokstatements die volgen op if, else, while of for
ook op dezelfde regel.
cpp code
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
while(true) {
// doe dit
// en doe dat
}
}
De orignele opmaak volgens het C handboek van Brian Kernnghan & Dennis M.Ritchie is anders.
De openingshaak komt bij een functie daarvoor op een nieuwe regel.
Voor deze opmaak heb ik de volgende formatter.conf gemaakt en geplaatst in de map:
/home/henk/.arduino15/
Deze map is dus voor iedereen verschillend. Kijk voor jezelf waar de preferences.txt staat:
Bestand-Voorkeuren en dan onderaan.
- Code: Alles selecteren
# Aanvullng op originele formatter.conf
# opmaak volgens Kerninghan & Ritchie
style=kr
Je krijgt dan de volgende code:
cpp code
void setup()
{
// put your setup code here, to run once:
}
void loop()
{
// put your main code here, to run repeatedly:
while(true) {
// doe dit
// en doe dat
}
}
Er zij er ook die alle openingshaken op een nieuwe regel willen hebben,
een voorbeeld is opmaak volgens allman
De extra formatter.conf is dan:
- Code: Alles selecteren
# Aanvullng op originele formatter.conf
# opmaak volgens allman
style=allman
En je krijgt dan:
cpp code
void setup()
{
// put your setup code here, to run once:
}
void loop()
{
// put your main code here, to run repeatedly:
while(true)
{
// doe dit
// en doe dat
}
}
Ben je nog niet tevreden? Dan is er nog stroustrup, whitesmith, gnu, linux, google, enz
Ook andere dingen kun je aanpassen en in het confguratiebestand zetten.
Zoek naar Astyle, documentatie.
Veel succes.
Advertisement
Re: Arduino code opmaken
Dankjewel weer wat geleerd
Het werkt, ik heb nu "allman".
De code2=cpp gebruik ik liever niet. De links komen verkeerd te staan, en de rechtkantlijn van de hele webpagina gaat de mist in.
Ik zet graag in de sketch een link neer naar het forum topic waarvoor de sketch is, en links naar Arduino referenties. Die gaan allemaal mis
Kan Astyle ook spaties doen ?
Ik heb me een stijl met spaties aangeleerd die me erg bevalt:
Het werkt, ik heb nu "allman".
De code2=cpp gebruik ik liever niet. De links komen verkeerd te staan, en de rechtkantlijn van de hele webpagina gaat de mist in.
Ik zet graag in de sketch een link neer naar het forum topic waarvoor de sketch is, en links naar Arduino referenties. Die gaan allemaal mis
Kan Astyle ook spaties doen ?
Ik heb me een stijl met spaties aangeleerd die me erg bevalt:
- Code: Alles selecteren
if( a == b)
{
pinMode( 13, HIGH);
}
Re: Arduino code opmaken
Dat met die spaties, ik denk het wel.
Ik heb het zelf (nog) niet geprobeerd, maar een stukje uit de documentatie:
--indent=spaces / --indent=spaces=# / -s#
Indent using # spaces per indent (e.g. -s3 --indent=spaces=3 ). # must be between 2 and 20.
Not specifying # will result in a default of 4 spaces per indent.
Je kan een poging wagen.
Ik heb het zelf (nog) niet geprobeerd, maar een stukje uit de documentatie:
--indent=spaces / --indent=spaces=# / -s#
Indent using # spaces per indent (e.g. -s3 --indent=spaces=3 ). # must be between 2 and 20.
Not specifying # will result in a default of 4 spaces per indent.
Je kan een poging wagen.
Re: Arduino code opmaken
Natuurlijk had ik de indents meteen al als 2 spaties gezet (van het oorspronkelijke configuratiebestand overgenomen).
En er is "pad-paren-in", maar die zet ook een spatie aan de binnenkant van ')' acheraan. Dus mijn stijl (de beste stijl ) zit er niet tussen
En er is "pad-paren-in", maar die zet ook een spatie aan de binnenkant van ')' acheraan. Dus mijn stijl (de beste stijl ) zit er niet tussen
Re: Arduino code opmaken
Ik kan in OSX 10.11 wel de map Arduino 15 vinden, maar niet formatter.conf. Iemand een idee waar die staat? De enige die ik op de HD tegenkom staat onder Blynk
Re: Arduino code opmaken
In de Arduino installatiemap staan een aantal submappen, waaronder examples, hardware, java, libraries,
reference enz. En ook een map 'lib'.
En in deze map zit het configuratie bestand voor Astyle.
(Tenminste bij mij onder Linux Mint, en Windows 7.)
reference enz. En ook een map 'lib'.
En in deze map zit het configuratie bestand voor Astyle.
(Tenminste bij mij onder Linux Mint, en Windows 7.)
6 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 14 gasten