# Wing IDE

Wing IDE est un environnement de développement intégré (IDE en anglais) développé par Wingware qui est conçu spécifiquement pour le langage de programmation Python. Il a été créé pour réduire les temps de développement et de débogage, pour diminuer les erreurs de codage, et rendre plus facile la compréhension et la navigation dans le code Python.
Il fournit un débogueur en local et à distance, de l'édition (avec de multiples raccourcis clavier, de l'auto-complétion, et de l'auto-édition). Il apporte aussi un code intelligent, un navigateur de source et la navigation du code. ll aide également lors de la refactorisation, des tests unitaires, de la gestion de version, de l'intégration Pylint. Il permet d'améliorer la gestion de projet, les capacités de recherche, et la documentation conséquente.

## Niveaux de produits

Wing IDE est disponible avec trois niveaux de produits :
* Wing IDE Professional -- La version complète et commerciale de l'IDE
* Wing IDE Personal -- Une version low-cost qui omet quelques fonctionnalités
* Wing IDE 101 -- Une version gratuite simplifiée pour les enseignants, les étudiants et les amateurs.
Pour les détails sur les fonctionnalités fournies dans chaque produit veuillez voir la matrice des fonctionnalités (en anglais). Les trois versions de Wing IDE tournent sur Windows, Mac OS X et Linux.
Des licences gratuites pour la version professionnelle sont disponibles pour quelques utilisations Éducatives et pour les développeurs non payés de Programmes Open Source, (voir ici, en anglais).

## Débogueur

Le niveau de support de débogage dépend de la version utilisée.
La version gratuite (101), version supporte :
* Débogage de GUI (interface graphique), Web, et scripts
* Rapports de retraçage des exceptions
* Vue de pile, locals/globals, et retour des valeurs
* Supporte input et raw_input
* E/S intégrées avec le process de débogage avec un encodage de texte configurable
* Console native d'E/S
L’Édition Personnelle rajoute :
* Débogage multi-threads
* Débogage à distance
* Débogue value tooltips
* Détecte les exceptions non gérées
* Fonctionne avec Django, web2py, Flask, Google App Engine, Plone, Turbogears et Zope
* Modification des valeurs de données durant le débogage
* Multiples points d'entrées nommés et de configurations de lancement de débogage
Et l’Édition Professionnelle inclut :
* Une sonde de débogage interactive avec auto-complétion, surbrillance syntaxique, "aller à" (goto) à la définition, call tips, et des liens vers la documentation
* Un outil pratique de redémarrage du débogage
* Suivre les valeurs par référence
* Évaluer les expressions
* Points d'arrêts conditionnels
* Points d'arrêts qui comptent les "ignorances"
* Activer/désactiver les points d'arrêts
* Déplacer le compteur de débogage de programme
* Débogage multi-process et automatique des processus enfants
* Débogue les tests unitaires
* Gestionnaire des points d'arrêts
* Attachement/détachement des process
* Inspecte sys.modules
* Débogue les fichiers types Django
* Support du mainloop matplotlib
* Marque une large gamme de code dans l'éditeur pour une réévaluation rapide dans le Shell Python ou la Sonde de Débogage

## Intelligence du code

* Auto-compléteur : propose des complétions tant dans l'éditeur que dans les shells Python intégrés.
* Assistant de Source : fourni un appel de signature approprié au contexte et source la documentation dans l'éditeur et le gestionnaire de sources.
* Indicateurs d'erreurs : signale le mauvais code lors de la frappe.
* Gestionnaire de source : parcours les fichiers simples ou le projet entier par module ou hiérarchie de classe.
* Goto-definition : amène directement au point de définition.
* Trouver un Symbole : un "goto-definition" géré au clavier dans le fichier courant ou tout fichier du projet.
* Trouver les Utilisations : trouver tous les points d'utilisations d'une symbole, filtrage des symboles différents mais ressemblant au symboles.
* Refactorisation : renommage ou déplacement d'un symbole et mise à jour des points d'utilisation, ou extraction d'un morceau de code pour une nouvelle fonction ou méthode.
* Menus de navigation : menus par couches dans chaque éditeur qui fournit un index pratique dans le code source.
* Analyseur d'indentation : inspecte, répare, et convertit le style d'indentation dans les fichiers source. L'éditeur de Wing auto-indente également le texte et les blocs selon le contexte.

## Gestion des versions

L'intégration de la gestion de versions est seulement disponible dansWing IDE Professional. Elle supporte :
* Subversion,
* CVS,
* Bazaar,
* git,
* Mercurial, et
* Perforce.

## Autres fonctionnalités

* Emule emacs, vim, Visual Studio, Eclipse, Xcode, et Brief, et les utilisateurs peuvent rajouter les raccourcis clavier personnalisés
* Surbrillance de la syntaxe pour Python, Django (web framework) templates, CoffeeScript, HTML/XML, CSS, Javascript, C/C++, et près de 70 autres langages de programmation
* Shell Python intégré avec auto-complétion, surbrillance syntaxique, goto-definition, call tips et liens vers la documentation
* Interfaces de recherches par clavier ou interface graphique dans un ou plusieurs fichiers, utilisant la correspondance de texte, les jokers ou la recherche avec des expressions régulières (regex)
* Lancement et débogage de tests unitaires écrit avec unittest, pytest, doctest, nose, et les templates de test Django
* Disposition de l'interface graphique flexible et des schémas de couleurs
* Gestionnaire de projet avec des recherches larges de projet, ouverture rapide de fichier projet, et gestion de versions intégré avec la gestion de fichiers
* Signets (Bookmarks)
* Bouts de code (snippets) avec des entrées récursives en ligne
* Intégration de Pylint
* Des perspectives pour nommer des dispositions de l'interface graphique
* Exécute des commandes externes dans l'outil intégré de Commandes de l'OS
* Large documentation, How-Tos, et tutoriels
* Extension des fonctionnalités de l'IDE avec des scripts Python
* Localisation de l'interface graphique en Français et Allemand maintenue par du volontariat

## Historique

La première version publique de Wing IDE a été publiée le 07/09/2000 comme 1.0 beta, seulement pour Linux.
La première version stable était la v1.0 pour Linux, le 01/12/2000.
Les versions 4.x de Wing et les précédentes étaient basées sur GTK2 et la version OS X nécessitait X11. Wing 5.0 et les suivantes sont basées sur Qt4 et n'utilisent plus X11 sur OS X.
L'histoire de toutes les versions jusqu'à aujourd'hui peut être trouvée (en anglais) à http://wingware.com/news