Azure Data Studio genişletilebilirliği

Azure Data Studio,kullanıcı deneyimini özelleştirmek ve bu özelleştirmeleri tüm kullanıcı topluluğunun kullanımına açmak için çeşitli genişletilebilirlik mekanizmalarına sahiptir. Temel Azure Data Studio platformu Visual Studio Code üzerine kurulmuştur, bu nedenle Visual Studio Code genişletilebilirlik API'lerinin çoğu kullanılabilir. Ayrıca, veri yönetimine özgü etkinlikler için ek genişletilebilirlik noktaları sağladık.

Başlıca genişletilebilirlik noktalarından bazıları şunlardır:

  • Visual Studio Code genişletilebilirlik API'leri
  • Azure Data Studio uzantısı yazma araçları
  • Pano sekmesi panel katkılarını yönetme
  • Eylemler deneyimleriyle içgörüler
  • Azure Data Studio genişletilebilirlik API'leri
  • Özel Veri Sağlayıcısı API'leri

Visual Studio Code genişletilebilirlik API'leri

Çekirdek Azure Data Studio platformu Visual Studio Code üzerine oluşturulduğundan, Visual Studio Code genişletilebilirlik API'leri hakkındaki ayrıntılar Visual Studio Code web sitesindeki Uzantı Yazma ve Uzantı API'sinin belgelerinde bulunur.

Not

Azure Data Studio sürümleri VS Code'un son sürümüyle uyumlu olsa da, dahil edilen VS Code altyapısı geçerli VS Code sürümü olmayabilir. Örneğin, Kasım 2020'de Azure Data Studio'daki VS Code altyapısı 1.48 ve geçerli VS Code sürümü 1.51'dir. Uzantı yüklenirken "'<name>' uzantısı VS Code <sürümüyle> uyumlu olmadığından yüklenemiyor" hata iletisi, paket bildiriminde (package.json) tanımlanan daha sonraki bir VS Code altyapısı sürümüne sahip bir uzantıdan kaynaklanır. Hakkında altındaki Yardım menüsü aracılığıyla Azure Data Studio'nuzda VS Code altyapısı sürümünü doğrulayabilirsiniz.

Pano sekmesi panel katkılarını yönetme

Ayrıntılar için bkz . Katkı Noktaları ve Bağlam Değişkenleri.

Azure Data Studio genişletilebilirlik API'leri

Ayrıntılar için bkz . Genişletilebilirlik API'leri.

Katkı puanları

Bu bölüm, package.json uzantısı bildiriminde tanımlanan çeşitli katkı noktalarını kapsar.

IntelliSense, azuredatastudio içinde desteklenir.

Pano katkı noktaları

Panoya sekme, kapsayıcı ve/veya içgörü pencere öğesi ekleme.

Pano

dashboard.tabs

Dashboard.tabs, pano sayfasının içinde sekme bölümlerini oluşturur. Bir nesne veya bir nesne dizisi bekler.

"dashboard.tabs": [
{
	"id": "test-tab1",
	"title": "Test 1",
	"description": "The test 1 displays a list of widgets.",
	"when": "connectionProvider == 'MSSQL' && !mssql:iscloud",
	"alwaysShow": true,
	"container": {
		...
	}
}
]

dashboard.containers

Pano kapsayıcısını satır içi olarak belirtmek yerine (dashboard.tab içinde). Dashboard.containers kullanarak kapsayıcıları kaydedebilirsiniz. Bir nesneyi veya nesne dizisi kabul eder.

"dashboard.containers": [
{
	"id": "innerTab1",
	"container": {
		...
	}
},
{
	"id": "innerTab2",
	"container": {
	   ...
	}
}
]

Kayıtlı kapsayıcıya başvurmak için kapsayıcının kimliğini belirtin

"dashboard.tabs": [
{
	...
	"container": {
		"innerTab1": {             
		}
	}
}
]

dashboard.insights

dashboard.insights kullanarak içgörüleri kaydedebilirsiniz. Bu, Öğretici: Özel içgörü pencere öğesi oluşturma işlemine benzer

"dashboard.insights": {
"id": "my-widget"
"type": {
	"count": {
		"dataDirection": "vertical",
		"dataType": "number",
		"legendPosition": "none",
           "labelFirstColumn": false,
		"columnsAsLabels": false
       }
   },
   "queryFile": "{your file folder}/activeSession.sql"
}

Pano kapsayıcı türleri

Şu anda dört desteklenen kapsayıcı türü vardır:

  1. widgets-container

    Pencere öğeleri kapsayıcısı

    Kapsayıcıda görüntülenecek pencere öğelerinin listesi. Bu bir akış düzenidir. Pencere öğelerinin listesini kabul eder.

    "container": {
    	"widgets-container": [
    	{
    		"widget": {
    			"query-data-store-db-insight": {
    			}
    		}
    	},
    	{
    		"widget": {
    			"explorer-widget": {
    			}
    		}
    	}
      ]
    }
    
  2. webview-container

    webview kapsayıcısı

    Web görünümü kapsayıcının tamamında görüntülenir. Web görünümü kimliğinin sekme kimliğiyle aynı olmasını bekler

    "container": {
    	"webview-container": null
    }
    
  3. grid-container

    kılavuz kapsayıcısı

    Kılavuz düzeninde görüntülenecek pencere öğelerinin veya web görünümlerinin listesi

     "container": {
     	"grid-container": [
        {
        	"name": "widget 1",
        	"widget": {
        		"explorer-widget": {
        		}
        	},
        	"row":0,
        	"col":0
        },
        {
        	"name": "widget 2",
        	"widget": {
        		"tasks-widget": {
        			"backup", 
        			"restore",
        			"configureDashboard",
        			"newQuery"
        		}
        	},
        	"row":0,
        	"col":1
        },
        {
        	"name": "Webview 1",
        	"webview": {
        		"id": "google"
        	},
        	"row":1,
        	"col":0,
        	"colspan":2
        },
        {
        	"name": "widget 3",
        	"widget": {
        		"explorer-widget": {}
        	},
        	"row":0,
        	"col":3,
        	"rowspan":2
        },
    ]
    
  4. nav-section

    gezinti bölümü

    Gezinti bölümü kapsayıcıda görüntülenir

    "container": {
    	"nav-section": [
    		{
    			"id": "innerTab1",
    			"title": "inner-tab1",
    			"icon": {
    				"light": "./icons/tab1Icon.svg",
    				"dark": "./icons/tab1Icon_dark.svg"
    			},
    			"container": {
    				...
    			}
    		},
    		{
    			"id": "innerTab2",
    			"title": "inner-tab2",
    			"icon": {
    				"light": "./icons/tab2Icon.svg",
    				"dark": "./icons/tab2Icon_dark.svg"
    			},
    			"container": {
    				...
    			}
    		}
    	]
    }
    

Bağlam değişkenleri

Visual Studio Code ve ardından Azure Data Studio bağlamı hakkında genel bilgi için bkz . Genişletilebilirlik.

Azure Data Studio'da, uzantılar için kullanılabilir veritabanı bağlantıları ile ilgili belirli bağlamlara sahibiz.

Pano

Panoda aşağıdaki bağlam değişkenlerini sağlarız:

bağlam değişkeni açıklama
connectionProvider Geçerli bağlantının sağlayıcısı için tanımlayıcı dizesi. Örneğin connectionProvider == 'MSSQL'.
serverName Geçerli bağlantının sunucu adının dizesi. Örneğin serverName == 'localhost'.
databaseName Geçerli bağlantının veritabanı adının dizesi. Örneğin databaseName == 'master'.
connection Geçerli bağlantının tam bağlantı profili nesnesi (IConnectionProfile)
dashboardContext Panonun şu anda açık olduğu sayfanın bağlamının dizesi. 'database' veya 'server'. Örneğin dashboardContext == 'database'