tou is 'n Python IDE. Python tou se hoofdoel is om funksies soos motor-voltooiing, refactorings, inhoud hulp, en buitelyne te verskaf.
Refactoring: In die afgelope jaar refactoring het 'n basiese taak van die alledaagse programing, spesiaal in java gemeenskap. In die ratse programing metodologieë soos Extreme programing, refactoring is een van die kern praktyke.
Sommige IDES ondersteun 'n paar basiese refactorings soos 'PyDev' (wat gebruik maak van die fiets herstel man). Hierdie IDES het 'n beperkte stel van refactorings en misluk wanneer doen refactorings wat nodig het om die tipe van voorwerpe in die bron-kode (spesiaal vir relatief groot projekte) te leer ken. tou probeer om 'n ryk versameling van refactorings te voorsien. Sommige van die refactorings vereis tipe afleidings wat later beskryf.
Auto Voltooiing: Een van die basiese kenmerke van die moderne IDES is die beskikbaarheid van die motor-voltooiing. Sommige Python IDES het outo-voltooiing ondersteuning, maar in 'n beperkte vorm. Sedert die tipe van baie veranderlikes kan nie afgelei word uit eenvoudige ontleding van die bron-kode. Auto-voltooi modules name, klas name, statiese metodes, klas metodes, funksie name en veranderlike name is maklik. Maar motor-voltooiing van die metodes en eienskappe van 'n voorwerp is hard. Omdat die IDE moet die tipe van die voorwerp wat nie maklik bereik word die meeste van die tyd in 'n dinamiese tale te leer ken. tou gebruik Tipe afleidings algoritmes hierdie probleem op te los.
Tipe afleidings: Een nadeel van dinamiese tale soos luislang is dat jy nie kan weet die tipe veranderlikes deur 'n eenvoudige ontleding van program bronkode meeste van die tyd. Wetende dat die tipe veranderlikes is baie belangrik vir die verskaffing van baie van die refactorings en motor-aanvullingen. tou sal tipe afleidings gebruik om hierdie probleem te oorkom.
Statiese tipe afleidings gebruik program bronkode van die tipe van voorwerpe te raai. Maar tipe afleidings python programme is baie moeilik. Daar was 'n paar pogings hoewel nie baie suksesvol (voorbeelde: psigo: net str en int tipes, StarKiller: was nie vrygelaat en ShedSkin: goed, maar beperk). Hulle waar veral gerig op die bespoediging van python programme deur die transformasie van die kode te ander getikte tale eerder as die bou IDES. Sulke algoritmes kan nuttig wees.
Daar is 'n ander benadering tot tipe afleidings. Dit is die ontleding van die bestuur van programme. Hierdie dinamiese benadering rekords van die tipes veranderlikes toegeskryf tydens die program uitvoering. Hoewel hierdie benadering is 'n baie makliker om te implementeer as die alternatief, dit is beperk. Slegs die dele van die program wat uitgevoer word, word ontleed. As ontwikkelaars skryf eenheid toetse en gebruik toets gedryf ontwikkeling van hierdie benadering werk baie goed
Wat is nuut in hierdie release:.
- codeassist: beter hantering van unicode in docstrings
- codeassist: hantering ingeboude onbekendes, soos sys.stdout
- codeassist: voorstelle bestekke en tipes hersiene
- fscommands: hanteer HG bemanning ui veranderinge
- patchedast: hanteer ExtSlice node
Wat is nuut in die weergawe 0.9.2:
- Die autoimport module ondersteun nou caching alle sub-modules van 'n module.
- Rekursie wanneer laai modules is vasgestel.
- Basiese ondersteuning vir setuptools is bygevoeg.
- Die uittreksel metode is verander voorwaardelike veranderlike updates te hanteer.
Wat is nuut in die weergawe 0.9.1:
- Die import_dynload_stdmods veranderlike is bygevoeg om die grootte te verminder van die extension_modules veranderlike.
- Sommige Windows-spesifieke foute is vasgestel.
Wat is nuut in die weergawe 0.9:
- Wysigings sedert 0.8.4:
- ondersteun Darcs VCS
- hantering van lêers met Mac line-eindig
- nie soek alle lêers wanneer lining 'n plaaslike veranderlike
- vaste Cygwin pad probleme Sommige van die wysigings sedert 0.8:
- lining veranderlike in ander modules
- bygevoeg `rope.contrib.findit.find_definition ()`
- 'n beter uitbreiding module hanteer
- bygevoeg `rope.contrib.findit.find_definition ()`
- bygevoeg GIT ondersteuning in fscommands
- lining parameters
- terug invoer onderstreepte name in beweging
- bygevoeg `codeassist.get_calltip ()`
- bygevoeg `libutils.analyze_modules ()`
- bygevoeg `` soa_followed_calls`` projek config
- `libutils.report_change ()` lui `automatic_soa`
- hantering eiendom versierder
Vereistes :
- Python
Kommentaar nie gevind