Visual Studio Code için MSSQL uzantısında Transact-SQL’yi biçimlendirin

Tutarlı biçimlendirme, Transact-SQL (T-SQL) özellikle birden çok kişi aynı kod tabanına katkıda bulunurken okunmasını, gözden geçirilmesini ve bakımını kolaylaştırır. Visual Studio Code için MSSQL uzantısı, talep üzerine çalıştırabilen, kayıt sırasında otomatik biçimlendirme için yapılandırabileceğiniz ve Visual Studio Code ayarlarıyla özelleştirebileceğiniz yerleşik bir SQL formatlayıcı içerir.

MSSQL uzantısındaki T-SQL biçimlendirme işlevi, T-SQL'i ayrıştıran ve soyut sözdizimi ağaçlarına dayalı betikler oluşturan açık kaynaklı .NET kütüphanesi olan ScriptDOM üzerinde inşa edilmiştir.

İsteğe bağlı biçimlendirme

T-SQL'i herhangi bir düzenleyici penceresinde biçimlendirebilirsiniz. Biçimleyici tüm belge üzerinde veya sadece seçtiğiniz metin üzerinde çalışır.

T-SQL'yi talep üzerine biçimlendirmek için aşağıdaki yöntemlerden birini kullanın:

  • Bağlam menüsü: Bir T-SQL düzenleyici penceresinde sağ tıklayın ve Format Document veya Format Selection seçeneğini seçin.

  • Komut paleti: Formatlama belgesini çalıştırın veya biçim seçimini yapın.

  • Klavye kısayolu: Format Document'i için, Windows ve Linux'ta Shift+Alt+ F'ye veya macOS'ta Shift+Option+F'ye basın. Format Seçimi için Windows ve Linux'ta Ctrl+K, Ctrl+ F, macOS'ta Cmd+K, Cmd+F tuşlarına basın.

Kaydetmede biçimlendirme

Visual Studio Code'ta, standart düzenleyici ayarı formatı kaydetme sırasında kontrol eder, özel MSSQL formatlayıcı ayarı yerine.

Visual Studio Code settings.json dosyanızda aşağıdaki ayarları kullanarak T-SQL'i otomatik olarak formatlayın:

{
  "[sql]": {
    "editor.formatOnSave": true
  }
}

Biçimlendirme seçeneklerini yapılandırma

Biçimlendirmeyi Visual Studio Code Settings UI'de veya kullanıcı veya çalışma alanında settings.jsonyapılandırın.

Ayarlar düzenleyicisinde, kullanılabilir seçenekleri görüntülemek için Mssql>Biçim aratın. settings.json içinde, karşılık gelen mssql.format.* ayarlarını kullanın.

Desteklenen ayarlar

Aşağıdaki ayarlar SQL formatlayıcıyı yapılandırır.

General

Setting Türü Varsayılan Description
mssql.format.showParseErrorNotification bool true Şekillendirici T-SQL'yi tam olarak ayrıştıramadığında bildirim gösterin.
mssql.format.options.sqlVersion enum sql170 T-SQL sürümü, biçimlendirilmiş betikleri ayrıştırmak ve oluşturmak için kullanılır.
mssql.format.options.sqlEngineType enum all Database Engine tipi, biçimlendirilmiş betikleri ayrıştırmak ve oluşturmak için kullanılır. Geçerli değerler: all, standalone ve sqlAzure.

Hizalama

Setting Türü Varsayılan Description
mssql.format.options.alignClauseBodies bool true FROM, WHERE, GROUP BY ve benzeri tümcelerin gövdelerini hizalayın.
mssql.format.options.alignColumnDefinitionFields bool true İsimler, veri türleri ve kısıtlamalar gibi sütun tanım alanlarını hizalayın.
mssql.format.options.alignSetClauseItem bool true İfadelerdeki SET yan tümce öğelerini UPDATE hizalayın.
mssql.format.options.clauseBodyAlignment enum aligned Yan tümce gövdelerini anahtar sözcükleriyle birlikte aligned tutun ya da sonraki satıra indented olarak yerleştirin.

Kılıf ve tanımlayıcılar

Setting Türü Varsayılan Description
mssql.format.options.builtInFunctionCasing enum preserve Desteklenen yerleşik fonksiyon isimleri için kılıf stili, örneğin GETDATE ve COALESCE. Geçerli değerler: preserve, uppercase, lowercase ve pascalCase.
mssql.format.options.identifierBracketing enum preserve Tanımlayıcıların etrafındaki isteğe bağlı kare parantez ayarlarını koruyun, ekleyin veya kaldırın. Geçerli değerler: preserve, includeBrackets ve excludeBrackets. Gerekli braketler korunur.
mssql.format.options.identifierCasing enum preserve Nesne tanımlayıcıları için kaplan stili. Geçerli değerler: preserve, uppercase, lowercase ve pascalCase.
mssql.format.options.keywordCasing enum uppercase Anahtar sözcük büyük/küçük harf stili. Geçerli değerler: uppercase, lowercase ve pascalCase.

Paths

Setting Türü Varsayılan Description
mssql.format.options.allowExternalLanguagePaths bool true Dış dil içeriğinin dosya yollarını kullanmasına izin verin.
mssql.format.options.allowExternalLibraryPaths bool true Harici kütüphane içeriğinin dosya yollarını kullanmasına izin verin.

Biçimlendirme

Setting Türü Varsayılan Description
mssql.format.options.asKeywordOnOwnLine bool true AS öğesini ayrı bir satıra yerleştirin.
mssql.format.options.columnAliasStyle enum asKeyword Sütun takma adlarını AS, eşittir işareti veya özgün sözdizimlerini kullanarak biçimlendirin. Geçerli değerler: asKeyword, equalsSign ve preserve.
mssql.format.options.commaPlacement enum trailing Virgül listesindeki öğelerin sonuna (trailing) veya sonraki maddenin (leading) başına koyun.
mssql.format.options.leadingCommaSpaceCount integer 1 Önde gelen virgülden sonra boşluk sayısı. Geçerli değerler: 0 ve 1.
mssql.format.options.persistTrailingGo bool false Orijinal yazıdan sonraki parti ayırıcılarını koruyun GO .
mssql.format.options.preserveComments bool true Biçimlendirme sırasında açıklamaları koruyun.
mssql.format.options.terminateBlockStatements bool false BEGIN...END ve TRY...CATCH bloklarından sonra noktalı virgül sonlandırıcıları ekleyin.

Girinti

Setting Türü Varsayılan Description
mssql.format.options.indentSetClause bool false SET deyimlerindeki UPDATE yan tümceleri girintileyin.
mssql.format.options.indentViewBody bool false VIEW gövdelerini girintileyin.

Çok satırlı

Setting Türü Varsayılan Description
mssql.format.options.multilineGroupByElementsList bool false Öğeleri çok satırlı bir liste olarak formatlayın GROUP BY .
mssql.format.options.multilineHavingPredicatesList bool true OR veya HAVING ile ayrılmış AND yüklemleri birden çok satırda biçimlendirin.
mssql.format.options.multilineInsertSourcesList bool true Kaynakları çok satırlı listeler olarak biçimlendirin INSERT .
mssql.format.options.multilineInsertTargetsList bool true INSERT sütunları çok satırlı listeler olarak biçimlendirin.
mssql.format.options.multilineInValuesList bool false Bir IN predikatta değerleri çok satırlı bir liste olarak biçimlendirin.
mssql.format.options.multilineNestedFunctionCalls bool false İç içe fonksiyon çağrılarını ayrı girintili hatlarda formatlayın ve izole fonksiyon çağrılarını tek hatta tutarkın.
mssql.format.options.multilineOrderByElementsList bool false Öğeleri çok satırlı bir liste olarak formatlayın ORDER BY .
mssql.format.options.multilinePartitionByElementsList bool false Pencere özelliklerindeki öğeleri çok satırlı bir liste olarak biçimlendirin PARTITION BY .
mssql.format.options.multilineProcedureParametersList bool false Prosedür ve fonksiyon parametrelerini ayrı satırlarda biçimlendirin.
mssql.format.options.multilineSelectElementsList bool true SELECT sütunları çok satırlı listeler olarak biçimlendirin.
mssql.format.options.multilineSetClauseItems bool true SET Yan tümce öğelerini çok satırlı liste biçiminde biçimlendirin.
mssql.format.options.multilineViewColumnsList bool true VIEW Sütunları çoklu satırlı listeler olarak biçimlendirin.
mssql.format.options.multilineWherePredicatesList bool true WHERE predikatlarını çok satırlı listeler şeklinde biçimlendirin.
mssql.format.options.multilineWithOptionsList bool false Desteklenen WITH ve OPTION yan tümce değerlerini ayrı satırlarda biçimlendirin.

Yeni satır

Setting Türü Varsayılan Description
mssql.format.options.newLineAfterJoinKeyword bool true Birleştirilmiş tablo kaynağını, JOIN anahtar sözcüğünden sonra yeni bir satıra yerleştirin.
mssql.format.options.newLineBeforeCloseParenthesisInMultilineList bool true Çok satırlı bir listenin kapanış parantezinin önüne yeni bir satır yerleştirin.
mssql.format.options.newLineBeforeFromClause bool true Maddenin FROM önüne yeni bir satır koyun.
mssql.format.options.newLineBeforeGroupByClause bool true Maddenin GROUP BY önüne yeni bir satır koyun.
mssql.format.options.newLineBeforeHavingClause bool true Maddenin HAVING önüne yeni bir satır koyun.
mssql.format.options.newLineBeforeJoinClause bool true JOIN yan tümcelerinden önce yeni bir satır ekleyin.
mssql.format.options.newLineBeforeOffsetClause bool true Maddenin OFFSET önüne yeni bir satır koyun.
mssql.format.options.newLineBeforeOnClause bool true Birleştirmenin ON maddesini yeni bir satıra yerleştirin.
mssql.format.options.newLineBeforeOpenParenthesisInMultilineList bool false Çok satırlı bir listenin açılış parantezinin önüne yeni bir satır koyun.
mssql.format.options.newLineBeforeOrderByClause bool true Maddenin ORDER BY önüne yeni bir satır koyun.
mssql.format.options.newLineBeforeOutputClause bool true Maddenin OUTPUT önüne yeni bir satır koyun.
mssql.format.options.newLineBeforeWhereClause bool true Maddenin WHERE önüne yeni bir satır koyun.
mssql.format.options.newLineBeforeWindowClause bool true Maddenin WINDOW önüne yeni bir satır koyun.
mssql.format.options.newlineFormattedCheckConstraint bool false Bir kısıtın CHECK yan tümcesini ayrı bir satıra yerleştirin.
mssql.format.options.newLineFormattedIndexDefinition bool false INCLUDE, WHERE ve UNIQUE satır içi dizin tanımlarının bölümlerini ayrı satırlara yerleştirin.

Bildirim ve parti aralığı

Setting Türü Varsayılan Description
mssql.format.options.numNewlinesAfterBatches integer 1 Her GO parti ayırıcısından sonra satır kesimlerinin sayısı, ' 0 den 'ye 5kadar.
mssql.format.options.numNewlinesAfterBatchStatement integer 2 Bir toplu işlemde, her üst düzey ifadeden sonra eklenecek satır sonu sayısı, 0 ile 5 arasında.
mssql.format.options.numNewlinesAfterStatement integer 1 Her ifadeden sonra, 0 ile 5 arasında satır sonu sayısı.

Spacing

Setting Türü Varsayılan Description
mssql.format.options.spaceBetweenDataTypeAndParameters bool true Örneğin, bir veri tipiyle parantezleri VARCHAR (255)arasında bir boşluk ekleyin.
mssql.format.options.spaceBetweenParametersInDataType bool true Örneğin, bir veri tipinde DECIMAL (10, 2)parametreler arasında boşluk ekleyin.

Örnek ayar dosyası

{
  "mssql.format.options.keywordCasing": "lowercase",
  "mssql.format.options.alignClauseBodies": false,
  "mssql.format.options.numNewlinesAfterStatement": 2,
  "[sql]": {
    "editor.formatOnSave": true
  }
}

Varsayılan formatlayıcıyı ayarlayın

MSSQL uzantısını varsayılan olarak ayarlamak için Varsayılan Formatlayıcıyı Yapılandır... seçeneğini seçin.>SQL Server (mssql) veya aşağıdaki yapılandırmayı ekleyebilirsinizsettings.json:

{
  "[sql]": {
    "editor.defaultFormatter": "ms-mssql.mssql"
  }
}