Stvari I Hate About IDLE, ki ga želim Nekdo bi Fix Napisal sem knjigo o Python programov za otroke in popolne začetnike. Sem naredil tudi nekaj učilnico in poučevanja ena na ena z odrasle in najstnike. Imam jih uporabljajo v prostem teku, IDE, ki prihaja z Python, ker je preprosta in lažje kot ob njih ustanovi neko drugo IDE (kot PyDev na Eclipse). Sčasoma pa sem opazila veliko težav z IDLE, da sem si želijo nekoga, bi moralo odpraviti. (Rad bi to storiti sam, vendar nimam časa trenutno.) Sem zelo, zelo hvaležen, da Python prihaja baterije vključene v razmerju do družbe IDE, vendar pa obstaja veliko bradavice in uporabniškega vmesnika težave z nedejaven. (To so drugačni od.) Prvič, moja filozofija je, da nobena resna Python programer uporablja IDLE njihovo dev okolje. Ob tej predpostavki, da lahko znebiti bilo treba poskrbeti za njih in da v prostem teku, katerega cilj je ljudi, ki so ne le novi Python, ampak novi programiranja na splošno. IDLE mora biti izobraževanje orodje več kot razvojno orodje. To pomeni, da IDLE privzete možnosti naj bi vsese določi za osnovni uporabnika, ne pa uporabnik moči. S tem v mislih, to so stvari, ki bi jih rad videl spremenila o oblikovanju IDLE (približno po pomembnosti in prednosti.) UPDATE: 2014/12/26 - Minilo je že kar nekaj let, odkar sem napisal ta članek, in sem označena vprašanja, ki so se rešili. Hvala, IDLE dev team! 1) PROBLEM: V oknu lupine, če kliknete kjerkoli, ampak na trenutno vrstico in premakne kurzor tam, okno ustavi ravnanje ključne poteze. To je povzročilo toliko težav, ko sem se učil ducat najstnikov, kako program v Python. Nekdo bi po nesreči kliknite na interaktivnem oknu lupine na napačnem mestu, nato pa bi se okno prenehajo z besedilo prikazano, kot so tip in nimajo pojma, zakaj. Bom moral začasno ustaviti celoten razred, da ugotovimo, kaj se je zgodilo, življenjepis, samo zato, da nekdo drug to naredil deset minut kasneje. Kaj bi izgubili z odpravo tega "funkcijo"? No, da ne bi mogli, da ga označite tako, da držite Shift in tolkel napuščice. Da ... ni res bilo kaj moji učenci in bralci resnično potrebujejo. "Izberi vse" pokriva primer za poudarjanje vse in miško se lahko uporablja za poudarjanje majhne koščke besedila. Zneski v vmes (kjer držite Shift in pritiskom PgUp ali PgDn) je poseben primer, ki ni dovolj poseben, da bi prekinil to pravilo. Drug UI problem, ki bi mogli premakniti kazalec nazaj vpeljuje: Ko bi bila koda mojih učencev dvigniti nekaj izjem, so mislili, da bi lahko to popraviti s pomikanjem nazaj gor, brisanje izvirno kodo, nato pa ga ponovno vnesete ven (kot če bi interaktivni lupina so urejevalnik besedil). Ti bi premik kurzorja gor, vendar bi bilo preprečenih, ko ni bilo mogoče spremeniti katero koli obstoječega besedila. Kako se znebiti tega zavajajočega kazalca to vprašanje ustavi veliko bolj zgodaj v procesu in zmanjšuje zmedo. 1.1) SUB-PROBLEM: S pritiskom na tipko Domov premakne kazalec pred >>> poziv, ki potem naredi tipkovnica ne odziva. (UPDATE: Fiksna v 3.3!), Če stetipkanje na interaktivne ukazne lupine, potem pa želijo, da gredo na začetku vrstice s pritiskom na tipko Domov, da boste potem morali zadeti desno puščico tipko trikrat * res * priti na sprednji strani poziv. Do takrat, tipkanje znakov na tipkovnici nimajo vpliva. 1.2) Nova funkcija: Auto-kopiranja-On-Highlight Ko smo se znebili, da lahko premaknete kazalec off zadnje vrstice, ki odpira nova priložnost za izvajanje funkcijo za samodejno copy-on-poudarjajo, da mnogi terminal in programi IRC odjemalec izvajati. Ker je to besedilo samo za branje, edini razlog, da oseba, ki ima za poudarjanje, da je kopirati (jih ni mogoče izbrisati.) Takoj, ko besedilo uporabnikov izpostavlja v oknu lupine, da se kopira v odložišče. 2) PROBLEM: Ko debugging, trenutna vrstica kode izgubi poudarjanje ko okno izgubi osredotočiti. (UPDATE: Fiksna v 3.3!) In okno razhroščevalnik je ločeno okno, da je urednik datoteka prisiljeni izgubijo ostrino za delovanje razhroščevalnik. Prepričan sem, da je to posledica neke vrstetk vprašanje, vendar je nadležno. 3) PROBLEM: Ni očiten način za zaustavitev programa vožnje. (Ne pričakujte, da vedo, Ctrl-C) Začetniki ne bodo vedeli, ali lahko zapomniti trik Ctrl-C za prekinitev nekaj neskončno zanko. MIT Scratch ima dobro idejo, kjer se program zažene s klikom na zeleno zastavo in ustavil s klikom na rdeč stop znak poleg nje. Majhna rdeča ikona z "Stop sedanji program" namig, bi bilo super, ali vsaj ob meni, da se sklicuje na prekinitev tipkovnico bi bilo bolje, da bi jih pričakovali, da se spomnimo kombinacijo tipkovnice. 4) motnjo: Znebite se snemljivo funkcije menije. Dovolj je dejal. S klikom na tistih "---------" možnosti v meniju, da bi jih v svojih samostojnih oken je čudno lastnost, da ne vidim nikogar, zlasti začetnik kodirniki, izkoristiti. Samo se znebite njih. Nobena druga programska oprema pa, da zato, ker če želi uporabnik bližnjico do meni, da je tisto, kar bližnjice na tipkovnici so za. 5) PROBLEM: Odpiranje okna urejevalnik datotekali okno lupina ni jasno. Na oknu lupine, imate Datoteka> Novo okno. To ni jasno, da je odpiranje okna urejevalnik datotek, v nasprotju z drugo okno lupine. Treba je preimenovala na File> New Editor okno. Na oknu urejevalnika datotek, ki ste jih Run> Python Shell ponovno odprt (ali ponovni poudarek, če je odprt) okno lupine. Dva problema: Meni Run je sredi menijske vrstice. To je možnost, ki spada pod Datoteka. In drugič, "Python Shell" ni jasen način povedati, da bo odprl novo okno. To bi bilo treba prestaviti in se je preimenoval na File> Python Shell okno (ali morda Datoteka> Shell okno) (UPDATE: sem si premislila o tem, vendar mislim, da je to še vedno nekaj, kar bi se lahko izognil, saj ima obliko single-okno .) 6) PROBLEM: IDLE zruši, ko končate Pygame igro brez kliče pygame.quit (). (Update: Fixed v 3.3!) Vem, da je to verjetno nekaj generično ozračje, ostanke sklici problem, vendar Pygame je dokaj velika knjižnica, novi programerji uporabite(Izdelava igra pa veliki način ljudje v programiranje.) Ampak sem se strinjati in iti naprej in se posebno spremembo, da preveri, če je bila Pygame naložen in pygame.quit () ni bil imenovan s časovno sys.exit () je bil imenovan. 7) motnjo: To je preveč enostavno pozabiti .py razširitev pri shranjevanju datoteke. (Update: Fixed v 3.3!) Moja urejevalnik besedil zazna, ko hočem shraniti datoteko brez podaljšanja, in ponuja dodati pripono .txt. To je priročno, še posebej glede na to, v prostem teku je urednik datoteka izklopi barvanje sintakse, ko se datoteka ne konča z .py (čeprav še vedno lahko zaženete to "non-python" datoteko samo isto). 8) Nova funkcija: Znebite Višina funkcijo Windows> Zoom. Znebiti in jo nadomestiti s standardno "Tile horizontalno" in možnost "Tile Navpično", tako da se okno lupina in okno urednik zlahka tako čim večje in videli ob istem času. 9) motnjo: Znebite se Edit> "Prikaži okolici parens" funkcijo. Če nič drugega, je treba narediti samodejnoves čas, kadar se pomakne po oknu urejevalnika datotek. 10) PROBLEM: Treba je Debugger UI je treba očistiti. Uporabniški vmesnik za iskanje in odpravljanje napak je grda. Štiri potrditvena polja so neumno. Domačini in GLOBALS zasloni ne širijo tudi ko je okno debugger širi. Ni bližnjic na tipkovnici za gumbe poglobitvi. Ne, ne more prilagoditi velikost Domačini se prikaže, ko je zaslon Globals odprta. Et cetera. 11) PROBLEM: The Konfiguracija IDLE UI je treba očistiti. (Update: Fixed v 3.3 Čeprav sem še vedno videti nekaj sprememb, ki bi jih lahko naredili!). A drsnik za nastavitev standardno širino zamikanje? Izbrana seznam za velikost pisave namesto kombinirano polje? OK, in se uporabljajo gumbi so vedno omogočeno, tudi če ni bilo sprememb? Ne "Ponastavi na privzete nastavitve" gumb? mora biti preoblikovan "Custom barvanje" fieldset na kartici Poudarjanje. V "Samodejno shranjevanje Preferences" mora biti mogoče nastaviti od pogovorno okno, ki vas pozove, da shranite, ko zaženete program. In sem jazedini, ki je opazil, da se gumb za pomoč dejansko ni ničesar? 12) Nova funkcija: Dodaj možnost, da pokažejo številke vrstic na levi strani okna urednik, in jih je privzeto omogočena. (Update:.. Jaz sem na ograjo okrog imajo to funkcijo na privzeto To ni tako koristno pri pisanju kode, vendar je koristno za učitelja, ki pojasnjuje že izdelanih programa študenti berete lahko Inštruktor jih kažejo številke vrstic kodo in so takoj jasno, kje so.) je vrstica stanja celotna zapravili zaslona nepremičnin, ker se uporablja le za tisti majhen prikaz trenutne vrstice in stolpca. Prav, zakaj se še trudim, da imam to vrstico stanja z informacijami vrstica / stolpec za okna lupine? 13) motnjo: The zamik Regija in Dedent Regija linije uporabite bližnjico na tipkovnici Ctrl-] in Ctrl- [ čeprav nihče ne uporablja, ker lahko zamakniti regijo s kartico pritiskom. Vendar pa ni dedent z Shift Tab. Dodajajo, da. 14) IZBOLJŠANJE: Znebite odFormat> ukaz "presledek Strip zaključnimi" iz menija, in samo še možnost, kjer lahko urednik to stori samodejno, ko shranite datoteko. 15) POSODOBITEV: Save pogovorno vpraša "Ali želite shraniti to Untitled Document pred zapiranjem?", Nato pa predstavlja vas z Da, Ne in Prekliči gumbe. Posodablja uporabljati glagole namesto da / ne: Uporaba Save, ne Save, in Cancel. 16) motnjo: Bližnjice Windows za IDLE nimajo različico v njihovem imenu. To ni bil problem za Windows XP in prej, kjer greš v mapo Python bližnjic (ki ima info različico imena) in izberite IDLE. Toda v operacijskem sistemu Windows 7, za zagon programa kliknete Start in preprosto vtipkate "idle" vzgajati vse bližnjice-idle imenom. Preden sem ročno spremenil bližnjico imena, je bilo nemogoče, da povem, ki Python različica je IDLE bi se začenja: 17) Nova funkcija: Ctrl-Pomaknite spremeniti velikost pisave. (UPDATE od 6/4/2013) Podobno kot kako držite Ctrl in se pomikate prekmiško kolo bo povečanje in pomanjšanje, bi bilo lepo, da so v prostem teku spremenilo svojo velikost pisave za to. Še zadnja stvar, mislim, da je bila kap genija vključuje majhen IDE paketu z tolmača, še posebej tisti, ki je bila napisana v Python sam s priloženim GUI orodij. To kaže, da so Python devs vseeno ne gre le za privabljanje začinjeno razvijalcev, ampak tudi o oblikovanju nove ljudi v programe, ki (nam kot PHP pokazala) se bo spremenila v izredno tržni delež kasneje. Razumem tudi, zakaj IDLE ni na vrhu seznama prednostnih nalog: ljudje oznako proč z njo za nekaj časa, nato pa pojdite na večji in boljši IDE. To je enkratno IDE (čeprav mislim, da je na najlepši možni način). Toda nekaj poteg izboljšati njeno uporabnost v tem načinu izboljšanja kjer ljudje ne boste opazili kakovosti, samo ustavi opazil nobenih zmrznitve. "To preprosto deluje." UPDATE (2014/02/17) - Prav tako bi bilo lepo, če bi lahko določite argumente ukazne vrstice, ko zaženete skripte v prostem teku. (Hmmm ...Mogoče se to dogaja predaleč z nabor funkcij, čeprav) UPDATE (2014/07/15) -. Prav tako bi bilo dobro, da imajo vgrajeno pip monterja. Nekaj podobnega Sublime Besedilo je za namestitev vtičnikov. UPDATE (2014/09/06) - To bi bilo super, če bi IDLE zazna, če uporabnik poskuša teči Python 2 kodo Python 3 ali obratno. To je približno polovica od vprašanj, sem dobil po elektronski pošti poslali k meni. UPDATE (2014/09/07) - Razmišljanje o 1. točki več, da bi bolje izraziti, da ne morete vnesti nova navodila, medtem ko se je kazalec off zadnje vrstice, sem premakniti končno >>> poziv na majhnem ločenem oknu sama na dnu interaktivnega okna lupine. Na ta način je top območje samo za branje (čeprav se kazalec ne more premakniti, da ga označite), medtem ko se razume, da so navodila vpiše le na dnu, ko je kazalec tam. Prav tako sem videl primere z otroci učim, če mislijo, da interaktivno okno lupine kot urejevalnik besedil, in ko so se napake skušajo premakniti kazalec. Nazaj na "pravilno" svoje kode, ne pa samo natipkati v UPDATE (2015/4/6) - sem predstavil načrt za preoblikovanje IDLE kot izobraževalno orodje v tem GitHub wiki.