[[TOC(heading=Ontwikkelomgeving)]] [[TOC(heading=Omgeving, sectionindex, compact, depth=3, allactive, Documentatie/Ontwikkelaar/Omgeving/)]] [[TOC(heading=Ontwikkelaar, sectionindex, compact, depth=2, allactive, Documentatie/Ontwikkelaar/)]] [[TOC(heading=Documentatie, sectionindex, compact, depth=1, allactive, Documentatie/)]] = Ontwikkelomgeving (IDE) = Een ontwikkelomgeving -- integrated development environment -- biedt je een omgeving waarbinnen je de sources van OpenAC kunt bewerken; een goede IDE biedt daarbij onderstaeuning aan voor het debuggen van problemen, het volgen van de programma-flow en helpt fouten te voorkomen. [[Image(pycharmlogo.png, class=inline)]] De standaard ontwikkelomgeving voor OpenAC is [#PyCharm PyCharm]. Dit is een gratis (community versie) of betaalde IDE die speciaal voor Python-ontwikkeling is gemaakt. Het is uiteraard ook mogelijk om gewoon met een tekst-editor de sources te bewerken, maar dan heb je geen ondersteuning van de IDE. == !PyCharm == #PyCharm [https://www.jetbrains.com/pycharm/download/ PyCharm] is een gratis (en Free Software) IDE voor Python; er is ook een betaalde versie. De documentatie van !PyCharm zelf is behoorlijk uitgebreid. === Algemene Instellingen === - !PyCharm volgt nauwkeurig PEP8, de standaard voor Python code, dus je hoeft niks aan tabs en spaties in te stellen. Het gebruikt vanzelf 4 spaties indent. - Ga via ''File'' -> ''Settings'' om de instellingen van de editor op te vragen. - Onder het kopje ''Editor'' -> ''File Encodings'', kies ISO-8859-1 (Latin 1) als project encoding. De IDE encoding kan je op UTF-8 laten staan, of in Latin 1 varianderen. Klik dan apply. - Onder ''Tools'' -> ''Python Integrated Tools'', kies bij ''Docstring format'' het formaat ''Epytext''. Dit lijkt het meest op Doxygen. === OpenAC SVN toevoegen aan !PyCharm === Dit hoeft maar een keer, om OpenAC SVN toe te voegen als repository voor verschillende versies van OpenAC. Je kunt ook buiten PyCharm om een checkout doen met command-line SVN tools of met git, maar dan moet je zelf uitzoeken hoe je het project toevoegt en commits doet. Belangrijk: open allereerst de instellingen van PyCharm (File -> Settings...). Vink vervolgens onder Version Control -> Subversion de optie "Use command line client" uit. Hierdoor gebruikt PyCharm de ingebouwde subversion client. Als de optie "Use command line client" is aangevinkt dan moet je subversion apart installeren en moet svn in het pad staan. - Kies ''VCS'' -> ''Checkout from Version Control'' -> ''Subversion''. - Er staat ''nothing to show'' omdat er geen SVN repository is toegevoegd. - Klik op de groene + bij ''repositories''. - Vul als repository-URL in `https://svn.openac.fenac.nl/` === Nieuwe versie OpenAC toevoegen aan !PyCharm project === Je wilt bijvoorbeeld 2.006 toevoegen aan de lijst. [[Image(nv1.png)]] - Kies ''VCS'' -> ''Checkout from Version Control'' -> ''Subversion''. - Kies ''!https://svn.openac.fenac.nl'' -> ''release'' -> ''v2.006''. - Selecteer ''v2.006'' en klik op ''Checkout''. - Maak een nieuwe map aan in je projectenmap, noem die `openac_2006` (omdat het om v2.006 gaat). In dit geval: [[Image(nv2.png)]] - Selecteer de map `openac_2006` en klik op ''OK''. - Kies de opties zoals hier (doelmap, revisie ''HEAD'', volledige diepte): [[Image(nv3.png)]] - Kies 1.7 format bij Subversion Working Copy Format. Als je dat niet doet, dan kan de OpenAC Python 2.7 runtime er niet mee overweg. - Even geduld terwijl het project wordt uitgecheckt. - Kies Yes op de vraag ''Would you like to open the directory projecten\openac_2006?'' - Open in current window -> Add to currently opened projects -> OK. - Versie 2.006 staat er nu bij: [[Image(nv4.png)]] == Tekst-Editor == Er zijn verschillende tekst-editors die gewoonlijk onder Linux worden gebruikt. Kate biedt een soort halve-IDE aan, met projecten en plugins, zonder dat het al te zwaar wordt. Hier staan instellingen die in de tekst-editor gedaan moeten worden; hoe dat moet hangt van de editor af: - Tab width 4. - Expand tabs to spaces. - End-of-line is LF (niet CR/LF). - File encoding is ISO-8859-1 (Latin 1). == Docstrings == Om automatisch documentatie te kunnen genereren moet je de docstrings op een bepaalde manier gebruiken. Stel je de setting van !PyCharm op deze manier in, dan genereert !PyCharm het juiste format. [[Image(docstring.png)]] De docstrings die zo gegenereerd worden, maken gebruik van `@param` en `@return`. Daarnaast kan je ook type-informatie opnemen, zodat !PyCharm betere autocomplete kan bieden. Een typisch stuk documentatie ziet er zo uit: {{{ def friemel(iets, extra=False): """ Beschrijving wat `friemel()` doet, in algemeen leesbare termen. Als friemelen al een zelfbeschrijvende functienaam is, dan hoeft daar niet veel te staan. Zet Trac-style code- markers om functieaanroepen. Als je naar de parameter @p iets verwijst in de lopende tekst, zet er dan @p voor. Dat is niet standaard epytext, wel Doxygen-style. Je kan met @return een type opgeven, zodat PyCharm automatisch type-informatie heeft daar waar je `friemel()` gebruikt. @param iets: Schrijf een langere uitleg over de parameter @p iets. Precondities, of verwacht gebruik. Als je een specifiek type verwacht voor @p iets, kan je de @type annotatie gebruiken -- dat helpt PyCharm ook in autocomplete. @type iets: list[int] @return: list[float] """ }}}