wing ide review features
beste unit testing framework voor java
Een uitgebreid overzicht van de functionaliteiten, voordelen en kenmerken van The Wing Python IDE:
Wing is een Python IDE (Integrated Development Environment) die ontwikkelingsactiviteiten ondersteunt met functionaliteiten zoals intelligent bewerken, debuggen en code navigatie.
Het is een software-installatie die de mechanismen combineert die nodig zijn om softwaretoepassingen te coderen en te testen.
Wat je leert:
Wing IDE: een compleet overzicht
Wat is een IDE? Waarom is het vereist?
Een Integrated Development Environment (IDE) brengt veel van de ontwikkelingstools zoals editors, bibliotheken, compilers en platforms samen als een enkel raamwerk. Ontwikkelaars gebruiken vaak meerdere tools bij het maken, bouwen en testen van softwarecode.
Zonder een IDE zal de ontwikkelaar al deze tools afzonderlijk moeten identificeren, instellen, integreren en beheren. IDE is ontworpen om de behoefte aan meerdere tools weg te nemen en ook te helpen bij het identificeren en verminderen van fouten tijdens het maken en implementeren van code.
Waarom Wing IDE?
Wing is een Python-specifieke IDE die verschillende uitstekende voordelen biedt, zoals hieronder vermeld.
- Intelligente editor
- Eenvoudige codenavigatie
- Krachtige debugger
- Geïntegreerde testen van eenheden
- Ontwikkeling op afstand
- Aanpasbaar en uitbreidbaar
We zullen deze voordelen in de volgende sectie onderzoeken.
Voordelen van Wing IDE
Hieronder volgt een gedetailleerde uitleg van elk voordeel van Wing IDE.
# 1) Intelligente editor
De editor van Wing verbetert de ontwikkeling van Python door het interactiever te maken met contextafhankelijke automatische aanvulling en documentatie, automatisch bewerken, hulp bij aanroepen, codevouwen, refactoring, meervoudige selectie, aanpasbare inline codefragmenten en bladwijzers. Wing kan andere editors emuleren zoals vim, Eclipse, Emacs, Visual Studio en XCode.
De belangrijkste kenmerken zijn:
(i) Solide Editor Basics
De Editor ondersteunt functies zoals configureerbare tabbladen en gesplitste vensters, assistentie bij het inspringen, codevouwen, foutindicatoren, bezoekgeschiedenis, flexibele selectiemodi, editor-emulatie en automatisch opslaan.
Er worden meer dan 70 vreemde talen ondersteund. Open bestanden kunnen worden geselecteerd met een pop-upmenu of met tabbladen bovenaan de editor. De editor kan worden opgesplitst in een willekeurig aantal delen, horizontaal of verticaal. Terwijl u typt, springt Wing automatisch in op basis van de context in de broncode.
De Editor matcht accolades door ze te markeren terwijl u typt. De editor van Wing IDE ondersteunt het opvouwen van code op basis van de structuur als een manier om de inhoud op het hoogste niveau van een bestand of klasse te bekijken en vervolgens in te zoomen op het interessante punt.
U kunt afzonderlijke functies opvouwen met behulp van de vouwmarge, een definitie volledig samenvouwen en vervolgens incrementeel uitvouwen of alle methoden of klassen opvouwen voor een weergave van het bovenste niveau van een module.
(ii) Intelligente automatische aanvulling
De auto-completer van Wing gebruikt zowel statische als runtime-analyse om contextafhankelijke aanvullingen te bieden in de editor en geïntegreerde Python-shell.
De bronassistent wordt bijgewerkt terwijl je door de editor, auto-completer en andere delen van de IDE beweegt om documentatie, informatie over het overnemen van objecten, aanroephandtekening en links naar Python-documentatie voor ingebouwde en standaardbibliotheek te tonen.
Voor blokken zoals ‘proberen’ voegt wing automatisch accept toe en kunt u het uitzonderingstype toevoegen of converteren naar een try-final-blok.
(iii) Automatisch bewerken
Een reeks Auto-Editing-bewerkingen vereenvoudigt het coderen verder, Bijvoorbeeld, Wing voert automatisch argumenten in wanneer u typt en aanroepen stelt u in staat door de lijst met argumenten te bladeren. Wing verwijdert automatisch alle ongewijzigde standaardwaarden wanneer u de aanroep verlaat.
U kunt ook gemakkelijk codeblokken wijzigen door het rangschikken van regels te selecteren en op de dubbele punt te drukken om een nieuw blok met die regels te maken. U kunt ook herhaaldelijk op de dubbele punt drukken om de volgende regel of een aaneengesloten reeks regels onder een nieuw blok te verplaatsen.
Andere opties voor automatisch bewerken zijn onder meer automatisch inspringen, automatisch spatiëring optioneel in pep8-stijl en automatisch corrigeren van niet in de juiste volgorde typen. Wanneer een bestand met gemengde inspringing wordt geopend of als een bestand inspringingsfouten bevat, kan de Wing optioneel waarschuwen voor het bestand en aanbieden om de inspringing te repareren en te converteren.
Als er inspringingsfouten in het bestand voorkomen, geeft het inspringgereedschap knoppen weer die kunnen worden gebruikt om de fouten op te sporen en te herstellen. Er is zelfs een optionele turbo-voltooiingsmodus voor Python waarbij elke niet-symbooltoets een voltooiingssleutel wordt, afhankelijk van waar je typt en welke toets je indrukt.
(iv) Refactoring
Refactoring helpt bij het opnieuw ordenen van de code zonder de functionaliteit ervan te beïnvloeden. Het verplaatsen van het definitiepunt en het hernoemen van symbolen, het creëren van een functie of methode op basis van een bestaande code, het toevoegen van een variabele voor expressie en het bijwerken van de stijl van de naamgeving van symbolen wordt ondersteund door Wing.
Wings refactoring tool reorganiseert code zonder fouten te introduceren.
U kunt alle gebruikers van een symbool een andere naam geven zonder in de war te raken door andere symbolen die dezelfde naam hebben. U kunt code extraheren door een codebereik te selecteren en er een nieuwe functie of methode van te maken. U kunt variabelen introduceren voor expressie en u kunt symbolen verplaatsen door automatisch alle gebruikspunten bij te werken.
Het selecteren van code voor refactoring en andere bewerkingen is eenvoudig met behulp van de pijltoetsen omhoog en de pijl omlaag om code in logische eenheden te selecteren.
(v) Multiselectie
Wing ondersteunt het maken van meerdere selecties van dezelfde uitdrukking binnen een blok, bestand of bereik door op de editor te klikken en past wijzigingen uniform toe op de selecties.
(vi) Codefragmenten
Wing ondersteunt een snelle invoer van universele codesjablonen en de meest gebruikte structuren van de automatische invuller van de editor, aangeboden in de vorm van codefragmenten die worden ingevoerd door de code te doorlopen. Fragmenten kunnen verschillende vormen aannemen op basis van de aanroepende context.
Wing gebruikt runtime en statische analyse om complexe of onbekende code te begrijpen en er doorheen te navigeren. U kunt de code gemakkelijk omzeilen door een fragment van een bestand of symboolnaam te typen met behulp van de code-indexmenu's of vanuit de bronbrowser.
(i) Ga naar-definitie en zoek symbool
De Wing verplaatst zich naar het definitiepunt van een symbool door elk gebruik van het symbool in de editor. Wing IDE maakt het gemakkelijk om naar het punt van definitie van een symbool in de Python-broncode te springen door erop te control-klikken, op F4 te drukken of met de rechtermuisknop te klikken en te selecteren ‘Ga naar definitie’
De Editor bevat symboolindexmenu's voor navigatie binnen een bestand. De vakken Symbool zoeken en Symbool zoeken in de vakken Project helpen bij het zoeken naar de definitie van een symbool door fragmenten van een symbool te typen. De knoppen voor terug en vooruit bezoekgeschiedenis linksboven in de editor kunnen worden gebruikt om terug te keren van of om het punt van definitie opnieuw te bezoeken.
(ii) Vind punten van gebruik
Wing navigeert en inspecteert het gebruik van een symbool in de code van een project of in een bepaald pad. Wing kan in de editor zoeken naar gebruikspunten van bronsymbolen en deze weergeven. Alleen echt gebruik van het symbool wordt getoond en niet andere symbolen die toevallig dezelfde naam hebben.
Klikken op het 'Toepassingen' tool brengt het punt van gebruik in de editor naar voren. Door met de rechtermuisknop te klikken, kunt u alle nuttige punten voor een symbool in elke module van uw project of elke code die u importeert, vinden.
(iii) Bronbrowser
De bronbrowser helpt u bij het navigeren door de hele code per module of klassehiërarchie in het huidige bestand of het hele project. Het toont een bronindex die het gemakkelijk maakt om door code in het huidige bestand of project te navigeren.
De structuur van het bestand wordt getoond samen met de soorten symbolen, of ze geïmporteerd of geërfd zijn en of ze privé zijn voor hun bereik.
De weergave kan worden gefilterd om bepaalde soorten symbolen weg te laten of symbolen die zijn overgenomen of geïmporteerd. De bronbrowser kan ook symbolen weergeven voor alle pakketten en modules in het project en het geeft een overzicht van alle klassen die in het project of op het Python-pad zijn gevonden.
(iv) Krachtige zoekfunctie
U kunt code zoeken en vervangen in een bestand, directory of alle projectbestanden met functionaliteiten zoals tekstmatching, reguliere expressies of jokertekens. Wing biedt handige zoekinterfaces voor verschillende zoektaken. Zoeken op de werkbalk is een snelle en gemakkelijke manier om te zoeken naar een eenvoudige tekstovereenkomst in het huidige bestand.
Toetsenbordgestuurd mini-zoeken in het menu Bewerken is een meer geavanceerde manier om te zoeken naar tekst en reguliere expressies in één bestand. De zoekfunctie implementeert een bekende grafische gebruikersinterface voor zoeken en vervangen van tekst in één bestand, jokertekens en reguliere expressies.
Dankzij de krachtige zoek- en vervangfunctie voor meerdere bestanden van de tool voor het zoeken in bestanden kunnen zoekopdrachten worden uitgevoerd op alle bestanden in het project, alle geopende bestanden of binnen een geselecteerde map.
De reeks bestandszoekopdrachten kan worden beperkt met bestandsfilters en er zijn een aantal andere opties voor de zoekstijl en het wijzigen van de lijst met resultaten. De tool voor het zoeken in bestanden omvat het vervangen van meerdere bestanden met behulp van een reguliere expressie, groepsmatching en kan ook worden gebruikt om door de geïntegreerde documentatie van Wing IDE te zoeken.
# 3) Krachtige debugger
Wing's Python Debugger is gemodelleerd om bugs en interactieve ontwikkeling van code op te lossen en te isoleren. De Wing kan elke Python-code debuggen, ongeacht hoe deze is gestart en of deze lokaal of op een andere machine wordt uitgevoerd.
De Debugger is compatibel met de code die wordt gestart vanuit IDE, wordt uitgevoerd door een webframework of server, wordt aangeroepen als script in een ingesloten kopie van Python of wordt uitgevoerd op een externe host. U kunt ook Django-sjablonen en unit-tests debuggen die worden uitgevoerd vanuit de geïntegreerde testtool Wings.
(i) Solide basisprincipes van foutopsporing
Met Wing kun je breakpoints instellen om je code te stoppen in de editor of Python Shell. Als je eenmaal een breekpunt of uitzondering hebt bereikt in de Debugger, kun je de programmastatus inspecteren vanuit de stack data tool of je kunt communiceren in de debug probe, een Python shell die werkt in het huidige debug stack frame.
Wing toont waarden voor foutopsporingsgegevens wanneer de muis over symbolen in de editor beweegt en er is een controletool om uitdrukkingen of waarden in de loop van de tijd te bekijken, hetzij op symbolische naam, hetzij op objectreferentie. Wing IDE kan niet alleen Python-code debuggen, maar ook Django-sjabloonbestanden.
Je kunt Django starten in de Debugger en een browser gebruiken om een pagina te laden die de sjabloon oproept.
U kunt de debugger-faciliteiten van Wing gebruiken in elke Python die de sjabloon aanroept of die wordt aangeroepen door de sjabloon of de sjabloon zelf. Wing vervangt de Python-stapelframes in de Django-sjabloonengine door stapelframes op basis van de sjablooncontextgegevens en de sjabloonstapel.
De foutopsporingsprobe is handig voor interactie met de gegevens van de sjabloon tijdens het onderbroken foutopsporingsproces. Terwijl de debugger actief is, geeft het COG-pictogram in de automatische voltooiing van de editor aan dat de voltooiing ook wordt gevoed door de live runtime-status in de sjabloonengine.
(ii) Verplaats de programmateller
Move Program Counter volgt de huidige regel van code-uitvoering terug, zodat u terug kunt gaan en over een falende code heen kunt stappen zonder de debug-modus opnieuw te starten. De Debugger kan op en neer gaan in de stapel of in of over functie- en methodeaanroepen stappen. Als u voorbij het interessante punt stapt, kunt u op een regel in het onderste stapelframe klikken en de programmateller verplaatsen.
(iii) Voorwaardelijke breekpunten
Voorwaardelijke breekpunten worden gebruikt wanneer een code meerdere keren wordt aangeroepen, om bugs te identificeren en op te lossen die van invloed zijn op een specifiek onderdeel. Voorwaardelijke breekpunten maken het gemakkelijk om een bepaald falend geval te isoleren om de code herhaaldelijk aan te roepen.
(iv) Debug-opdrachtregel
Wing's Debug Probe is een automatisch aanvullen Python-shell die wordt uitgevoerd in de context van het huidige debug-stackframe. Het inspecteert en werkt tijdens runtime met gegevens om een bug te begrijpen en een oplossing te voltooien.
U kunt onmiddellijk nieuwe code uitproberen in de debug-probe of door codebereiken te evalueren vanuit de editor in de geïntegreerde Python-shell. Dit is een handige manier om de code uit te proberen of ermee te spelen, of om een oplossing voor een bug te ontwerpen.
(v) Interactieve ontwikkeling
De Editor en Debugger werken samen om ervoor te zorgen dat de code intelligence-functies profiteren van de live runtime-status. Naar een breekpunt rennen is een geweldige manier om een nieuwe code te schrijven met directe toegang tot de live runtime-status. De Debugger is geïntegreerd met unit-testfuncties om de interactieve ontwikkeling testgestuurd te maken.
(vi) Recursieve foutopsporing
Met recursieve foutopsporing kunt u de code debuggen wanneer u zich op een breekpunt of uitzondering bevindt tijdens een foutopsporingssessie.
(vii) Foutopsporing voor ontwikkeling op afstand
Ondersteuning voor externe ontwikkeling kan externe code starten vanuit IDE. De Wing kan worden geconfigureerd om code te debuggen die op een externe host is gestart.
# 4) Geïntegreerde testen van eenheden
Wing biedt een testgestuurde ontwikkelingsbenadering zoals unit-test, doc-test, py-test en Django-testframeworks. Geïntegreerd met de debugger, is het proces snel en efficiënt.
(i) Beheer van unit-tests
Wing IDEs-testtool kan worden gebruikt om eenheidstests in uw project te verzamelen en uit te voeren. Unit-tests kunnen worden gemaakt als individuele bestanden of worden geselecteerd met behulp van reguliere expressies of jokertekens die op de projectinhoud worden toegepast. Tests kunnen helemaal worden uitgevoerd, een voor een of via filtering.
Wanneer tests worden uitgevoerd, worden de resultaten weergegeven in de testtool en als u op een resultaat klikt, wordt de test in de editor weergegeven. Mislukte tests kunnen prioriteit krijgen. Resultaten omvatten de datum, de looptijd en eventuele uitzonderingen of fouten die door de test zijn veroorzaakt. Een samenvatting van de testresultaten kan worden gekopieerd en geplakt om te delen met teamleden.
(ii) Foutopsporingstests
De testtool van Wing ondersteunt het uitvoeren van tests in de Debugger als een manier om snel problemen te diagnosticeren en op te lossen die door Unit-tests worden onthuld. Door tests te definiëren en uit te voeren tot een breekpunt, kan nieuwe code worden geschreven en getest in de context van de live runtime-status, waardoor bewerkings- en testreworktijd wordt bespaard.
(iii) Flexibele testaanroep
Startconfiguraties worden gebruikt om tests uit te voeren en te debuggen in aangepaste omgevingen. Om de uitvoeringssnelheid te verhogen, kunnen meerdere testprocessen gelijktijdig in een module of pakket worden uitgevoerd. Unit-tests kunnen ook buiten Wing worden uitgevoerd en de resultaten kunnen later worden geïmporteerd.
# 5) Ontwikkeling op afstand
Wing ondersteunt ontwikkeling op afstand waarbij de Python-code kan worden uitgevoerd op een externe host, container of virtuele machine met beveiligde toegang tot alle functies van de Wing.
(i) Gemakkelijke toegang tot externe hosts
Remote Host is snel te configureren en is toegankelijk via SSH. Wing's Python Shell en OS Commands-tool helpt bij het uitvoeren van Python en andere opdrachten op de externe host.
(ii) Flexibel projectbeheer
Projectbestanden die zijn opgeslagen op meerdere systemen en externe hosts kunnen worden geopend met Wing.
(iii) Foutopsporing op afstand
Wing breidt alle foutopsporingsfunctionaliteiten uit voor foutopsporing op afstand, zoals stoppen bij breekpunten en uitzonderingen, gegevens inspecteren en code doorlopen. Doorsturen via X11 ondersteunt foutopsporingscode die vensters weergeeft, door de vensters te verplaatsen naar waar Wing wordt gehost.
# 6) Aanpasbaar en uitbreidbaar
Het display en de functies van Wing zijn configureerbaar.
(i) Pas de interface-indeling en kleur aan
De gebruikersinterface kan worden geconfigureerd met opties om de positie van Editor-splitsingen en toolboxen, menu- en werkbalkinhoud, kleur, lettertypen en syntaxis aan te passen. Wing kan de editor en tools van de IDE ordenen in een enkel venster of in twee multi-window-modi. De werkbalkkleuren en vele andere configuratie-opties zijn ook aanwezig.
Tools kunnen van paneel naar paneel worden verplaatst en er kunnen meerdere exemplaren van dezelfde tool worden gemaakt. Het editorgebied kan willekeurig worden opgesplitst of weer worden samengevoegd tot een enkele editorweergave. Gereedschapspanelen kunnen ook worden onderverdeeld in meerdere splitsingen. Zowel de editor als de tool kunnen ook van paneel naar paneel of naar een apart venster worden verplaatst.
De gereedschapsgebieden kunnen gemakkelijk worden verborgen en weergegeven met de F1- en F2-toetsen en shift F2 maximaliseert het Editor-gebied.
(ii) Functionaliteit aanpassen
Wing kan Visual Studio, vi, Eclipse, XCode en emacs emuleren. Functies kunnen worden in- / uitgeschakeld en geconfigureerd om zich naar wens te gedragen.
(iii) Vleugel uitbreiden met Python
Wing biedt een scripting-API die het mogelijk maakt om de IDE uit te breiden door Python-scripts te schrijven. Python-scripts bieden de functionaliteit voor zowel menubalken als tools in editor- en projectcontextmenu's.
U kunt Wing debuggen en ontwikkelen met Wing. De plaatsen waar wing naar extensiescripts zoekt, kunnen worden geconfigureerd in voorkeuren. Scripts werken net als ingebouwde IDE-opdrachten en kunnen worden toegewezen aan sneltoetsen.
Meest bruikbare functie: debuggen
Zodra Wing een breekpunt of uitzondering bereikt, kunt u regel voor regel door uw code lopen, optioneel in of uit een functie- of methodeaanroep stappen. Als u in de editor over symbolen beweegt, wordt de huidige waarde van dat symbool weergegeven als het actief is op de stapel.
De stack-data-tool toont locals en globals voor het huidige stack-frame en kan samengestelde waarden uitbreiden om hun onderdelen te bekijken. Een vergelijkbare tool geeft de modules weer die zijn geladen door het foutopsporingsproces en maakt het mogelijk om alle gegevens die erin zijn opgeslagen te inspecteren.
Wing kan ook de waarde van symbolen bekijken terwijl je door je code stapt. Dit kan worden gedaan aan de hand van de naam van het symbool of u kunt een bepaald exemplaar bekijken aan de hand van de objectreferentie.
Met de ladder kunt u een waarde bekijken, zelfs als het symbool buiten het bereik zou vallen. Wing maakt het ook mogelijk om waarden te wijzigen tijdens debuggen, wat in sommige gevallen handig kan zijn om uit te proberen hoe hun live code zich zal gedragen met verschillende gegevens.
Gevolgtrekking
Wing IDE biedt verschillende handige functies, zoals ingebouwde debugger, debugging in threads, controles op fouten in de broncode, uitzonderlijk responsieve ondersteuning, superflexibele macro-mogelijkheden, aanpasbare plug-ins en is de prijs absoluut waard.
Ben je klaar om Wing IDE te proberen?
Aanbevolen literatuur
- 12 beste Python IDE's en code-editors in 2021
- Werken met Python-woordenboek - Zelfstudie met codevoorbeelden
- Invoer-uitvoer en bestanden in Python (Python openen, lezen en schrijven naar bestand)
- Python Main Function-zelfstudie met praktische voorbeelden
- Python OOPs-concepten (Python-klassen, objecten en overerving)
- Python-zelfstudie voor beginners (hands-on GRATIS Python-training)
- Top 10 populairste tools voor codebeoordeling voor ontwikkelaars en testers
- Selenium IDE Download Installatie en introductie van kernfuncties