Ben Biri Fix misiniz dilek ben IDLE Hate About şeyler Ben çocuklar ve yeni başlayanlar için Python programlama üzerine bir kitap yazdım. Ben de yetişkinler ve gençler ile bazı sınıf ve bir-bir öğretim yaptık. onlara (Eclipse Pydev gibi) bazı diğer IDE kurmak zorunda daha basit ve kolaydır çünkü onları IDLE, Python ile gelen IDE kullanmak zorunda. Ama zamanla ben kimse düzeltmek isterdim IDLE ile sorunların çoğunu fark ettik. (Kendim yapmak istiyorum ama şu anda vaktim yok.) Python piller vis-à-vis bir IDE dahil geldiğini çok minnettarım, ama siğiller ve kullanıcı arabiriminin bir yeri vardır IDLE ile ilgili sorunlar. (Bunlar farklıdır.) Öncelikle, benim felsefem hiçbir ciddi Python programcısı kendi dev ortamı olarak IDLE kullanmasıdır. varsayımı ile, biz onlara hitap ve genel olarak programlama için Python yeni tek ama yeni değil kişilere yönelik IDLE yapmak için herhangi bir ihtiyaç kurtulabilirsiniz. geliştirme aracı daha bir eğitim aracı olmalıdır IDLE. Bu, IDLE varsayılan seçenekleri tüm gerektiği anlamına gelirTemel kullanıcı değil, güç kullanıcı için ayarlanmalıdır. Bunu göz önüne aldığımızda, bu ben IDLE tasarımı hakkında değişmiş görmek istiyorum şeyler (kabaca önem ve öncelik sırasına göre.) UPDATE: 2014/12/26 - Ben bu makale yazdı beri birkaç yıl oldu ve oluyor Ben çözüldüğünü sorunları işaretledim. Teşekkürler, IDLE dev ekibi! 1) SORUN: kabuk penceresinde, her yerde ancak mevcut hat üzerine tıklayın ve orada imleci varsa, pencere tuş vuruşlarını ele durur. Nasıl Python programlama bir düzine gençler ders verirken, bu kadar çok sorunlara yol açmıştır. Birisi yanlışlıkla yanlış yerde etkileşimli kabuk penceresinde tıklıyorsunuz ve sonra pencere onlar yazın ve neden hiçbir fikrim yok metin görünür hale durdurmak olacaktır. Ben sadece başka on dakika sonra yapmak birine sahip olmak, ne özgeçmiş anlamaya tüm sınıf duraklatmak olurdu. Bu "özelliği" kurtularak ne kaybeder? Peki, biz shift basılı tutarak ve üzerine vurarak metni vurgulamak için mümkün olmazok tuşları. Bu ... gerçekten benim öğrencileri ve okuyucuları, gerçekten gereken bir şey olmamıştır. Her şeyi vurgulamak için davayı kapsayan "tümünü seç" ve fare metnin küçük bit vurgulamak için kullanılabilir. arada tutarlar (shift basılı tutarak ve PgUp tuşuna basarak veya PgDn olduğu) bu kuralı kırmak için yeterli özel değil özel bir durumdur. geri tanıtır imleci yukarı hareket edememek başka bir UI sorun: öğrencilerimin kod bazı istisna getireceğini, onlar (onlar bunu yeniden yazarak özgün kod silme, geri kaydırma bunu düzeltmek ve düşündüm sanki etkileşimli kabuk) bir kelime işlemci vardı. Onlar imleci yukarı hareket edeceğini, ancak mevcut metnin herhangi bir değişiklik değil ne zaman engellendiğini olacaktır. Bu yanıltıcı imlecin kurtulmak sürecinde çok daha erken bu sorunu durdurur ve karışıklığı azaltır. 1.1) ALT SORUN: Ev tuşuna basmak sonra klavye tepkisiz kılan, >>> istemi önce imleci hareket ettirir. (GÜNCELLEME: 3.3 Sabit!) Eğer senetkileşimli kabuk isteminde yazarak, ardından Ana tuşuna basarak satırın başlangıcına gitmek istiyorum, daha sonra * gerçekten * istemi önüne almak için sağ ok tuşuna üç kez vurmak gerekir. O zamana kadar, klavyede yazarak karakterler hiçbir etkisi yoktur. 1.2) YENİ ÖZELLİK: Biz otomatik kopya üzerinde vurgu özelliği uygulamak için yeni bir fırsat açılır, son off line imleci hareket ettirmek için edememek kurtulmak kez Auto-Kopyala-On-Vurgu birçok terminali ve IRC istemcisi programları uygulanması. Bu metin salt okunur olduğundan, bir kişi onu kopyalamak için vurgulamak için olan tek nedeni (onlar bunu silemezsiniz.) En kısa sürede kabuk penceresinde kullanıcı golleri metin olarak, bu panoya kopyalanır. 2) SORUN: Hata ayıklama, kod geçerli satır onun vurgulama kaybettiğinde pencere odağı kaybettiğinde. (GÜNCELLEME: 3.3 Sabit) Ve dosya editörü hata ayıklayıcı çalıştırmak için odak kaybetmek zorunda kalır böylece ayıklayıcı pencere ayrı bir penceredir. Nedeniyle çeşit bu eminimtk sorunu, ama sinir bozucu. 3) SORUN: Çalışan bir programı durdurmak için hiçbir belirgin yolu yok. Yeni Başlayanlar bilemezsiniz ya da bazı sonsuz bir döngüye kesmek için Ctrl-C hile hatırlamak mümkün (onları Ctrl-C bilmek beklemeyin). MIT Scratch programı yanında kırmızı dur işareti üzerine tıklayarak bir yeşil bayrak tıklayarak başladı ve durdurulur iyi bir fikri vardır. bir "mevcut program durdurma" araç ipucu ile küçük kırmızı simge olmak büyük, ya da en azından bir klavye kombinasyonu hatırlamak onları bekliyor daha iyi olurdu bir klavye kesme çağırmak için bir menü sahip olacaktır. 4) Rahatsızlık: sökülebilir menüler özelliği kurtulun. Yeterince söylendi. Kendi bağımsız pencereler bunları yapmak için menüdeki bu "---------" seçenekleri tıklayarak ı faydalanmak, özellikle acemi kodlayıcılar kimseyi görmüyorum garip bir özelliktir. Sadece onlardan kurtulmak. Başka hiçbir yazılım kullanıcı menüsüne kısayol istiyorsa, çünkü o klavye kısayolları için ne olduğunu yapar. 5) SORUN: Bir dosya editörü penceresinin açılmasıveya bir kabuk penceresi açık değildir. Kabuk penceresinde, Dosya> Yeni pencere var. Bu, başka bir kabuk penceresine aksine o, bir dosya editörü pencere açma olduğu açık değildir. New Editör Pencere> Dosya isminin değiştirilmesi gerekmektedir. dosya editörü penceresinde, yeniden açmak için (ya da yeniden odağı açık ise) kabuk penceresini> Python Shell çalıştırın var. İki sorun: Çalışma menü menü çubuğunun ortasında. Bu dosya altında ait bir seçenektir. Ve ikincisi, "Python Shell" yeni bir pencere açmak için gidiyor demek için açık bir yol değildir. Bu taşındı ve GÜNCELLEME ((> Shell Pencere File belki ya)> Python Shell Pencere Dosya adını edilmelidir: Ben bu konuda fikrimi değiştirdim, ama bu yine de bir tek pencere tasarımı alarak kaçınmakla bir şey olduğunu düşünüyorum .) 6) SORUN: pygame.quit çağırmadan bir Pygame oyundan çıkmak IDLE çöker (). Bu muhtemelen bazı genel artık referanslar sorun olduğunu biliyorum: (Güncelleme! 3.3'de sabit), fakat Pygame yeni programcılar kullanmak oldukça önemli kütüphane() (Oyun yapma. Büyük bir yolu insanlar programlama içine almak olmak) Ama katılıyorum ve go ahead ve Pygame zaman sys.exit tarafından yüklendi ve pygame.quit () olarak adlandırılan değildi olmadığını kontrol etmek için belirli bir değişiklik yapmak istiyorum aradı. 7) Rahatsızlık: Bir dosyayı kaydederken .py uzantısı unutmak çok kolay. (Güncelleme: 3.3 Sabit!) My metin editörü ben bir uzantısı olmadan bir dosyayı kurtarmaya çalışırken, ve .txt uzantısı eklemek sunuyor olduğum zaman algılar. Bu, özellikle dosya (hala sadece aynı bu "olmayan python" dosyasını çalıştırabilirsiniz bile) .py ile bitmiyor boşta dosya editörü dizim kapatır göz önüne alındığında, kullanışlı. 8) YENİ ÖZELLİK: Windows> Yakınlaştırma Yükseklik özelliği kurtulun. ondan kurtulmak ve kabuk pencere ve editör penceresi kolayca hem maksimize ve aynı anda görülebilir, böylece standart bir "Yatay Çini" ve "Çini Dikey" seçeneği ile değiştirin. 9) Rahatsızlık: Edit> "göster çevreleyen Pars" özelliği kurtulun. bir şey varsa, otomatik olarak yapılmalıdırimleç dosyası editörü penceresinde etrafında hareket her her zaman. 10) SORUN: Debugger UI kadar temizlenmesi gerekiyor. Hata ayıklayıcı için kullanıcı arabirimi çirkin. Dört onay kutularını saçma. debugger penceresi genişlediğinde Halkı ve Globals görüntüler de genişletmek yok. atlama düğmeleri için herhangi bir klavye kısayolları vardır. Sen Globals ekran açıkken Yerliler boyutu görüntüler ayarlayamaz. Vesaire. 11) SORUN: UI ihtiyacı Yapılandırma IDLE kadar temizlenmelidir. (Güncelleme: ben hala yapılamadı bazı değişiklikleri görmek rağmen 3.3'de düzeltildi.) Standart girinti genişliğini ayarlamak için bir kaydırma çubuğunu? font boyutu yerine bir birleşik giriş kutusu için bir seçim listesi? Tamam ve Uygula düğmelerine her zaman hiçbir değişiklik yapılmış olsa dahi etkindir? Hayır "Reset to Defaults" butonu? Vurgulama sekmesinde "Özel vurgulama" fieldset yeniden dizayn edilmesi gerekmektedir. "Otomatik kaydetme Tercihleri" Bir programı çalıştırdığınızda kaydetmek ister iletişim kutusundan ayarlanabilir olmalıdır. Ve ben değilimYardım düğmesi aslında hiçbir şey yapmaz fark tek kişi? 12) YENİ ÖZELLİK: editör penceresinin sol tarafındaki satır numaralarını göstermek için bir seçenek ekleyin ve varsayılan olarak etkin olması. (Güncelleme:.. Ben kod yazarken o kadar yararlı değil varsayılan olarak bu özelliği sahip hakkında çit, ama öğrencilerin okuma önceden yapılmış programı açıklayan bir öğretmen için yararlı eğitmen numaralarını bunları satır işaret edebilir sadece mevcut hat ve sütunun o küçücük ekran için kullanılır, çünkü kod ve nerede olduklarını hemen açıktır.) tüm durum çubuğu ekran gayrimenkul israf edilmektedir. Ayrıca, neden bile kabuk pencere için satır / sütun bilgileri ile bu durum çubuğu olması rahatsız? 13) Rahatsızlık: Girinti Bölge ve dedent Bölge hatları klavye kısayolunu Ctrl-] ve Ctrl- [kullanmak, kimse size sekmesine basarak bölgeyi girinti çünkü kullanan olsa bile. Ancak, Shift-Tab kullanarak hiçbir dedent yoktur. O ekleyin. 14) İYİLEŞTİRME: kurtulunBiçim> menüsünden "Şerit boşluk sondaki" ve sadece dosyayı kaydetmek zaman editör otomatik olarak yapabilirsiniz bir seçenek var. 15) MODERNLEŞME: Kaydet iletişim ve ardından Evet, Hayır size sunar? "Eğer kapatmadan önce bu adsız belgeyi kaydetmek istiyor musunuz" ve İptal düğmeleri sorar. Kullanım Kaydet, Save yapmayın ve İptal: bu yerine evet / hayır fiiller kullanmak güncelleyin. 16) Rahatsızlık: IDLE için Windows kısayollarını kendi adlarına sürümüne sahip değilsiniz. Bu, Windows XP ve sadece ve IDLE seçin (isim sürüm bilgisi var olan) Python kısayol klasörüne gidin nereye, daha önce bir sorun değildi. Ama Windows 7, Başlat 'ı tıklatın ve sadece tüm IDLE adlı kısayolları getirmek için "IDLE" yazın bir program başlatmak için. 17) YENİ ÖZELLİK: Ctrl-Scroll yazı tipi boyutunu değiştirmek için elle kısayol adları değişti önce bana başlangıç olacağını hangi Python sürümü en RÖLANTİ anlatmak için, bu mümkün değildi. Çok Ctrl tuşunu basılı tutarak ve kaydırma nasıl gibi (6/4/2013 itibaren GÜNCEL)fare tekerleği yakınlaştırma ve uzaklaştırma olacak, bu yaparak IDLE bir değişiklik onun yazı tipi boyutunu olması güzel olurdu. Son bir şey, ben tercüman ile birlikte küçük bir IDE dahil GUI kullanarak Python kendisi yazılmış özellikle birini içerecek şekilde dahiyane bir hareket olduğunu düşünüyorum. Python Devs sonra kayda değer pazar payı dönüşecek sadece tecrübeli geliştiriciler çekmek konusunda değil, aynı zamanda (PHP bize gösterdi gibi) programlama içine yeni insanlar çizim konusunda umurumda değil gösterir. Ben IDLE öncelik listesinin başında değil neden da anlamak: ondan bir süre insanlar kodu ve ardından daha büyük ve daha iyi IDE geçmek. (Ben en güzel şekilde demek olsa) bir tek kullanımlık bir IDE var. insanlar kaliteyi fark nerede Ama bir kaç tweaks onlar sadece herhangi bir hangups fark durdurmak, iyileştirme o modda kullanılabilirliğini artıracak. "Bu sadece çalışır." GÜNCELLEME (2014/02/17) - Eğer IDLE komut dosyalarını çalıştırdığınızda komut satırı değişkenleri belirlemek eğer Ayrıca, güzel olurdu. (Hmmm ...belki bu çok uzakta olsa set özelliği ile gidiyor) GÜNCELLEME (2014/07/15) -. Ayrıca, entegre bir pip yükleyici dahil etmek iyi bir fikir olurdu. Sublime Text gibi bir şey eklentileri yüklemek için vardır. GÜNCELLEME (2014/09/06) - IDLE kullanıcı tersi Python 3 Python 2 kod çalıştırmasına ya da çalışıyor olmadığını algılamak olabilir, çok iyi olurdu. Ben bana e-posta almak soruların yaklaşık yarısı. GÜNCELLEME (2014/09/07) - Daha iyi imleç son satırda kapalı iken yeni talimat yazamaz iletmek, madde 1 hakkında daha fazla bilgi düşünme, ben küçük bir ayrı bir pencerede son >>> istemini hareket edeceğini etkileşimli kabuk penceresinin alt kısmında kendi. Bu şekilde, üst alan salt okunur imleç olduğunda talimatlar sadece altta girilir anlaşılmaktadır iken (imleç metni vurgulamak için orada taşınmış olabilir gerçi). Ayrıca, ben bir kelime işlemci olarak etkileşimli kabuk pencere düşünüyorum ve onlar hataları yaparken onlar imleci hareket ettirmek için deneyin ben öğretmek çocuklarla vakaları gördüm. Geri yerine sadece yeniden yazın daha "doğru" kendi kod kadar UPDATE (2015/04/06) - Ben bu github wiki bir eğitim aracı olarak IDLE yeniden tasarlama için bir plan açıkladık.