Editörlerde proje geliştiriken bazı klasör ve dosyaları arama sonuçlarında, hızlı erişim menüsünde ve tanımlamaya git (Go to defination..) penceresinde görmek istemeyiz. Bu dosyalara örnek olarak harici kütüphane kodları, küçültülmüş kaynak dosyaları, yayına çıkma süreçleri için gereken yapılandırma dosyaları verilebilir. Bu gibi durumlar için birkaç çözüm önerisi var. Uygun olan çözümü kullanabilirsiniz.

Akıllı arama

Dosyaları hariç tutmanın editörün hızına da etkisi var. Daha az dosyayı tarayan editör daha hızlı çalışacaktır.

Sublime Text Yapılandırma dosyasıyla

Üst menüden Sublime Text > Preferences > Settings tıklayınca gelen ikili pencerede soldakiler bağlangıç olan değerleri gösterir. Sağdaki pencere ise bizim ayarlarımızı içerir. JSON tipi bir yapılandırma dosyası olan bu dosyaya çıkarmak istediğimiz dosya, klasör ve belirlediğimiz uzantılı dosyaları ekleyerek amacımız ulaşabiliriz.

Bu dosya Sublime Text ile geliştireceğimiz tüm projeler için geçerlidir.

{
	"binary_file_patterns":
	[
		"*.tbz2",
		"*.gzip",
		"*.zip",
		"*.doc"
	],
	"file_exclude_patterns":
	[
		"*.exe",
		"*.o",
		"*.pdb",
		"*.pyc",
		".DS_Store",
		"*.min.js"
	],
	"folder_exclude_patterns":
	[
		".git",
		".yarnrc",
		".gitignore",
		"logs",
		"*.sublime-workspace",
		".svn",
		"node_modules"
	],
	"color_scheme": "Packages/Predawn/predawn.tmTheme",
	"draw_white_space": "all",
	"font_face": "Source Code Pro",
	"font_options": ["gray_antialias"],
	"font_size": 17,
	"highlight_line": true,
	"highlight_modified_tabs": true,
	"rulers": [100],
	"tab_size": 4,
	"translate_tabs_to_spaces": true,
	"word_separators": "./\\()\"':,.;<>~!@#$%^&*|+=[]{}`~?",
	"word_wrap": true
}
  • binary_file_patterns: Belirlenen uzantılı dosya tiplerini hariç tutmak için
  • file_exclude_patterns: Belirlenen dosyaları hariç tutmak için
  • folder_exclude_patterns: Belirlenen klasörleri hariç tutmak için

Bu kullanımın eksileri;

  • Projeye özel dosya ve klasör belirleme imkanı yok.
  • Belirlenen dosya ve klasörlere sol menüden erişim imkanı kalkıyor

*.sublime-project dosyasıyla

Çok fazla projede çalışıyorsanız Sublime Text’in genel yapılandırma dosyasındaki tanımlar çok işinize yaramayabilir.

Çözüm olarak ilk başta proje oluşturmanız gerekiyor. Proje oluşturunca ana dizinde proje_adi.sublime-project adında bir dosya otomatik olarak eklenecektir. Bu dosya içinde yukarıdakine benzer bir tanım ile projeye özel dosya ve klasörleri hariç tutabiliriz.

{
	"folders":
	[
		{
      "file_exclude_patterns": 
      [
        "sonar-project.properties",
        "README.md",
        "newrelic.js",
        "Dockerfile",
        "pm2_config.json",
        "docker-compose.yml",
        "Jenkinsfile",
        ".eslintignore"
      ],
      "folder_exclude_patterns":
      [
        ".history",
        ".vscode/**",
        "*.sublime-workspace",
        "styleguide",
        ".vscode",
        "node_modules"
      ],
			"path": "."
	   }
	]
}

Bu kullanımın eksileri;

  • Belirlenen dosya ve klasörlere sol menüden erişim imkanı kalkıyor

Arama penceresinden

Arama penceresinden istediğimiz dosya ve klasörleri çıkarma imkanımız var. Aşağıdaki görüntüdeki gibi istediğimiz klasör ve dosyayı arama sonucundan hariç tutabiliyoruz. Hariç tutmak istediğimiz dosya ve klasörünü adının başına eksi (-) işareti koymamız yeterli.

Sublime Text Arama Alanı

Bu yöntem ile dışarı çıkardığımız dosya ve klasörler sol menüden gizlenmiyor.

Bu kullanımın eksileri;

  • Sublime Text açılıp kapanınca bu kurallar kayboluyor.
  • Arama penceresinden bu kuralları yönetmek zor.

ToggleExclude eklentiyle

Yukarıdaki dosyaları hariç tutma yöntemlerinde yaşadığımız sol menüde gözükmeme sorununu dikkat çekiyor. Bu sorunu düzeltmek için ToggleExclude eklentisini kullanmamız gerekiyor. ToggleExclude adresinden yükleyebileriz ya da paket kontrol ekranından ‘ToggleExclude’ yazarak yükleyebiliriz.

ToggleExclude eklentisi

Eklenti kullanımı basit. İki adet yapılandırma dosyanız oluyor. Default ve User. Default tüm klasör ve dosyaları içerebilir, User dosyası içinde yukarıdaki JSON yapının aynısını ekleyebiliriz.

{
	"conditional_file_exclude_patterns":
	[
		"views-njk/partial/build/_criticalCSS-sample.html",
		".gitignore",
		"README.md",
		"nodemon.json",
		"package-lock.json"
	],
	"conditional_folder_exclude_patterns":
	[
		"node_modules",
		"styleguide",
		"test",
		".history/**",
		".vscode/**"
	],
	"enabled": true
}

User dosyasındaki kuralları aktifleştirmek için Komut tablasını açıp (Cmd+Shift+p - windows için Ctrl+Shift+p) ToggleExclude yazarak seçenekleri görebilirsiniz. Karşınıza 3 seçenek çıkacaktır. Default, User ve Enable/disable seçenekleri. Bu seçeneklerden sonuncusu olan Enebale/Disable ile User’daki kuralları aktifleştirebilirsiniz. Aynı yoldan giderek pasifleştirebilirsiniz.

Çalışma şartlarınız ve ortamınıza göre yukarıdaki yöntemlerden birini veya birkaçını kullanabilirsiniz.

Kalın sağlıcakla.

Kaynaklar

Performans hiç olmadığı kadar önemli bir hale geldi. Google’un arama sonuç sıralamasındaki en büyük etkenlerden birinin site hızı olduğunu açıkladıktan sonra performan işleri daha çok ön plana çıktı. Performansı arttırmanın farklı yolları var. Bu makalede bunlardan bir tanesi kullanılmayan CSS ve JS’leri bulup sayfadan yada siteden çıkarmayı göreceğiz.

Developer Tools Coverage Açma

Google Chrome Developer Tool’da sağdaki menüden More Tools - Coverage ile pencereyi açabilirsiniz. Daha kısa olarak Developer Tools’u açtıktan sonra ⌘+⌥+I (Mac) veya Control+Shift+I (Windows, Linux) basıp açılan menüde Show Coverage yazın ve enter’a basın.

Gelen ekrandan kayıt butonuna tıklayarak hesaplamayı başlatabilirsiniz. Burada dinamik olarak eklenen alanları açarak bu hesaplamanın daha iyi sonuçlar vermesini sağlayabilirsiniz. Gizle göster ile açılan alanlar vs. Kayıt butonuna tekrar basarak hesaplamayı bitirin. Sonuç listesi aşağıdaki gibi görünecektir.

Developer Tools Coverage

Listede sayfadaki kaynaklar ve bunların kullanım oranlarını var. Her bir linkin üzerine tıklayarak detayını Source (Kaynak) sekmesinde görebilrisiniz.

Detay sayfasını incelediğimizde kod satırlarının solundaki kırmızı çizgi kullanılmayan yerleri yeşil çizgiler ise kullanılan alanları göstermektedir.

Developer Tools Coverage

Örneği yaptığım fatihhayrioglu.com’da fontawesome’ın 7-8 yerde kullanıldığını gördüm. Bunların yerine satıriçi SVG ikon kullanıp fontawesome’ı kaldırdım. Başlangıçta %75 kullanılmayan kod varken fontawesome’ı çıkarınca %57.5’e düştü. Şimdilik bu kadar.

Developer Tools Coverage

Aynı şekilde Javascript kaynakları içinde sonuçlar var. Herbirini inceleyip kullanılmayan veya az kullanılan kaynakları sayfadan çıkararak sayfalarımızı hızlandırabiliriz.

Kalın sağlıcakla.

Kaynaklar

Daha önce bu konuda bir makale yazmıştım. CSS Editörleri başlığı ile yazdığım bu makaleye gelen bir yorum bu konuda tekrar bir yazı yazmam gerektiğini hatırlattı bana.

Yazının üzerinden 11 seneden fazla zaman geçmiş. Yazıda bahsettiğim Front Page, CoffeeCup HTML Editor ve TopStyle kapıya kilit vurmuş. Macromedia Dreamweaver olmuş Adobe Dreamweaver. Style Master’ın kullananı kalmamış. CSSEdit isim değiştirmiş Espresso olmuş. Microsoft® Expression ölü doğan projeler listesine eklenmiş. Geliştirici dünyası hız gelişiyor.

Ben bu yazıda sizlere güncel editörlerden bahsedeceğim.

Genel olarak kod yazma araçlarını ikiye ayırabilriz. Metin editörleri ve Tümleşik Geliştirme Ortamı diye Türkçe’ye çevirdiğimiz IDE’ler.

Sırası ile aşağıdaki editörleri inceleyeceğiz.

  • SublimeText
  • Visual Studio Code
  • Atom
  • Brackets
  • NotePad ++
  • Vim
  • WebStorm
  • Adobe Dreamweaver

SublimeText - sublimetext.com

sublime text

2008 yılında piyasa çıkan Sublime Text ilk inceleyeceğiz editör. Sublime Text metin editörü kategorisine giriyor.

Artılar

  • Süper hızlı
  • Kullanışlı Arayüz
  • Geniş eklenti yelpazesi
  • Geniş tema seçeneği ve tema üzerinde kolay düzenleme
  • Çoklu seçim ve düzenleme imkanı
  • Dosyalar ve komutlara hızlı erişim imkanı
  • Tanımlara erişim (Goto Defenation…)
  • Hızlı arama
  • Yerimi ekleme, çıkarma ve gezinme imkanı
  • Yüksek Çözünürlük desteği
  • Çoklu platform desteği. Windows, Mac ve Linux
  • Ücretsiz olarak limitsiz kullanma hakkı

Eksiler

  • 80$ ücret
  • Çok hızlı güncellenmiyor
  • Üçüncü parti bazı eklentilerin programı karasız hale getirmesi

Yorum

Uzun süredir Sublime Text kullanıyorum. Ara sıra diğer editörleri ve IDE’leri denesem de Sublime Text’ten va geçemiyorum. Hızı ve arayüzü beni etkileyen en önemli etkenler. Eklentilerin yardımyla bir arayüz geliştiricinin tüm ihtiyaçlarını karşılaycak bir araç oluyor.

Visual Studio Code - code.visualstudio.com

Visual Studio Code

Listedeki en yeni editör. Microsoft’un gelişmiş IDE’si Visual Studio’nun ismini kullansa da Electron alt yapısı ile tekar yazılan açık kaynaklı bir editör.

Artıları

  • Gelişmiş Otomatik tamamlama özelliği
  • Geniş tema seçeneği
  • Çoklu seçim ve düzenleme imkanı
  • Dosyalar ve komutlara hızlı erişim imkanı
  • Hızlı arama
  • Ücretsiz ve açık kaynak olması
  • Hata ayıklama özelliği
  • Gelişmiş Git desteği
  • Geniş eklenti yelpazesi
  • Hızlı güncelleme.
  • Yüksek Çözünürlük desteği
  • Çoklu platform desteği. Windows, Mac ve Linux

Eksiler

  • Performans sorunları
  • Kısıtlı arama imkanları
  • Arama sonuçlarını sol menüye sıkıştırması
  • Temaları düzenleme imkanı vermemesi

Yorum

Etkin olarak Sublime Text kullanıyor olsam da ara sıra diğer editörleri denerim. En sık denediğim editör VS Code diyebilirim. Her ay yeni sürüm çıkması çok güzel.

Arayüzünü Sublime Text’ten alıştığım temaya benzetememem ve herhangi bir dosyayı açtığımda kod renklendirmesini sonradan yapması beni düşündürüyor. Asıl önemli konu ise Sublime Text’teki hızı yakalayamamış olmam.

Atom - atom.io

Atom

Github tarafından Electron alt yapısı ile geliştirilmiş bir editör. 2014 senesinde çıkmış.

Artıları

  • Çoklu platform desteği. Windows, Mac ve Linux
  • Eklenti desteği
  • Akıllı ve esnek otomatik tamamlama özelliği
  • Kolay dosya yönetimi
  • Çoklu panel kullanma imkanı
  • Kullanışlı ara ve değiştir
  • Farklı tema seçenekleri
  • Kolay özelleştirebilme imkanı
  • Ücretsiz ve açık kaynak olması
  • Tümleşik Git ve Github desteği
  • Hızlı güncelleme
  • Yüksek Çözünürlük desteği

Eksiler

  • Yüksek boyutlu dosyalarda performans sorunları
  • Yüksek hafıza kullanımı
  • Yavaş başlangıç hızı

Yorum

Kullanmadığım için kendi tanımları ve internette gördüğüm eksilerini yazdım.

Brackets - brackets.io

Brackets

Adobe’un Atom ile aynı zamanda (2014) çıkardığı editörüdür.

Artıları

  • Çoklu platform desteği. Windows, Mac ve Linux
  • Tarayıcı üzerinde canlı önizleme
  • Hızlı CSS düzenleme imkanı
  • Eklenti desteği
  • Kullanışlı ara ve değiştir
  • Ücretsiz ve açık kaynak olması

Eksiler

  • Performas sorunu
  • Yüksek hafıza kullanım
  • Atom kadar hızlı güncellenmiyor

Yorum

Kullanmadığım için kendi tanımları ve internette gördüğüm eksilerini yazdım.

NotePad ++ - notepad-plus-plus.org

NotePad ++

Vim dışında bu listedeki en eski editör. 2003 senesinde çıkmış. Sadece Windows’ta çalışıyor.

Artıları

  • Hız
  • Kod renklendirme
  • Eklenti desteği
  • Ücretsiz
  • Çoklu seçim ve düzenleme imkanı
  • Çoklu panel kullanma imkanı

Eksiler

  • Sadce Windows’ta çalışması
  • Arayüzü eski ve kullanışsız
  • Limitli yeni dil ve kod desteği

Yorum

2003 yılından beri ayakta olamsını hızı ve basitliği ile sağlıyor. Diğer editörlere nazaran daha az özelliği olmasına karşın hız isteyenler için güzel bir seçenek. Tüm ihtiyaçlar için çözümlerinin olmaması kötü. Yeni çıkan teknolojilere çok hızlı destek gelmemesi de diğer kötü yanı.

Vim - vim.org

Vim

30 yılı aşkın ayakta kalan bir editör. Metin editörü kategorisinin en yalın hali. Son zamanlarda popülerliği tekrar artıyor. Ruby geliştiricileri arasında bayağı popüler.

Artılar

  • Hafif ve hızlı
  • SSH üzerinde komut satırnda çalışma imkanı
  • Yüksek performans
  • Linux’da başlangıçta kurulu gelmesi
  • Çoklu platform desteği. Windows, Mac ve Linux
  • Ücretsiz ve açık kaynak olması
  • Üçüncü parti paket desteği

Eksiler

  • Öğrenme zorluğu
  • Standart kurulumda bir çok özelliğin olmaması
  • Sistem kopyala/yapıştır özelliği sıkıntılı
  • Kaydırma çubuğu kullanımı zayıf

Yorum

Ben sahibinden.com’da çalışırken kullanmak zorunda kaldığım için mi bilmiyorum ama çok sevemediğim bir editör. Öğrenme eğrisi en yüksek editör diyebilirim. Uzak bilgisayarlar ile çalışanlar için kullanışlı bir editör.

WebStorm - jetbrains.com/webstorm

WebStorm

Şimiye kadar yazdıklarımız metin editörü kategorisindeydi. WebStorm ise Tümleşik bir araçtır.

Artıları

  • Bütünleşik kod kalitesi araçları
  • Gelişmiş kod tamamlama
  • Tanımlara erişim (Goto Defenation…)
  • Hata ayıklama
  • Bütünleşik komut satırı
  • Bütünleşik Git desteği
  • Bütünleşik test araçları
  • Hızlı güncelleme
  • Yeni nesil Javascript kütüphane desteği (vue, react, angular, node, require ve daha fazlası)
  • Öğretim görevlisi, öğrenciler veya edu maili olanlara ücretsiz (Bu bilg için Kadir‘e ve Akın‘a teşekkürlerimi sunarım.)

Eksiler

  • Ara sıra yaşanan performans sorunları
  • Karışık arayüz
  • Hız sorunları
  • İlk açılışı yavaş. Akın‘a teşekkürler
  • Yıllık 129$ fiyat ve 30 gün deneme imkanı

Yorum

2-3 kere denememe rağmen çok alışamadım. Bazı ayarları yapınca hızlandığı söyleyen arkadaşlarım var. Ancak Sublime Text hızını görünce geçemedim bir türlü. Arayüzü de beni cezbetmiyor.

Adobe Dreamweaver - adobe.com/tr/products/dreamweaver.html

Adobe Dreamweaver

WYSIWYG (What you see is what you get / Ne görürsen onu alırsın) bir editör olarak yukarıdaki araçlardan ayrılıyor.

Artılar

  • Web geliştirme seti
  • Otomatik tamamlama özelliği
  • Kod ve Tarayıcı görünümü aynı anda görme imkanı
  • Kod düzeltme
  • Hazır web sitesi şablonları

Eksiler

  • Yıllık 240$. Ücretsiz 30 gün deneme süresi
  • Öğrenmesi zaman alıyor
  • WYSIWYG çok iyi çalışmıyor
  • Performans sorunları

Yorum

Eski göz ağrım. Yavaşlığı ve bütünleşik yapıdaki kullanmadığım kısımları çıkaramamamdan dolayı vazgeçmiştim. Fiyatı da vaz geçememde önemli bir etken tabi.

Sonuç

Ben bu iki kategoriyi Tümevarım ve Tümden gelim felsefesi ile yorumluyorum. IDE’ler Tümden gelim ile bize bütünleşik özellikler sunarken metin editörleri tümevarım mantığı ile özellikleri ihtiyacımız oldukça yüklümemize olanak sağlıyor.

IDE’lerin tümleşik özelliklerini ayıklamaktansa metin editörlerinin ihtiyaç duydukça özellik ekleme mantığı bana daha mantıklı geliyor.

Yukarıdaki editörlerin hangisini tercih ederseniz edin muhakkak kısayollarını ezberleyin.

Editörlerin yeniliklerini takip edin.

Sizlerinde katkısını bekliyorum kullanıp memnun kaldığınız editörleri yorum kısmına yazın.

Kalın sağlıcakla.

Kaynaklar