lano je Python IDE. Hlavním cílem Python lano je poskytnout funkce, jako je automatické dokončování, refaktorováních, pomoc obsahu a obrysy.
Refactoring: V posledních letech refactoring stala základním úkolem každodenního programování, zvláště v java komunitě. V agilních metodik programovacích, stejně jako extrémní Programování, Refactoring je jedním z hlavních praktik.
Některé IDE podporovat některé základní refaktorování jako 'PyDev "(který používá kol opravy člověka). Tyto IDE mají omezenou sadu refaktorováních a selhat, když dělá refaktorování, které je potřeba znát typ objektů ve zdrojovém kódu (zvlášť u relativně velkých projektů). lano se snaží zajistit bohatou sadu refaktorování. Některé refaktorování vyžadují typu inferencing, který je popsán později.
Auto Dokončení: Jedním ze základních rysů moderních IDE je dostupnost automatické dokončování. Některé Python IDE mít podporu auto-dokončení, ale v omezené formě. Vzhledem k tomu, typu mnoha proměnných nelze vyvodit z jednoduché analýzy zdrojového kódu. Auto-vyplňování moduly jména, názvy tříd, statické metody, metody třídy, názvy funkcí a názvy proměnných je snadné. Ale auto-dokončení metody a atributy objektu je těžké. Vzhledem k tomu, IDE potřebuje znát typ objektu, který nemůže být snadno dosaženo po většinu času v dynamických jazycích. lano používá Type Inferencing algoritmy k řešení tohoto problému.
Typ Inferencing: Jednou z nevýhod dynamických jazyků, jako je Python, že nemůžete znát typ proměnných jednoduchou analýzou zdrojového kódu programu většinu času. Znalost typu proměnných je velmi důležité pro poskytování mnoha refaktorováních a auto-dokončených. lano použije typ inferencing pro překonání tohoto problému.
Statické typ inferencing používá programový zdrojový kód uhodnout typu objektů. Ale typ inferencing python programy je velmi těžké. Tam byly některé pokusy i když ne moc úspěšné (příklady: psycho: pouze str a int, Starkiller: nebyl propuštěn a ShedSkin: dobrý, ale omezená). V případech, kde převážně směrováno na urychlení python programy tím, že změní svůj kód do jiných tištěných jazyků, spíše než stavba IDE. Tyto algoritmy mohou být užitečné.
Tam je jiný přístup k typu inferencing. To je analýza spuštěných programů. Tento dynamický přístup zaznamenává typy proměnné jsou přiřazeny v průběhu realizace programu. I když tento přístup je mnohem snazší implementovat než alternativa, to je omezené. Jen ty části programu, které jsou prováděny jsou analyzovány. Pokud vývojáři psát unit testy a používat testovací řízený vývoj tento přístup funguje velmi dobře
Co je nového v této verzi:.
- codeassist: lepší manipulace s Unicode docstrings
- codeassist: Manipulace vestavěný neznámých, jako je například sys.stdout
- codeassist: Návrhy obory a typy revidovaná
- fscommands: zpracování změn hg posádka ui
- patchedast: rukojeť ExtSlice uzel
Co je nového ve verzi 0.9.2:
- Autoimport modul nyní podporuje ukládání do mezipaměti všechny dílčí moduly modulu.
- rekurze při načítání modulů byla opravena.
- byla přidána základní podpora pro setuptools.
- metoda extrakt byl změněn, aby zvládnout podmíněná proměnná aktualizace.
Co je nového ve verzi 0.9.1:
- import_dynload_stdmods proměnná byla přidána aby se zmenšila velikost z extension_modules proměnné.
- Některé Windows specifické chyby byly opraveny.
Co je nového ve verzi 0.9:
- Změny od 0.8.4:
- na podporu darcs VCS
- práci se soubory s Mac line-konec
- nehledá všechny soubory při inlining lokální proměnné
- pevné Cygwin problémy cesta Některé změny od 0,8:
- proměnná inlining v dalších modulech
- přidal `rope.contrib.findit.find_definition ()`
- lepší rozšíření manipulační modul
- přidal `rope.contrib.findit.find_definition ()`
- přidal podporu GIT v fscommands
- parametry inlining
- zpět dovoz podtržená jména v pohybu
- přidal `codeassist.get_calltip ()`
- přidal `libutils.analyze_modules ()`
- přidal `` soa_followed_calls`` projekt config
- `libutils.report_change ()` `čte automatic_soa`
- manipulační nemovitost malíř
Požadavky na :
- Python
Komentáře nebyl nalezen