Tamam, sizin dediğiniz gibi yaptım, ctrl + f ve ctrl + g tuş kombinasyonlarını kaldırdım, yerine girinti durumuna göre çalışan bir girinti ekleme ve girinti silme işlemi tanımladım. Çalışma şekli PyCharm’daki girintilerin çalışma şekline benziyor.
Programı çalıştırıp Enter ve BackSpace tuşlarının nasıl çalıştığına bir bakın isterseniz.
README dosyasında uygulamayı çalıştırma komutlarını ekledim. Şimdi daha sade oldu. Sıkıntı için kusura bakmayın, doğru paket yapısını bulmaya çalışırken sık sık dizin yapısını değiştirmek durumunda kaldım.
Yok, olmazdı. Uygulamalar büyüdükçe tek dosya içinde geliştirmesi giderek zorlaşıyor. Ki bu uygulamanın büyüme kapasitesi yüksek. Şimdiden önlem alınıp modüler bir şekilde geliştirmeye devam edilmezse, ileride bu baş ağrısına sebep olur. Hatta bu modülerliği kurmak için şimdi harcanan zamandan çok daha fazlası hata ayıklamaya gitmeye başlar.
Aynen öyle. Girintileme olan yerleri bulmak kolay: Eğer bir satırda boşluk karakterlerinden önce bir kod yoksa, o satırdaki boşluk karakterleri girintilemedir.
Windows kullanmıyorsunuz sanırım. GNU/Linux’te .ico dosyaları ile ilgili sorun çıktığını okumuştum. Belki bu konuda da bir şeyler yapabilirsiniz, GNU/Linux bir işletim sistemine erişimim olmadığı için ben pek bir şey yapamıyorum.
O sırada kullanmıyordum evet.
Yok sorun değil, ilgili satırı yoruma aldım ve çalıştırdım.
Bu arada girinti ekleme işlemini programa ekledim ve PR gönderdim ama sanırım bir hata veriyor.
text_widget.py dosyasını ayrı paket içine almıştım. Bu pencere aracı ile ilgili dosyalar çoğalacağı için böyle bir şey yapmayı seçtim. Sanırım yerelinizdeki veri havuzunu güncelleyip yaptığınız değişiklikleri kopyala-yapıştır ile güncel dosyaya eklerseniz sorun çözülür.
İsmi telif hakkı ile korunmuyorsa ben de kullanabilirim demektir. Tabii ki başka bir proje ile aynı isme sahip olmak pek iyi bir şey değil ama projem için en uygun isim olarak bu ismi bulduğumu söyleyebilirim. Ayrıca GitHub’daki ekip ismi bende: https://github.com/visual-python
Editöre otomatik girintileme ve girinti silebilme özellikleri eklendi. Ayrıca sekme tuşu ile de Python’cıların kullandığı 4 boşluk karakterli girinti eklenebiliyor. Artık Visual Python’da Python kodu yazmak daha kolay ve eğlenceli! @dildeolupbiten’e katkıları için teşekkürler.
Editörün kodlarındaki bir yenilik de kodların dizin yapısının değişmesi oldu. Diğer yapılar faydalarının yanında daha çok geliştirmeyi zorlaştırdılar. Ayrıca şu an sadece tek bir kod dosyası var. Bunun da sebebi geliştirme için tekrar Visual Python’ı kullanmaya karar vermiş olmam. Bunun birçok faydası var ancak en büyük faydası, hataların daha kolay fark edilip düzeltilebilmesi ve geliştirmelerin önceliklendirilmesini kolaylaştırması. Bu bağlamda katkıda bulunacak arkadaşlara da bu yolu tavsiye ediyorum. Visual Python izin verdiğinde çok dosyalı bir yapıya geçilecek. Bu sebeple kodlar daha fazla karışmadan bir gezgin(explorer) ve düzenleyicinin üstünde sekme desteği için gerçeklemelere olan ihtiyaç şu an en üst seviyede.
self.token_type_color_map değişkenin değerini bir JSON dosyasından alması daha mantıklı olmaz mı? Bu şekilde farklı temalar da yazılabilir.(VS Code da öyle)
Bir de dosya açma kısayollarında iki o da küçük olmuş
Tabii ki, ancak bu daha sonra yapılacak bir şey. Örneğin; ayarlarda tema değiştirme seçeneği olduğunda, böyle bir şey yapılabilir. Öncesinde çok daha önemli konular var.
Çoklu seçim yapıp backspace tuşuna bastığımızda seçtiğimiz şeyi değil seçili yerden önceki karakteri siliyor. Bu sorunun acelesi yok ama bildirmek istedim.
Bu ve birkaç sorun daha vardı. Hepsi de sekme karakteri olarak boşluğu desteklemekten kaynaklanıyordu. Bu özellik çoğu kod düzenleyicide var ve yumuşak sekme(soft tab) olarak da biliniyor. Python’ın geliştirme sürecinde önerdiği sekme türü de bu. Ancak bu sekme türü beraberinde birçok karışıklığı getiriyor ve geliştirdiğim kod düzenleyicinin ilk aşamalarında bununla uğraşmak istemedim. Sekme uzunluğunu 4 karaktere ayarladım; şu anda çalıştırmada bir sorun yok gibi. Ama eğer siz bununla ilgili bir sorunla karşılaşırsanız GitHub’daki veri havuzunda bir konu açabilirsiniz. Teşekkürler.