Mükemmel Metin Parçacıklarıyla Verimlilik Nasıl Artırılır?


Uzun lafın kısası, Yakın zamanda işimde birçok bash betiği oluşturmam gereken bir projeye atandım. Python kökenliyim ve tüm geliştirme çalışmalarım için Jupyter Notebook kullanıyorum. Benim için bash betikleriyle ilgili sorun, kafa karıştırıcı braket kullanımı ve tüm betiklerimde tekrarlayan kod bloklarıdır.

O noktaya kadar bash betikleri oluşturmak için Nano editörünü kullanıyordum. Nano, bir terminal düzenleyici olarak bazı temel özellikler sağlar, ancak bir noktanın ötesine geçmez. Bu yüzden araştırmamı yaptım ve bash ve diğer programlama dilleri için başvuracağım editör olarak “SUBLIME TEXT 3”ü seçtim. Tekrarlayan işlevler için çok sayıda parça, tek satırlık satırlar ve bash komut dosyaları için kontrol blokları oluşturdum; bu yalnızca zamandan tasarruf etmekle kalmadı, aynı zamanda üretkenliğimi de artırdı.

Snippet nedir?

Parçacıklar, birçok modern metin düzenleyici veya IDE düzenleyiciyle birlikte gelen popüler bir programlama özelliği/işlevselliğidir. Parçacıkları gerektiğinde yeniden kullanılabilecek bir şablon olarak düşünebilirsiniz. Snippet'ler belirli programlama dilleriyle sınırlı değildir. Basitçe yeni bir kod parçası oluşturabilir, eklenmesini istediğiniz herhangi bir metni ekleyebilir ve bir tetikleyici kelime atayabilirsiniz. Tüm bu özellikleri önümüzdeki bölümde göreceğiz.

Sublime Text'de Tanımlı Parçacıkları Listelemek İçin

Varsayılan olarak sublime text, bash için önceden tanımlanmış bazı snippet'lerle birlikte gelir. Parçacığı aradığımız geçerli dosyaya göre parçacıkları akıllıca görüntüler. Bir kabuk betiğinin içindeyim ve pallet komutunu çağırıp snippet yazdığımda, otomatik olarak bash için tanımlanmış parçacıkların bir listesini sağlıyor.

Sublime Text'teki parçacıklara erişmenin iki yolu vardır.

  1. MENÜ YÖNETİMLİ ⇒ YÜKSEK METİN → ARAÇLAR → SNIPPET'LER
  2. KOMUT PALETİ ⇒ YÜKSEK METİN → KOMUT PALETİ (CTRL+SHIFT+P) → TÜR SNIPPET'LERİ

Yüce Metinde Yeni Parçacıklar Oluşturun

Sublime metni, yeni bir snippet oluşturduğumuzda XML biçiminde varsayılan bir şablon sağlar. Şablonu oluşturmak için YÜKSEK METİN → ARAÇLAR → GELİŞTİRİCİ → YENİ SNIPPET'e gidin.

Şablon tanımını anlayalım ve parametreleri değiştirelim.

  • Eklenecek gerçek içerik veya kod bloğu içine yerleştirilmelidir. “Başlık yorumu” için bir snippet oluşturacağım. Oluşturduğunuz her komut dosyasında, yazar adı, oluşturulma tarihi, sürüm numarası, dağıtım tarihi vb. gibi komut dosyasıyla ilgili bilgileri tanımlayan bir başlık yorumu bulunur.
  • Snippet için tetikleyici görevi gören bir "METİN"i bağlayan Tabtrigger (İsteğe bağlı). Tetikleyici adı yazıldığında ve “SEKME” tuşuna bastığınızda kod parçası eklenecektir. Varsayılan olarak yorumlanır, yorumu kaldırın ve tetikleyici için bir miktar metin ekleyin. Açıklayıcı ve kısa bir ad seçin. Örneğin: Başlık yorumlarını eklemek için “hcom”u seçiyorum. Seçtiğiniz herhangi bir şey olabilir.
  • Kapsam (İsteğe bağlı), snippet'lerinizin hangi dile bağlı olduğunu tanımlar. Aynı anda 2 veya 3 farklı programlama diliyle çalışabilir ve farklı programlama dillerindeki farklı parçacıklar için aynı adı kullanabilirsiniz. Bu durumda kapsam, çarpışmayı önlemek için pasajınızın hangi dile eklenmesi gerektiğini kontrol eder. Kapsamların listesine Link'ten ulaşabilirsiniz. Alternatif olarak, kullandığınız dilin kapsam adını almak için ARAÇLAR → GELİŞTİRİCİ → KAPSAM ADINI GÖSTER seçeneğine gidebilir veya tuşlarına basabilirsiniz.
  • Açıklama (İsteğe bağlı) varsayılan şablonda bulunmaz ancak bu snippet'in ne yaptığına ilişkin bağlamı tanımlamak için bunu kullanabilirsiniz.

Şimdi bazı temel şeyleri yaptık. "hcom" sekme tetikleyicisine bağlanan ve kabuk komut dosyasından kaynaklanan basit bir başlık yorumu ekleyecek bir pasaj tanımladık.

Şimdi yeni bir bash dosyası açalım ve “hcom yaz”. Aşağıdaki görsele bakarsanız “h yazdığımda” verdiğim açıklamayla birlikte snippet tanımım da çıkıyor. Tek yapmam gereken genişletmek için <tab> tuşuna basmak.

Alanlar

Alanlar $1, $2, $3 vb. kullanılarak gösterilir. Alan yardımıyla <tab> tuşuna basarak alan işaretinin bulunduğu konuma geçebilirsiniz.

Parçacığıma bakarsanız, iki alan işaretçisi $1 ve $2 ekledim, parçacığımı eklediğimde imleç konumuna yerleştirilecek. $1 böylece o konuma bir şeyler yazabilirim.

Daha sonra bir sonraki $2 işaretçisine atlamak ve bir şeyler yazmak için <tab> tuşuna basmam gerekiyor. Bu durumda 2 konumda $1 diyen özdeş işaretçiniz olduğunda, bir konumdaki alanı güncellemenin aynı ($1) alanlarını güncelleyeceğine dikkat edin.

  • <tab> tuşu → Sonraki alan işaretçisine atla.
  • tuşu → Önceki alan işaretçisine atla.
  • tuşu → Tarla döngüsünün dışına çıkın.
  • $0 → Çıkış noktasını kontrol eder.

Yer tutucu

Yer tutucular, küme parantezleri $ {0:} içinde tanımlanan bir anahtar/değer çifti gibidir; alan işaretçisi varsayılan bir değerle etiketlenir. Değeri değiştirebilir veya olduğu gibi bırakabilirsiniz. Parçacık eklendiğinde ve sekmeye bastığınızda imleç varsayılan değere yerleştirilecektir.

Artık snippet varsayılan değerle eklenir ve fare bu durumda v1 olan $1 konumuna yerleştirilir. Ya değeri değiştirebilirim ya da bir sonraki işaretleyiciye geçmek için <tab> tuşuna basabilirim.

Sublime Text parçacıklarının tek dezavantajı, tüm parçacıkları tek bir dosyada gruplayamamanızdır. Dosya başına yalnızca bir parçacığa izin verilir, bu da zahmetlidir. Ancak .sublime-completion dosyaları oluşturmak gibi başka seçenekler de var. Bu konuda daha fazla bilgi edinmek için belgelere göz atın.

Parçacık Dosyam Nerede Saklanıyor?

Snippet dosyaları .sublime-snippet son ekiyle kaydedilmelidir. TERCİLERPAKETLERE GÖZ ATIN'a gidin. Kullanıcı tanımlı ayarların saklandığı dizini açacaktır. Snippet dosyanızın kaydedileceği “Kullanıcı” dizinine gidin.

Parçacık Oluşturucu

Snippet-generator-app, girdilerimize göre web tabanlı otomatik snippet oluşturma olanağı sağlar. Sublime Text, Atom ve VSCode için kullanılabilir. Sayfanın sağ tarafında canlı kod oluşturacak olan açıklamayı, sekme tetikleyicisini ve içeriği sol tarafa yazın.

Ambari API'sinden Küme adını alacak örnek kod parçacığı.

Hepsi bugün için. Önemli metinde snippet kullanmanın avantajlarını gördük. Parçacıklar özelliğini göstermek için örnek olarak basit bir sahte metin kullandım ancak bundan çok daha fazlası var. Bu özelliğin Vim, Atom, Eclipse, Pycharm gibi tüm düzenleyicilerde/IDE'lerde mevcut olduğunu da belirtmek isterim. , Vscode vb.