Cookiecutter uzantısını kullanma
Cookiecutter şablonları bulmak, şablon seçeneklerini giriş yapmak ve proje ve dosya oluşturmak için bir grafik kullanıcı arabirimi sağlar. Visual Studio 2017 ve üzeri cookiecutter uzantısını içerir. Visual Studio'nun önceki sürümlerinde ayrı olarak yüklenebilir.
Visual Studio'da Cookiecutter uzantısı View>Cookiecutter Exploreraltında kullanılabilir:
Önkoşullar
Visual Studio. Ürünü kurmak için Visual Studio'yu Yükleiçindeki adımları izleyin.
Python 3.3 veya üzeri (32 bit veya 64 bit) veya Anaconda 3 4.2 veya üzeri (32 bit veya 64 bit).
Uygun bir Python yorumlayıcısı yoksa Visual Studio bir uyarı görüntüler.
Visual Studio çalışırken bir Python yorumlayıcı yüklerseniz, yeni yüklenen yorumlayıcıyı algılamak için Cookiecutter Explorer araç çubuğundaki Ana Sayfa seçeneğini seçin. Daha fazla bilgi için bkz. Visual Studio'da Python ortamları oluşturma ve yönetme.
Cookiecutter Explorer ile çalışma
Tanımlama Bilgisi Gezgini'de, şablonlara göz atabilir ve seçebilir, şablonları yerel bilgisayarınıza kopyalayabilir, şablon seçeneklerini ayarlayabilir ve şablonlardan kod oluşturabilirsiniz.
Şablonlara göz atın
Cookiecutter Explorer şablonlara göz atarak zaten yüklü ve kullanılabilir olanları görebilirsiniz.
Tanımlama Bilgisi Gezgini'nde, kullanılabilir şablonları görüntülemek için araç çubuğundaki Giriş seçeneğini belirleyin.
Giriş sayfasında, aralarından seçim yapabileceğiniz, dört olası gruba ayrılmış bir şablon listesi görüntülenir:
Grup Açıklama Notlar Yüklü Yerel bilgisayarınıza yüklenen şablonlar. Çevrimiçi bir şablon kullanıldığında, deposu ~/.cookiecutters alt klasörüne otomatik olarak kopyalanır. Sil seçeneğine basarak Tanımlama Bilgisi Gezgini araç çubuğundan yüklü bir şablonu sisteminizden kaldırabilirsiniz. önerilen Önerilen akıştan yüklenen şablonlar. Microsoft varsayılan akışı düzenler. Akışı özelleştirmek için Tanımlama Bilgisi seçeneklerini ayarlamaadımlarını izleyebilirsiniz. GitHub "Cookiecutter" anahtar sözcüğü için GitHub arama sonuçları. Git depolarının listesi sayfalandırılmış biçimde döndürülür. Sonuç listesi geçerli görünümü aştığında, listede bir sonraki sayfalandırılmış sonuç kümesini göstermek için Daha Fazla Yükle seçeneğini belirleyebilirsiniz. özel Cookiecutter Exploreraracılığıyla tanımlanan tüm özel şablonlar. Cookiecutter Explorer arama kutusuna özel bir şablon konumu girildiğinde, konum bu grupta görünür. Git deposunun tam yolunu veya yerel diskinizde bir klasörün tam yolunu girerek özel bir şablon tanımlayabilirsiniz. Belirli bir kategori için kullanılabilir şablonların listesini göstermek veya gizlemek için kategorinin yanındaki oku seçin.
Şablonları kopyalama
Yerel kopyalar üzerinde çalışabilmek için Tanımlama Bilgisi Gezgini içindeki mevcut şablonlarla çalışabilirsiniz.
Cookiecutter Gezgini'nde bir şablon seçin. Seçilen şablon hakkında bilgiler, Cookiecutter Gezgini ana sayfasının en altında gösterilir.
Şablon özeti, şablon hakkında daha fazla bilgi için bağlantılar içerir. Şablonun GitHub deposu sayfasına gidebilir, şablonun Wiki'sini görüntüleyebilir veya bildirilen sorunlarıbulabilirsiniz.
Seçili şablonu klonlamak için sonrakiseçin. Cookiecutter şablonun yerel bir kopyasını oluşturur.
Kopyalama davranışı, seçtiğiniz şablon türüne bağlıdır:
Şablon türü | Davranış |
---|---|
Yüklü | Seçilen şablon Visual Studio'nun önceki oturumunda yüklüyse, otomatik olarak silinir ve en son sürüm yerel bilgisayarınıza yüklenir ve kopyalanır. |
önerilen | Seçilen şablon kopyalanır ve yerel bilgisayarınıza yüklenir. |
GitHub | Seçilen şablon kopyalanır ve yerel bilgisayarınıza yüklenir. |
Özel arama |
-
URL: Cookiecutter Gezgini arama kutusuna bir git deposu için özel bir URL girerseniz ve ardından şablonu seçerseniz, seçilen şablon yerel bilgisayarınıza kopyalanır ve yüklenir. - Klasör yolu: Arama kutusuna özel bir klasör yolu girer ve şablonu seçerseniz, Visual Studio bu şablonu kopyalamadan yükler. |
Önemli
Cookiecutter şablonları ~/.cookiecutters tek bir klasör altında kopyalanmıştır. Her alt klasör, GitHub kullanıcı adını içermeyen git deposu adından sonra adlandırılır. Farklı yazarlardan gelen aynı ada sahip farklı şablonları klonlarsanız çakışmalar ortaya çıkabilir. Bu durumda Cookiecutter, mevcut şablonun üzerine aynı ada sahip farklı bir şablon yazmanızı engeller. Diğer şablonu yüklemek için önce var olan şablonu silmeniz gerekir.
Şablon seçeneklerini ayarlama
Bir şablonu yerel olarak yükleyip kopyaladıktan sonra, Cookiecutter Seçenekleri sayfasını görüntüler. Bu sayfada, oluşturulan dosyalar için klasör yolu konumu gibi ayarları belirtebilirsiniz:
Her Cookiecutter şablonu kendi seçenek kümesini tanımlar. Bir ayar için varsayılan değer kullanılabilir olduğunda, Seçenekler sayfasında ilgili alanda önerilen metin gösterilir. Varsayılan değer, genellikle diğer seçenekleri kullanan dinamik bir değer olduğunda bir kod parçacığı olabilir.
Bu örnekte şablon adı cookiecutter-flask/cookiecutter-flaskolarak tanımlanır. Bir ayar değeri değiştirilebildiğinde, alan metni düzenleme için kullanılabilir.
Oluşturmak için alanına, Cookiecutter tarafından oluşturulan dosyaların klasör yolu konumunu girin.
Ardından, şablon için aşağıdakiler gibi diğer istenen seçenekleri ayarlayın:
- full_name: Şablona uygulanacak tam ad.
- e-posta: Şablon yazarının e-posta adresi.
- github_username: Şablon yazarının GitHub diğer adı.
- python_version: Şablondan oluşturulan web uygulamaları için hedef Python sürümü.
Yapılandırma dosyasıyla varsayılanları ayarlama
Kullanıcı yapılandırma dosyasıyla belirli seçenekler için varsayılan değerleri özelleştirebilirsiniz. Cookiecutter uzantısı bir kullanıcı yapılandırma dosyası algıladığında, yapılandırma dosyası değerleriyle şablonun varsayılan değerlerinin üzerine yazar. Bu davranış hakkında daha fazla bilgi için Cookiecutter belgelerinin Kullanıcı Yapılandırması bölümüne bakın.
Belirtilen görevleri geri çevirme
Bazı şablonlar, kod oluşturma işleminden sonra çalıştırılacak belirli Visual Studio görevlerini tanımlar. Yaygın görevler arasında web tarayıcısı açma, düzenleyicide dosya açma ve bağımlılıkları yükleme yer alır. Bir şablon belirli görevleri tanımladığında, Tamamlama sırasında ek görevleri çalıştır ayarı seçenekler listesine eklenir. Belirtilen Visual Studio görevlerini geri çevirmek için bu ayarı yapılandırabilirsiniz.
Şablonlardan kod oluşturma
Şablon seçeneklerinizi ayarladıktan sonra Cookiecutter'ın proje dosyalarını oluşturması ve kodu oluşturması için hazırsınız demektir.
İletişim kutusunda, seçenekler listesinden sonra bir düğme görüntülenir. Düğme metni şablona bağlıdır. Klasör Oluştur ve Aç Çözüme Eklevb. görebilirsiniz.
Seçenekleri sayfasında, Klasör Oluştur ve Aç veya Çözüme Ekle gibi seçenekler listesinden sonra gelen düğmeyi seçin.
Cookiecutter kodu oluşturur. Çıkış klasörü boş değilse bir uyarı görüntülenir.
Şablonun çıktısını biliyorsanız ve dosyaların üzerine yazmaktan çekinmiyorsanız uyarıyı kapatmak için Tamam'ı seçin.
Aksi takdirde, İptal Et'i seçin, boş bir klasör belirtin ve ardından oluşturulan dosyaları el ile hazır olmayan çıkış klasörünüze kopyalayın.
Cookiecutter dosyaları başarıyla oluşturduğunda, Visual Studio şablon proje dosyalarını Çözüm Gezginiaçar.
Cookiecutter seçeneklerini ayarlama
Cookiecutter seçenekleri Araçları>Seçenekleri>Cookiecutteraracılığıyla kullanılabilir:
Seçenek | Açıklama |
---|---|
Güncelleştirilmiş şablonları denetleyin | Cookiecutter'ın yüklü şablonlara yönelik güncelleştirmeleri otomatik olarak çevrimiçi olarak denetleyıp denetlemediğini denetler. |
Önerilen akış URL'si | Önerilen şablonlar akış dosyasının konumu. Konum bir URL veya yerel dosyanın yolu olabilir. Varsayılan Microsoft düzenlenmiş akışını kullanmak için URL'yi boş bırakın. Veri akışı, şablon konumlarının yeni satırlarla ayrılmış basit bir listesini sağlar. Seçilen akışta değişiklik istemek için GitHub kaynağındaiçin bir çekme isteği gönderin. |
Yardımı Göster | Cookiecutter penceresinin üst kısmındaki yardım bilgileri çubuğunun görünürlüğünü denetler. |
Visual Studio için Cookiecutter şablonlarını iyileştirme
Visual Studio için Cookiecutter uzantısı, Cookiecutter v1.4 için oluşturulan şablonları destekler. Cookiecutter şablonları yazma hakkında daha fazla bilgi için Cookiecutter belgelerine bakın.
Şablon değişkenlerinin varsayılan işlemesi veri türüne (dize veya liste) bağlıdır:
- Dize: Dize veri türü değişken adı için bir etiket, değeri girmek için bir metin kutusu ve varsayılan değeri gösteren bir filigran kullanır. Metin kutusundaki araç ipucu varsayılan değeri gösterir.
- Liste: Liste veri türü, değişken adı için bir etiket ve bir değer seçmek için bir kombine kutu kullanır. Birleşik giriş kutusundaki araç ipucu varsayılan değeri gösterir.
cookiecutter.json dosyanızda Visual Studio'ya özgü (ve Cookiecutter CLI tarafından yoksayılan) diğer meta verileri belirterek işlemeyi geliştirebilirsiniz. Tüm özellikler isteğe bağlıdır:
Mülk | Açıklama |
---|---|
label |
Değişkenin adı yerine değişkenin düzenleyicisinin üzerinde görüntülenecek metni belirtir. |
description |
Bu değişken için varsayılan değer yerine düzenleme denetiminde görüntülenecek araç ipucuyu belirtir. |
url |
Etiketi, URL'yi gösteren bir araç ipucu ile birlikte bir köprüye dönüştürür. Köprüyü seçtiğinizde kullanıcının varsayılan tarayıcısı bu URL'ye açılır. |
selector |
Bir değişken için düzenleyicinin özelleştirilmesine izin verir. Şu anda aşağıdaki seçiciler desteklenmektedir: - string : Dizeler için varsayılan olarak standart metin kutusu. - list : Listeler için varsayılan standart birleşik liste kutusu. - yesno : dizeler için y ile n arasında seçim yapmak için birleşik giriş kutusu. - odbcConnection : Veritabanı bağlantısı iletişim kutusunu açan üç nokta düğmesinin (...) olduğu metin kutusu. |
Aşağıdaki örnekte işleme özelliklerinin nasıl ayarlanacağı gösterilmektedir:
{
"site_name": "web-app",
"python_version": ["3.5.2"],
"use_azure": "y",
"_visual_studio": {
"site_name": {
"label": "Site name",
"description": "E.g. <site-name>.azurewebsites.net (can only contain alphanumeric characters and `-`)"
},
"python_version": {
"label": "Python version",
"description": "The version of Python to run the site on"
},
"use_azure" : {
"label": "Use Azure",
"description": "Include Azure deployment files",
"selector": "yesno",
"url": "https://azure.microsoft.com"
}
}
}
Visual Studio görevlerini çalıştırma
Cookiecutter, dosyalar oluşturulduktan sonra rastgele Python kodu çalıştırmanıza olanak tanıyan Oluşturma Sonrası Kancalar adlı bir özelliğe sahiptir. Özellik esnek olsa da Visual Studio'ya kolay erişime izin vermez.
Bir dosyayı Visual Studio düzenleyicisinde veya web tarayıcısında açmak için bu özelliği kullanabilirsiniz. Ayrıca, kullanıcıdan sanal ortam oluşturmasını ve paket gereksinimlerini yüklemesini isteyen Visual Studio kullanıcı arabirimini tetikleyebilirsiniz.
Bu senaryolara izin vermek için Visual Studio, cookiecutter.json dosyasında genişletilmiş meta verileri arar. Kullanıcı oluşturulan dosyaları Çözüm Gezgini'nde açtıktan veya dosyalar var olan bir projeye eklendikten sonra çalıştırılacak komutları arar. (Kullanıcı, Tamamlandığında ek görevleri çalıştır seçeneğini şablonundan temizleyerek görevleri çalıştırmaktan vazgeçebilir.)
Aşağıdaki örnekte, cookiecutter.json dosyasında genişletilmiş meta verilerin nasıl ayarlanacağı gösterilmektedir:
"_visual_studio_post_cmds": [
{
"name": "File.OpenFile",
"args": "{{cookiecutter._output_folder_path}}\\readme.txt"
},
{
"name": "Cookiecutter.ExternalWebBrowser",
"args": "https://learn.microsoft.com"
},
{
"name": "Python.InstallProjectRequirements",
"args": "{{cookiecutter._output_folder_path}}\\dev-requirements.txt"
}
]
Komutları adlarıyla belirtin. Visual Studio'nun yerelleştirilmiş kurulumlarında çalışmak için yerelleştirilmemiş (İngilizce) adını kullanın. Visual Studio Komut penceresinde komut adlarını test edebilir ve bulabilirsiniz.
Tek bir bağımsız değişken geçirmek istiyorsanız, önceki örnekteki name
meta verileri için gösterildiği gibi bağımsız değişkeni bir dize olarak belirtin.
Bağımsız değişken geçirmeniz gerekmiyorsa, değeri boş bir dize olarak bırakın veya JSON dosyasından çıkarın.
"_visual_studio_post_cmds": [
{
"name": "View.WebBrowser"
}
]
Birden çok bağımsız değişken için bir dizi kullanın. Anahtarlar için anahtarı ve değerini ayrı bağımsız değişkenlere bölün ve bu örnekte gösterildiği gibi doğru alıntıyı kullanın:
"_visual_studio_post_cmds": [
{
"name": "File.OpenFile",
"args": [
"{{cookiecutter._output_folder_path}}\\read me.txt",
"/e:",
"Source Code (text) Editor"
]
}
]
Argümanlar diğer Cookiecutter değişkenlerine başvurabilir. Önceki örnekte, iç _output_folder_path
değişkeni dosyaları oluşturmak için mutlak bir yol oluşturmak için kullanılır.
Python.InstallProjectRequirements
komutu yalnızca var olan bir projeye dosya eklerken çalışır. Bu sınırlamanın nedeni, komutun Çözüm GezginiPython projesi tarafından işlenmesi ve Çözüm Gezgini - Klasör Görünümüiçinde iletiyi alacak proje olmamasıdır.
Şablon sorunlarını giderme
Cookiecutter ile çalışırken Python ortamınızda ve kodunuzda sorun giderme hakkında ipuçları için aşağıdaki bölümleri gözden geçirin.
Şablon yüklenirken hata oluştu
Bazı şablonlar cookiecutter.json dosyasında boole gibi geçersiz veri türleri kullanabilir. Şablon bilgileri bölmesindeki Sorunlar bağlantısını seçerek bu örnekleri şablon yazarına bildirebilirsiniz.
Kanca komut dosyası çalışamadı
Bazı şablonlar Cookiecutter kullanıcı arabirimiyle uyumlu olmayan post-generation betikleri kullanabilir. Örneğin, kullanıcıyı giriş için sorgulayan betikler, terminal konsolu olmaması nedeniyle başarısız olabilir.
** Hook komutu Windows'da desteklenmiyor
Post betik dosyası .shise, Windows bilgisayarınızdaki bir uygulamayla ilişkilendirilmemiş olabilir. Windows mağazasında uyumlu bir uygulama bulmak için bir Windows iletişim kutusu istemi görebilirsiniz.
Bilinen sorunları olan şablonlar
Cookiecutter Explorerşablon özetindeki Sorunlar bağlantısını kullanarak bir şablonun bilinen sorunları olup olmadığını öğrenebilirsiniz:
Bağlantı, şablonun GitHub sorunları sayfasını açar: