Aracılığıyla paylaş


Cookiecutter uzantısını kullanma

Cookiecutter şablonları, giriş şablonu seçeneklerini keşfetmek 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ı, Tanımlama Bilgisi Gezgini'ni Görüntüle>altında kullanılabilir:

Visual Studio'da Tanımlama Bilgisi Gezgini ana penceresini gösteren ekran görüntüsü.

Önkoşullar

  • Visual Studio. Ürünü yüklemek için Visual Studio'yu Yükleme'deki 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ısı yüklerseniz, yeni yüklenen yorumlayıcıyı algılamak için Tanımlama Bilgisi Gezgini araç çubuğundaKi Giriş seçeneğini belirleyin. Daha fazla bilgi için bkz . Visual Studio'da Python ortamları oluşturma ve yönetme.

Cookiecutter Explorer ile çalışma

Cookiecutter Gezgini'nde şablonlara göz atabilir ve şablonlar seçebilir, şablonları yerel bilgisayarınıza kopyalayabilir, şablon seçeneklerini ayarlayabilir ve şablonlardan kod oluşturabilirsiniz.

Şablonlara göz atın

Cookiecutter Explorer'daki şablonlara göz atarak önceden yüklenmiş olan ve kullanılabilir olan içeriği görebilirsiniz.

  1. Cookiecutter Explorer'da, kullanılabilir şablonları görüntülemek için araç çubuğundaki Giriş seçeneğini belirleyin.

    Visual Studio'da Cookiecutter Gezgini'nin giriş sayfasını, Önerilen ve GitHub kategorilerinde listelenen şablonları gösteren ekran görüntüsü.

    Giriş sayfasında, aralarından seçim yapabileceğiniz, dört olası gruba ayrılmış bir şablon listesi görüntülenir:

    Gruplandırma Açıklama Notlar
    Yüklendi Yerel bilgisayarınıza yüklenen şablonlar. Çevrimiçi bir şablon kullanıldığında, deposu ~/.cookiecutters alt klasörüne otomatik olarak kopyalanır. Cookiecutter Explorer araç çubuğunda Sil'i seçerek yüklü bir şablonu sisteminizden kaldırabilirsiniz.
    Önerilir Önerilen akıştan yüklenen şablonlar. Microsoft varsayılan akışı seçer. Cookiecutter seçeneklerini ayarlama bölümünde yer alan adımları izleyerek akışı özelleştirebilirsiniz.
    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 Tanımlama Bilgisi Gezgini aracılığıyla tanımlanan tüm özel şablonlar. Tanımlama Bilgisi Gezgini 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.
  2. 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ı oluşturmak için Cookiecutter Explorer'daki kullanılabilir şablonlarla çalışabilirsiniz.

  1. Tanımlama Bilgisi Gezgini'nde bir şablon seçin. Seçilen şablon hakkındaki bilgiler, Tanımlama Bilgisi Gezgini giriş sayfasının en altında görüntülenir.

    Visual Studio'da Tanımlama Bilgisi Gezgini'nde kopyalama için bir şablonun nasıl seçildiğini gösteren ekran görüntüsü.

    Şablon özeti, şablon hakkında daha fazla bilgi için bağlantılar içerir. Şablonun GitHub deposu sayfasına gidebilir, şablon Wiki'sini görüntüleyebilir veya bildirilen Sorunları bulabilirsiniz.

  2. Seçili şablonu kopyalamak için İleri'yi seç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üklendi 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.
Önerilir 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: Tanımlama Bilgisi Gezgini arama kutusuna git deposu için özel bir URL girer ve ardından şablonu seçerseniz, seçili şablon kopyalanır ve yerel bilgisayarınıza 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çenekler sayfasını görüntüler. Bu sayfada, oluşturulan dosyalar için klasör yolu konumu gibi ayarları belirtebilirsiniz:

Visual Studio'da Tanımlama Bilgisi Gezgini'nde yeni yüklenen ve kopyalanan bir şablon için seçenekleri gösteren ekran görüntüsü.

Her Cookiecutter şablonu kendi seçenek kümesini tanımlar. Bir ayar için varsayılan bir değer kullanılabilir olduğunda, Seçenekler sayfası ilgili alanda önerilen metni gösterir. 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-flask olarak tanımlanır. Bir ayar değeri değiştirilebildiğinde, alan metni düzenleme için kullanılabilir.

  1. Oluşturma yeri alanına Cookiecutter tarafından oluşturulan dosyaların klasör yolu konumunu girin.

  2. 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, Ek görevleri tamamlanırken çalıştır ayarı seçenek 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 Ekle gibi bilgileri görebilirsiniz.

  1. Seçenekler sayfasında, Klasör Oluştur ve Aç veya Çözüme Ekle gibi seçenekler listesinden sonra gelen düğmeyi seçin.

    Şablon seçenekleri listesinden sonra Klasör Oluştur ve Aç düğmesini gösteren ekran görüntüsü.

    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 yazmayı sorun ediyorsanız uyarıyı kapatmak için Tamam'ı seçin.

    • Aksi takdirde İptal'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.

  2. Cookiecutter dosyaları başarıyla oluşturduğunda Visual Studio, şablon proje dosyalarını Çözüm Gezgini açar.

Cookiecutter seçeneklerini ayarlama

Tanımlama bilgisi seçenekleri, Araçlar>Seçenekler>Tanımlama Bilgisi Aracı aracılığıyla kullanılabilir:

Visual Studio'da Cookiecutter seçeneklerini gösteren ekran görüntüsü.

Seçenek Açıklama
Güncelleştirilmiş şablonları denetleme 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 seçilmiş akışını kullanmak için URL'yi boş bırakın. 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'da kaynağa yönelik bir çekme isteğinde bulunabilirsiniz.
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 değer seçmek için birleşik giriş kutusu 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:

Özellik 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ç ipucuyla 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: Standart metin kutusu, dizeler için varsayılan.
- list: Standart birleşik giriş kutusu, listeler için varsayılan.
- yesno: dizeler için ve narasında y seçim yapmak için birleşik giriş kutusu.
- odbcConnection: Veritabanı bağlantısı iletişim kutusunu açan üç nokta düğmesini (...) içeren 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 Post-Generate Hooks 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'de açtıktan sonra veya dosyalar var olan bir projeye eklendikten sonra çalıştırılacak komutları arar. (Kullanıcı, Tamamlama şablonu seçeneğinde ek görevler çalıştırın.)

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ı ada göre belirtin ve Visual Studio'nun yerelleştirilmiş yüklemelerinde çalışmak için konumlanmamış (İ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 meta veriler için name gösterildiği gibi bağımsız değişkeni 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 atlayı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"
        ]
    }
]

Bağımsız değişkenler diğer Cookiecutter değişkenlerine başvurabilir. Önceki örnekte, iç _output_folder_path değişken dosyaları oluşturmak için mutlak bir yol oluşturmak için kullanılır.

Komut Python.InstallProjectRequirements yalnızca var olan bir projeye dosya eklerken çalışır. Komut Çözüm Gezgini Python projesi tarafından işlendiğinden ve Çözüm Gezgini Folder Görünümü'ndeyken - iletiyi alacak proje olmadığından bu sınırlama vardı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. Bu örnekleri şablon bilgileri bölmesindeki Sorunlar bağlantısını seçerek şablon yazarına bildirebilirsiniz.

Kanca betiği başarısız oldu

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.

Kanca betiği Windows'da desteklenmiyor

Post betik dosyası .sh ise, 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

Tanımlama Bilgisi Gezgini'ndeki şablon özetindeki Sorunlar bağlantısını kullanarak bir şablonda bilinen sorunlar olup olmadığını öğrenebilirsiniz:

Tanımlama Bilgisi Gezgini'nde şablonla ilgili bilinen sorunların listesinin nasıl açıldığını gösteren ekran görüntüsü.

Bağlantı, şablonun GitHub sorunları sayfasını açar:

GitHub'da bir şablon için bildirilen sorunların listesini gösteren ekran görüntüsü.