From cf896eb3ba555f80d909ff2515b4bbf5b6f738d7 Mon Sep 17 00:00:00 2001 From: Vincent Biret Date: Thu, 12 Oct 2023 14:07:01 -0400 Subject: [PATCH 01/19] - refreshes kiota versions --- vscode/microsoft-kiota/package-lock.json | 4 ++-- vscode/microsoft-kiota/package.json | 14 +++++++------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/vscode/microsoft-kiota/package-lock.json b/vscode/microsoft-kiota/package-lock.json index 921ddb2536..572556087b 100644 --- a/vscode/microsoft-kiota/package-lock.json +++ b/vscode/microsoft-kiota/package-lock.json @@ -1,12 +1,12 @@ { "name": "kiota", - "version": "1.6.100000002", + "version": "1.7.100000001", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "kiota", - "version": "1.6.100000002", + "version": "1.7.100000001", "dependencies": { "@vscode/extension-telemetry": "^0.8.5", "@vscode/l10n": "^0.0.16", diff --git a/vscode/microsoft-kiota/package.json b/vscode/microsoft-kiota/package.json index 0788e093a6..338127a9ce 100644 --- a/vscode/microsoft-kiota/package.json +++ b/vscode/microsoft-kiota/package.json @@ -3,8 +3,8 @@ "displayName": "Microsoft Kiota", "publisher": "ms-graph", "description": "Client generator for HTTP REST APIs described by OpenAPI which helps eliminate the need to take a dependency on a different API client for every API that you need to call, as well as limiting the generation to the exact API surface area you're interested in, thanks to a filtering capability.", - "version": "1.6.100000002", - "kiotaVersion": "1.6.1", + "version": "1.7.100000001", + "kiotaVersion": "1.7.0", "telemetryInstrumentationKey": "4c6357e0-daf9-42b5-bdfb-67878f8957b5", "icon": "images/logo.png", "engines": { @@ -283,23 +283,23 @@ "runtimeDependencies": [ { "platformId": "win-x64", - "sha256": "3AF1B8BCAD83D2492E077C6B6A6604D255F252083DC2B05E308ED2D1629F72A3" + "sha256": "F56C6430DBBD480C33D0BC70FFCABFFA7E3384308B9EC12040D21A6E5B7E99A3" }, { "platformId": "win-x86", - "sha256": "A1B3BBDD297E0A375729C50C8BFFF6C97E42D2C8F88AFA716AE75B3C90C8BB85" + "sha256": "63AEC3490E0C4DAB4EFC8F06C5BF157A21FB9B613AD13F1F337A2E9D872D0FD5" }, { "platformId": "linux-x64", - "sha256": "094D1F4405B40E5F39C07F049C0C7B256CB63CD1162C5FEE7B4AC12B3E11C2D3" + "sha256": "E07A9D438E8CBC30C77F1FEB0943DEA1D28F53C3E31E941A3ED7B19F4013CF77" }, { "platformId": "osx-x64", - "sha256": "5BD73B7E9F079B7DA2116CB48C6546530351F2B0803BAFDA5B84DE01F77FBDA0" + "sha256": "EAF3BE094DA835BD45B5EA0F4C63E12733D973B5EFA31D25170B3866BEA6B6BD" }, { "platformId": "osx-arm64", - "sha256": "D8FD62BC2E47C5B664170C17126D1BF0DF1BE0A8A108FCEBCDCCA88E9AEDD125" + "sha256": "FC74F2A0E7338CD618F9B98838884BC3E6F8FDD79420D7799A51AD0D0780B87E" } ] } From 6c2703cbb21fc901d081f4fb6639891204091016 Mon Sep 17 00:00:00 2001 From: Vincent Biret Date: Thu, 12 Oct 2023 14:40:01 -0400 Subject: [PATCH 02/19] - adds generate and update settings to extension --- vscode/microsoft-kiota/package.json | 59 +++++++++++++++++++++++++ vscode/microsoft-kiota/package.nls.json | 10 ++++- 2 files changed, 68 insertions(+), 1 deletion(-) diff --git a/vscode/microsoft-kiota/package.json b/vscode/microsoft-kiota/package.json index 338127a9ce..5d30241c25 100644 --- a/vscode/microsoft-kiota/package.json +++ b/vscode/microsoft-kiota/package.json @@ -23,6 +23,65 @@ "main": "./dist/extension.js", "l10n": "./l10n", "contributes": { + "configuration": { + "title": "Kiota", + "properties": { + "kiota.generate.backingStore.enabled": { + "type":"boolean", + "default": false, + "description": "%kiota.generate.backingStore.description%" + }, + "kiota.generate.excludeBackwardCompatible.enabled": { + "type":"boolean", + "default": false, + "description": "%kiota.generate.excludeBackwardCompatible.description%" + }, + "kiota.cleanOutput.enabled": { + "type":"boolean", + "default": false, + "description": "%kiota.cleanOutput.description%" + }, + "kiota.generate.disableValidationRules": { + "type":"array", + "default": [], + "description": "%kiota.generate.disableValidationRules.description%" + }, + "kiota.clearCache.enabled": { + "type":"boolean", + "default": false, + "description": "%kiota.clearCache.description%" + }, + "kiota.generate.serializer.CSharp": { + "type":"array", + "default": [ + "Microsoft.Kiota.Serialization.Json.JsonSerializationWriterFactory", + "Microsoft.Kiota.Serialization.Text.TextSerializationWriterFactory", + "Microsoft.Kiota.Serialization.Form.FormSerializationWriterFactory", + "Microsoft.Kiota.Serialization.Multipart.MultipartSerializationWriterFactory" + ], + "description": "%kiota.generate.serializer.description%" + }, + "kiota.generate.deserializer.CSharp": { + "type":"array", + "default": [ + "Microsoft.Kiota.Serialization.Json.JsonParseNodeFactory", + "Microsoft.Kiota.Serialization.Text.TextParseNodeFactory", + "Microsoft.Kiota.Serialization.Form.FormParseNodeFactory" + ], + "description": "%kiota.generate.deserializer.description%" + }, + "kiota.generate.structuredMimeTypes": { + "type":"array", + "default": [ + "application/json;q=1", + "application/x-www-form-urlencoded;q=0.2", + "multipart/form-data;q=0.1", + "text/plain;q=0.9" + ], + "description": "%kiota.generate.structuredMimeTypes.description%" + } + } + }, "viewsWelcome": [ { "view": "kiota.openApiExplorer", diff --git a/vscode/microsoft-kiota/package.nls.json b/vscode/microsoft-kiota/package.nls.json index 75d3e0e4aa..3973995424 100644 --- a/vscode/microsoft-kiota/package.nls.json +++ b/vscode/microsoft-kiota/package.nls.json @@ -20,5 +20,13 @@ "kiota.openApiExplorer.filterDescription.title": "Filter API description", "kiota.openApiExplorer.openDocumentationPage.title": "Open documentation page", "kiota.openApiExplorer.openManifestPath.title": "Open API manifest", - "kiota.openApiExplorer.pasteManifest.title": "Paste API manifest" + "kiota.openApiExplorer.pasteManifest.title": "Paste API manifest", + "kiota.generate.backingStore.description": "Enables backing store for models", + "kiota.generate.excludeBackwardCompatible.description": "Excludes backward compatible and obsolete assets from the generated result. Should be used for new clients", + "kiota.cleanOutput.description": "Removes all files from the output directory before generating the code files", + "kiota.generate.disableValidationRules.description": "The OpenAPI description validation rules to disable: \nDivergentResponseSchema\nGetWithBody\nInconsistentTypeFormatPair\nKnownAndNotSupportedFormats\nMissingDiscriminator\nMultipleServerEntries\nNoContentWithBody\nNoServerEntry\nUrlFormEncodedComplex\nValidationRuleSetExtensions\nAll", + "kiota.clearCache.description": "Clears any cached data", + "kiota.generate.serializer.description": "The fully qualified class names for serializers", + "kiota.generate.deserializer.description": "The fully qualified class names for deserializers", + "kiota.generate.structuredMimeTypes.description": "The MIME types and preference to use for structured data model generation. As per RFC9110 Accept header notation." } From 4255b2b773d801d522e39abd8c10fbf7b00841e8 Mon Sep 17 00:00:00 2001 From: Vincent Biret Date: Thu, 12 Oct 2023 14:53:26 -0400 Subject: [PATCH 03/19] - adds deserializers and serializer settings for other languages --- vscode/microsoft-kiota/package.json | 103 ++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) diff --git a/vscode/microsoft-kiota/package.json b/vscode/microsoft-kiota/package.json index 5d30241c25..45ad331782 100644 --- a/vscode/microsoft-kiota/package.json +++ b/vscode/microsoft-kiota/package.json @@ -70,6 +70,109 @@ ], "description": "%kiota.generate.deserializer.description%" }, + "kiota.generate.serializer.Go": { + "type":"array", + "default": [ + "github.com/microsoft/kiota-serialization-form-go/FormSerializationWriterFactory", + "github.com/microsoft/kiota-serialization-json-go/JsonSerializationWriterFactory", + "github.com/microsoft/kiota-serialization-text-go/TextSerializationWriterFactory", + "github.com/microsoft/kiota-serialization-multipart-go/MultipartSerializationWriterFactory" + ], + "description": "%kiota.generate.serializer.description%" + }, + "kiota.generate.deserializer.Go": { + "type":"array", + "default": [ + "github.com/microsoft/kiota-serialization-form-go/FormParseNodeFactory", + "github.com/microsoft/kiota-serialization-json-go/JsonParseNodeFactory", + "github.com/microsoft/kiota-serialization-text-go/TextParseNodeFactory" + ], + "description": "%kiota.generate.deserializer.description%" + }, + "kiota.generate.serializer.Java": { + "type":"array", + "default": [ + "com.microsoft.kiota.serialization.FormSerializationWriterFactory", + "com.microsoft.kiota.serialization.JsonSerializationWriterFactory", + "com.microsoft.kiota.serialization.TextSerializationWriterFactory", + "com.microsoft.kiota.serialization.MultipartSerializationWriterFactory" + ], + "description": "%kiota.generate.serializer.description%" + }, + "kiota.generate.deserializer.Java": { + "type":"array", + "default": [ + "com.microsoft.kiota.serialization.TextParseNodeFactory", + "com.microsoft.kiota.serialization.JsonParseNodeFactory", + "com.microsoft.kiota.serialization.TextParseNodeFactory" + ], + "description": "%kiota.generate.deserializer.description%" + }, + "kiota.generate.serializer.PHP": { + "type":"array", + "default": [ + "Microsoft\\Kiota\\Serialization\\Json\\JsonSerializationWriterFactory", + "Microsoft\\Kiota\\Serialization\\Text\\TextSerializationWriterFactory" + ], + "description": "%kiota.generate.serializer.description%" + }, + "kiota.generate.deserializer.PHP": { + "type":"array", + "default": [ + "Microsoft\\Kiota\\Serialization\\Json\\JsonParseNodeFactory", + "Microsoft\\Kiota\\Serialization\\Text\\TextParseNodeFactory" + ], + "description": "%kiota.generate.deserializer.description%" + }, + "kiota.generate.serializer.Python": { + "type":"array", + "default": [ + "kiota_serialization_json.json_serialization_writer_factory.JsonSerializationWriterFactory", + "kiota_serialization_text.text_serialization_writer_factory.TextSerializationWriterFactory" + ], + "description": "%kiota.generate.serializer.description%" + }, + "kiota.generate.deserializer.Python": { + "type":"array", + "default": [ + "kiota_serialization_json.json_parse_node_factory.JsonParseNodeFactory", + "kiota_serialization_text.text_parse_node_factory.TextParseNodeFactory" + ], + "description": "%kiota.generate.deserializer.description%" + }, + "kiota.generate.serializer.Ruby": { + "type":"array", + "default": [ + "microsoft_kiota_serialization/json_serialization_writer_factory" + ], + "description": "%kiota.generate.serializer.description%" + }, + "kiota.generate.deserializer.Ruby": { + "type":"array", + "default": [ + "microsoft_kiota_serialization/json_parse_node_factory" + ], + "description": "%kiota.generate.deserializer.description%" + }, + "kiota.generate.serializer.TypeScript": { + "type":"array", + "default": [ + "@microsoft/kiota-serialization-form.FormSerializationWriterFactory", + "@microsoft/kiota-serialization-json.JsonSerializationWriterFactory", + "@microsoft/kiota-serialization-text.TextSerializationWriterFactory", + "@microsoft/kiota-serialization-multipart.MultipartSerializationWriterFactory" + ], + "description": "%kiota.generate.serializer.description%" + }, + "kiota.generate.deserializer.TypeScript": { + "type":"array", + "default": [ + "@microsoft/kiota-serialization-form.FormParseNodeFactory", + "@microsoft/kiota-serialization-json.JsonParseNodeFactory", + "@microsoft/kiota-serialization-text.TextParseNodeFactory" + ], + "description": "%kiota.generate.deserializer.description%" + }, "kiota.generate.structuredMimeTypes": { "type":"array", "default": [ From 3419344945dc7832ef508d0d25ff5ddbf852b7e9 Mon Sep 17 00:00:00 2001 From: Vincent Biret Date: Fri, 13 Oct 2023 14:06:21 -0400 Subject: [PATCH 04/19] - adds missing additional data setting Signed-off-by: Vincent Biret --- vscode/microsoft-kiota/package.json | 9 +++++++-- vscode/microsoft-kiota/package.nls.json | 5 +++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/vscode/microsoft-kiota/package.json b/vscode/microsoft-kiota/package.json index 45ad331782..badad3de6f 100644 --- a/vscode/microsoft-kiota/package.json +++ b/vscode/microsoft-kiota/package.json @@ -26,6 +26,11 @@ "configuration": { "title": "Kiota", "properties": { + "kiota.generate.includeAdditionalData.enabled": { + "type":"boolean", + "default": true, + "description": "%kiota.generate.includeAdditionalData.description%" + }, "kiota.generate.backingStore.enabled": { "type":"boolean", "default": false, @@ -41,10 +46,10 @@ "default": false, "description": "%kiota.cleanOutput.description%" }, - "kiota.generate.disableValidationRules": { + "kiota.generate.disabledValidationRules": { "type":"array", "default": [], - "description": "%kiota.generate.disableValidationRules.description%" + "description": "%kiota.generate.disabledValidationRules.description%" }, "kiota.clearCache.enabled": { "type":"boolean", diff --git a/vscode/microsoft-kiota/package.nls.json b/vscode/microsoft-kiota/package.nls.json index 3973995424..b8879840bd 100644 --- a/vscode/microsoft-kiota/package.nls.json +++ b/vscode/microsoft-kiota/package.nls.json @@ -24,9 +24,10 @@ "kiota.generate.backingStore.description": "Enables backing store for models", "kiota.generate.excludeBackwardCompatible.description": "Excludes backward compatible and obsolete assets from the generated result. Should be used for new clients", "kiota.cleanOutput.description": "Removes all files from the output directory before generating the code files", - "kiota.generate.disableValidationRules.description": "The OpenAPI description validation rules to disable: \nDivergentResponseSchema\nGetWithBody\nInconsistentTypeFormatPair\nKnownAndNotSupportedFormats\nMissingDiscriminator\nMultipleServerEntries\nNoContentWithBody\nNoServerEntry\nUrlFormEncodedComplex\nValidationRuleSetExtensions\nAll", + "kiota.generate.disabledValidationRules.description": "The OpenAPI description validation rules to disable: \nDivergentResponseSchema\nGetWithBody\nInconsistentTypeFormatPair\nKnownAndNotSupportedFormats\nMissingDiscriminator\nMultipleServerEntries\nNoContentWithBody\nNoServerEntry\nUrlFormEncodedComplex\nValidationRuleSetExtensions\nAll", "kiota.clearCache.description": "Clears any cached data", "kiota.generate.serializer.description": "The fully qualified class names for serializers", "kiota.generate.deserializer.description": "The fully qualified class names for deserializers", - "kiota.generate.structuredMimeTypes.description": "The MIME types and preference to use for structured data model generation. As per RFC9110 Accept header notation." + "kiota.generate.structuredMimeTypes.description": "The MIME types and preference to use for structured data model generation. As per RFC9110 Accept header notation.", + "kiota.generate.includeAdditionalData.description": "Will include the 'AdditionalData' property for models" } From 1b996c16cd71f8bef13e05b359c2af3fc4d3be5a Mon Sep 17 00:00:00 2001 From: Vincent Biret Date: Fri, 13 Oct 2023 14:45:50 -0400 Subject: [PATCH 05/19] - implements vscode settings read - implements vscode to kiota rpc settings Signed-off-by: Vincent Biret --- src/kiota/Rpc/IServer.cs | 4 +- src/kiota/Rpc/Server.cs | 29 +++++++--- vscode/microsoft-kiota/src/extension.ts | 16 +++++- .../microsoft-kiota/src/extensionSettings.ts | 53 +++++++++++++++++++ vscode/microsoft-kiota/src/generateClient.ts | 47 ++++++++++++---- vscode/microsoft-kiota/src/kiotaInterop.ts | 33 +++++++++--- vscode/microsoft-kiota/src/updateClients.ts | 8 +-- 7 files changed, 159 insertions(+), 31 deletions(-) create mode 100644 vscode/microsoft-kiota/src/extensionSettings.ts diff --git a/src/kiota/Rpc/IServer.cs b/src/kiota/Rpc/IServer.cs index b1e782a2f4..e8ae3b60f3 100644 --- a/src/kiota/Rpc/IServer.cs +++ b/src/kiota/Rpc/IServer.cs @@ -9,10 +9,10 @@ internal interface IServer { LanguagesInformation Info(); string GetVersion(); - Task> UpdateAsync(string output, CancellationToken cancellationToken); + Task> UpdateAsync(string output, bool cleanOutput, bool clearCache, CancellationToken cancellationToken); Task SearchAsync(string searchTerm, CancellationToken cancellationToken); Task ShowAsync(string descriptionPath, string[] includeFilters, string[] excludeFilters, CancellationToken cancellationToken); Task GetManifestDetailsAsync(string manifestPath, string apiIdentifier, CancellationToken cancellationToken); - Task> GenerateAsync(string descriptionPath, string output, GenerationLanguage language, string[] includeFilters, string[] excludeFilters, string clientClassName, string clientNamespaceName, CancellationToken cancellationToken); + Task> GenerateAsync(string openAPIFilePath, string outputPath, GenerationLanguage language, string[] includePatterns, string[] excludePatterns, string clientClassName, string clientNamespaceName, bool usesBackingStore, bool cleanOutput, bool clearCache, bool excludeBackwardCompatible, string[] disabledValidationRules, string[] serializers, string[] deserializers, string[] structuredMimeTypes, bool includeAdditionalData, CancellationToken cancellationToken); Task InfoForDescriptionAsync(string descriptionPath, CancellationToken cancellationToken); } diff --git a/src/kiota/Rpc/Server.cs b/src/kiota/Rpc/Server.cs index 7ed84daf7d..dc6b51c93b 100644 --- a/src/kiota/Rpc/Server.cs +++ b/src/kiota/Rpc/Server.cs @@ -41,7 +41,7 @@ public string GetVersion() return KiotaVersion.Current(); } - public async Task> UpdateAsync(string output, CancellationToken cancellationToken) + public async Task> UpdateAsync(string output, bool cleanOutput, bool clearCache, CancellationToken cancellationToken) { var logger = new ForwardedLogger(); var searchPath = GetAbsolutePath(output); @@ -63,9 +63,11 @@ public async Task> UpdateAsync(string output, CancellationToken c TaskScheduler.Default))); var configurations = locks.Select(x => { - var config = Configuration.Generation; + var config = (GenerationConfiguration)Configuration.Generation.Clone(); x.lockInfo?.UpdateGenerationConfigurationFromLock(config); config.OutputPath = x.lockDirectoryPath; + config.ClearCache = clearCache; + config.CleanOutput = cleanOutput; return config; }).ToArray(); _ = await Task.WhenAll(configurations @@ -136,15 +138,28 @@ private static string NormalizeOperationNodePath(OpenApiUrlTreeNode node, Operat return indexingNormalizationRegex.Replace(name, "{}"); return name; } - public async Task> GenerateAsync(string descriptionPath, string output, GenerationLanguage language, string[] includeFilters, string[] excludeFilters, string clientClassName, string clientNamespaceName, CancellationToken cancellationToken) + public async Task> GenerateAsync(string openAPIFilePath, string outputPath, GenerationLanguage language, string[] includePatterns, string[] excludePatterns, string clientClassName, string clientNamespaceName, bool usesBackingStore, bool cleanOutput, bool clearCache, bool excludeBackwardCompatible, string[] disabledValidationRules, string[] serializers, string[] deserializers, string[] structuredMimeTypes, bool includeAdditionalData, CancellationToken cancellationToken) { var logger = new ForwardedLogger(); var configuration = Configuration.Generation; - configuration.IncludePatterns = includeFilters.ToHashSet(); - configuration.ExcludePatterns = excludeFilters.ToHashSet(); - configuration.OpenAPIFilePath = GetAbsolutePath(descriptionPath); - configuration.OutputPath = GetAbsolutePath(output); + configuration.IncludePatterns = includePatterns.ToHashSet(StringComparer.OrdinalIgnoreCase); + configuration.ExcludePatterns = excludePatterns.ToHashSet(StringComparer.OrdinalIgnoreCase); + configuration.OpenAPIFilePath = GetAbsolutePath(openAPIFilePath); + configuration.OutputPath = GetAbsolutePath(outputPath); configuration.Language = language; + configuration.UsesBackingStore = usesBackingStore; + configuration.CleanOutput = cleanOutput; + configuration.ClearCache = clearCache; + configuration.ExcludeBackwardCompatible = excludeBackwardCompatible; + configuration.IncludeAdditionalData = includeAdditionalData; + if (disabledValidationRules is not null && disabledValidationRules.Any()) + configuration.DisabledValidationRules = disabledValidationRules.ToHashSet(StringComparer.OrdinalIgnoreCase); + if (serializers is not null && serializers.Any()) + configuration.Serializers = serializers.ToHashSet(StringComparer.OrdinalIgnoreCase); + if (deserializers is not null && deserializers.Any()) + configuration.Deserializers = deserializers.ToHashSet(StringComparer.OrdinalIgnoreCase); + if (structuredMimeTypes is not null && structuredMimeTypes.Any()) + configuration.StructuredMimeTypes = structuredMimeTypes.ToHashSet(StringComparer.OrdinalIgnoreCase); if (!string.IsNullOrEmpty(clientClassName)) configuration.ClientClassName = clientClassName; if (!string.IsNullOrEmpty(clientNamespaceName)) diff --git a/vscode/microsoft-kiota/src/extension.ts b/vscode/microsoft-kiota/src/extension.ts index e5f4ca767c..3ad97bc6bd 100644 --- a/vscode/microsoft-kiota/src/extension.ts +++ b/vscode/microsoft-kiota/src/extension.ts @@ -21,6 +21,7 @@ import { getLanguageInformation, getLanguageInformationForDescription } from "./ import { DependenciesViewProvider } from "./dependenciesViewProvider"; import { updateClients } from "./updateClients"; import { ApiManifest } from "./apiManifest"; +import { getExtensionSettings } from "./extensionSettings"; let kiotaStatusBarItem: vscode.StatusBarItem; let kiotaOutputChannel: vscode.LogOutputChannel; @@ -180,6 +181,7 @@ export async function activate( typeof config.language === "string" ? parseGenerationLanguage(config.language) : KiotaGenerationLanguage.CSharp; + const settings = getExtensionSettings(extensionId); const result = await vscode.window.withProgress({ location: vscode.ProgressLocation.Notification, cancellable: false, @@ -198,7 +200,16 @@ export async function activate( : "ApiClient", typeof config.clientNamespaceName === "string" ? config.clientNamespaceName - : "ApiSdk" + : "ApiSdk", + settings.backingStore, + settings.clearCache, + settings.cleanOutput, + settings.excludeBackwardCompatible, + settings.disableValidationRules, + settings.languagesSerializationConfiguration[language].serializers, + settings.languagesSerializationConfiguration[language].deserializers, + settings.structuredMimeTypes, + settings.includeAdditionalData ); const duration = performance.now() - start; const errorsCount = result ? getLogEntriesForLevel(result, LogLevel.critical, LogLevel.error).length : 0; @@ -317,7 +328,8 @@ export async function activate( cancellable: false, title: vscode.l10n.t("Updating clients...") }, (progress, _) => { - return updateClients(context); + const settings = getExtensionSettings(extensionId); + return updateClients(context, settings.cleanOutput, settings.clearCache); }); if (res) { await exportLogsAndShowErrors(res); diff --git a/vscode/microsoft-kiota/src/extensionSettings.ts b/vscode/microsoft-kiota/src/extensionSettings.ts new file mode 100644 index 0000000000..207706e6c0 --- /dev/null +++ b/vscode/microsoft-kiota/src/extensionSettings.ts @@ -0,0 +1,53 @@ +import * as vscode from "vscode"; +import { KiotaGenerationLanguage } from "./kiotaInterop"; + +export function getExtensionSettings(extensionId: string) : ExtensionSettings { + return { + includeAdditionalData: getBooleanConfiguration(extensionId, "generate.includeAdditionalData.enabled"), + backingStore: getBooleanConfiguration(extensionId, "generate.backingStore.enabled"), + excludeBackwardCompatible: getBooleanConfiguration(extensionId, "generate.excludeBackwardCompatible.enabled"), + cleanOutput: getBooleanConfiguration(extensionId, "cleanOutput.enabled"), + clearCache: getBooleanConfiguration(extensionId, "clearCache.enabled"), + disableValidationRules: getStringArrayConfiguration(extensionId, "generate.disableValidationRules"), + structuredMimeTypes: getStringArrayConfiguration(extensionId, "generate.structuredMimeTypes"), + languagesSerializationConfiguration: { + [KiotaGenerationLanguage.CLI]: getLanguageSerializationConfiguration(extensionId, "CSharp"), + [KiotaGenerationLanguage.CSharp]: getLanguageSerializationConfiguration(extensionId, "CSharp"), + [KiotaGenerationLanguage.Go]: getLanguageSerializationConfiguration(extensionId, "Go"), + [KiotaGenerationLanguage.Java]: getLanguageSerializationConfiguration(extensionId, "Java"), + [KiotaGenerationLanguage.PHP]: getLanguageSerializationConfiguration(extensionId, "PHP"), + [KiotaGenerationLanguage.Python]: getLanguageSerializationConfiguration(extensionId, "Python"), + [KiotaGenerationLanguage.Ruby]: getLanguageSerializationConfiguration(extensionId, "Ruby"), + [KiotaGenerationLanguage.Swift]: getLanguageSerializationConfiguration(extensionId, "Swift"), + [KiotaGenerationLanguage.TypeScript]: getLanguageSerializationConfiguration(extensionId, "TypeScript"), + }, + }; +} +function getBooleanConfiguration(extensionId: string, configurationName: string): boolean { + return vscode.workspace.getConfiguration(extensionId).get(configurationName) ?? false; +} +function getStringArrayConfiguration(extensionId: string, configurationName: string): string[] { + return vscode.workspace.getConfiguration(extensionId).get(configurationName) ?? []; +} +function getLanguageSerializationConfiguration(extensionId: string, languageName: string): LanguageSerializationConfiguration { + return { + serializers: getStringArrayConfiguration(extensionId, `generate.serializer.${languageName}`), + deserializers: getStringArrayConfiguration(extensionId, `generate.serializer.${languageName}`), + }; +} + +export interface ExtensionSettings { + backingStore: boolean; + excludeBackwardCompatible: boolean; + cleanOutput: boolean; + clearCache: boolean; + disableValidationRules: string[]; + structuredMimeTypes: string[]; + includeAdditionalData: boolean; + languagesSerializationConfiguration: Record; +} + +interface LanguageSerializationConfiguration { + serializers: string[]; + deserializers: string[]; +} \ No newline at end of file diff --git a/vscode/microsoft-kiota/src/generateClient.ts b/vscode/microsoft-kiota/src/generateClient.ts index f37d59d8c7..9bbbf56762 100644 --- a/vscode/microsoft-kiota/src/generateClient.ts +++ b/vscode/microsoft-kiota/src/generateClient.ts @@ -1,21 +1,48 @@ -import { connectToKiota, KiotaGenerationLanguage, KiotaLogEntry } from "./kiotaInterop"; +import { connectToKiota, GenerationConfiguration, KiotaGenerationLanguage, KiotaLogEntry } from "./kiotaInterop"; import * as rpc from "vscode-jsonrpc/node"; import * as vscode from "vscode"; -export function generateClient(context: vscode.ExtensionContext, descriptionPath: string, output: string, language: KiotaGenerationLanguage, includeFilters: string[], excludeFilters: string[], clientClassName: string, clientNamespaceName: string): Promise { +export function generateClient(context: vscode.ExtensionContext, + descriptionPath: string, + output: string, + language: KiotaGenerationLanguage, + includeFilters: string[], + excludeFilters: string[], + clientClassName: string, + clientNamespaceName: string, + usesBackingStore: boolean, + clearCache: boolean, + cleanOutput: boolean, + excludeBackwardCompatible: boolean, + disableValidationRules: string[], + serializers: string[], + deserializers: string[], + structuredMimeTypes: string[], + includeAdditionalData: boolean): Promise { return connectToKiota(context, async (connection) => { - const request = new rpc.RequestType7( + const request = new rpc.RequestType1( "Generate" ); return await connection.sendRequest( request, - descriptionPath, - output, - language, - includeFilters, - excludeFilters, - clientClassName, - clientNamespaceName + { + cleanOutput: cleanOutput, + clearCache: clearCache, + clientClassName: clientClassName, + clientNamespaceName: clientNamespaceName, + deserializers: deserializers, + disabledValidationRules: disableValidationRules, + excludeBackwardCompatible: excludeBackwardCompatible, + excludePatterns: excludeFilters, + includeAdditionalData: includeAdditionalData, + includePatterns: includeFilters, + language: language, + openAPIFilePath: descriptionPath, + outputPath: output, + serializers: serializers, + structuredMimeTypes: structuredMimeTypes, + usesBackingStore: usesBackingStore, + } as GenerationConfiguration, ); }); }; \ No newline at end of file diff --git a/vscode/microsoft-kiota/src/kiotaInterop.ts b/vscode/microsoft-kiota/src/kiotaInterop.ts index ca843b170c..1852448025 100644 --- a/vscode/microsoft-kiota/src/kiotaInterop.ts +++ b/vscode/microsoft-kiota/src/kiotaInterop.ts @@ -214,21 +214,40 @@ export function maturityLevelToString(level: MaturityLevel): string { throw new Error("unknown level"); } } - export interface LockFile { + clientClassName: string; + clientNamespaceName: string; descriptionHash: string; descriptionLocation: string; + deserializers: string[]; + disabledValidationRules: string[]; + excludeBackwardCompatible: boolean; + excludePatterns: string[]; + includeAdditionalData: boolean; + includePatterns: string[]; + kiotaVersion: string; language: string; lockFileVersion: string; - kiotaVersion: string; + serializers: string[]; + structuredMimeTypes: string[]; + usesBackingStore: boolean; +} + +export interface GenerationConfiguration { + cleanOutput: boolean; + clearCache: boolean; clientClassName: string; clientNamespaceName: string; - usesBackingStore: boolean; + deserializers: string[]; + disabledValidationRules: string[]; + excludeBackwardCompatible: boolean; + excludePatterns: string[]; includeAdditionalData: boolean; + includePatterns: string[]; + language: KiotaGenerationLanguage; + openAPIFilePath: string; + outputPath: string; serializers: string[]; - deserializers: string[]; structuredMimeTypes: string[]; - includePatterns: string[]; - excludePatterns: string[]; - disabledValidationRules: string[]; + usesBackingStore: boolean; } \ No newline at end of file diff --git a/vscode/microsoft-kiota/src/updateClients.ts b/vscode/microsoft-kiota/src/updateClients.ts index 31fd6044f1..2ef1c7a4f2 100644 --- a/vscode/microsoft-kiota/src/updateClients.ts +++ b/vscode/microsoft-kiota/src/updateClients.ts @@ -2,14 +2,16 @@ import { connectToKiota, KiotaLogEntry } from "./kiotaInterop"; import * as rpc from "vscode-jsonrpc/node"; import * as vscode from "vscode"; -export function updateClients(context: vscode.ExtensionContext): Promise { +export function updateClients(context: vscode.ExtensionContext, cleanOutput: boolean, clearCache: boolean): Promise { return connectToKiota(context, async (connection) => { - const request = new rpc.RequestType( + const request = new rpc.RequestType3( "Update" ); const result = await connection.sendRequest( request, - vscode.workspace.workspaceFolders![0].uri.fsPath + vscode.workspace.workspaceFolders![0].uri.fsPath, + cleanOutput, + clearCache, ); return result; }); From bca54bd1627d50e401a6e4c493d3111ae3d50128 Mon Sep 17 00:00:00 2001 From: Vincent Biret Date: Fri, 13 Oct 2023 15:22:07 -0400 Subject: [PATCH 06/19] - adds clear cache information to other commands Signed-off-by: Vincent Biret --- src/kiota/Rpc/IServer.cs | 8 ++++---- src/kiota/Rpc/Server.cs | 16 ++++++++++------ vscode/microsoft-kiota/src/extension.ts | 9 +++++---- .../src/getLanguageInformation.ts | 7 ++++--- vscode/microsoft-kiota/src/kiotaInterop.ts | 7 +++++-- .../src/openApiTreeProvider.ts | 19 +++++++++++++------ .../microsoft-kiota/src/searchDescription.ts | 7 ++++--- 7 files changed, 45 insertions(+), 28 deletions(-) diff --git a/src/kiota/Rpc/IServer.cs b/src/kiota/Rpc/IServer.cs index e8ae3b60f3..5f5ca21920 100644 --- a/src/kiota/Rpc/IServer.cs +++ b/src/kiota/Rpc/IServer.cs @@ -10,9 +10,9 @@ internal interface IServer LanguagesInformation Info(); string GetVersion(); Task> UpdateAsync(string output, bool cleanOutput, bool clearCache, CancellationToken cancellationToken); - Task SearchAsync(string searchTerm, CancellationToken cancellationToken); - Task ShowAsync(string descriptionPath, string[] includeFilters, string[] excludeFilters, CancellationToken cancellationToken); - Task GetManifestDetailsAsync(string manifestPath, string apiIdentifier, CancellationToken cancellationToken); + Task SearchAsync(string searchTerm, bool clearCache, CancellationToken cancellationToken); + Task ShowAsync(string descriptionPath, string[] includeFilters, string[] excludeFilters, bool clearCache, CancellationToken cancellationToken); + Task GetManifestDetailsAsync(string manifestPath, string apiIdentifier, bool clearCache, CancellationToken cancellationToken); Task> GenerateAsync(string openAPIFilePath, string outputPath, GenerationLanguage language, string[] includePatterns, string[] excludePatterns, string clientClassName, string clientNamespaceName, bool usesBackingStore, bool cleanOutput, bool clearCache, bool excludeBackwardCompatible, string[] disabledValidationRules, string[] serializers, string[] deserializers, string[] structuredMimeTypes, bool includeAdditionalData, CancellationToken cancellationToken); - Task InfoForDescriptionAsync(string descriptionPath, CancellationToken cancellationToken); + Task InfoForDescriptionAsync(string descriptionPath, bool clearCache, CancellationToken cancellationToken); } diff --git a/src/kiota/Rpc/Server.cs b/src/kiota/Rpc/Server.cs index dc6b51c93b..a2fea07770 100644 --- a/src/kiota/Rpc/Server.cs +++ b/src/kiota/Rpc/Server.cs @@ -88,18 +88,20 @@ private static async Task GenerateClientAsync(GenerationConfiguration conf var logger = new AggregateLogger(globalLogger, fileLogger); return await new KiotaBuilder(logger, config, httpClient).GenerateClientAsync(cancellationToken); } - public async Task SearchAsync(string searchTerm, CancellationToken cancellationToken) + public async Task SearchAsync(string searchTerm, bool clearCache, CancellationToken cancellationToken) { var logger = new ForwardedLogger(); var configuration = Configuration.Search; + configuration.ClearCache = clearCache; var searchService = new KiotaSearcher(logger, configuration, httpClient, null, (_) => Task.FromResult(false)); var results = await searchService.SearchAsync(searchTerm, string.Empty, cancellationToken); return new(logger.LogEntries, results); } - public async Task GetManifestDetailsAsync(string manifestPath, string apiIdentifier, CancellationToken cancellationToken) + public async Task GetManifestDetailsAsync(string manifestPath, string apiIdentifier, bool clearCache, CancellationToken cancellationToken) { var logger = new ForwardedLogger(); var configuration = Configuration.Generation; + configuration.ClearCache = clearCache; configuration.ApiManifestPath = $"{manifestPath}#{apiIdentifier}"; var builder = new KiotaBuilder(logger, configuration, httpClient); var manifestResult = await builder.GetApiManifestDetailsAsync(cancellationToken: cancellationToken); @@ -107,10 +109,11 @@ public async Task GetManifestDetailsAsync(string manifestPath, s manifestResult?.Item1, manifestResult?.Item2.ToArray()); } - public async Task ShowAsync(string descriptionPath, string[] includeFilters, string[] excludeFilters, CancellationToken cancellationToken) + public async Task ShowAsync(string descriptionPath, string[] includeFilters, string[] excludeFilters, bool clearCache, CancellationToken cancellationToken) { var logger = new ForwardedLogger(); var configuration = Configuration.Generation; + configuration.ClearCache = clearCache; configuration.OpenAPIFilePath = GetAbsolutePath(descriptionPath); var builder = new KiotaBuilder(logger, configuration, httpClient); var fullUrlTreeNode = await builder.GetUrlTreeNodeAsync(cancellationToken); @@ -182,15 +185,16 @@ public LanguagesInformation Info() { return Configuration.Languages; } - public Task InfoForDescriptionAsync(string descriptionPath, CancellationToken cancellationToken) + public Task InfoForDescriptionAsync(string descriptionPath, bool clearCache, CancellationToken cancellationToken) { ArgumentException.ThrowIfNullOrEmpty(descriptionPath); - return InfoInternalAsync(descriptionPath, cancellationToken); + return InfoInternalAsync(descriptionPath, clearCache, cancellationToken); } - private async Task InfoInternalAsync(string descriptionPath, CancellationToken cancellationToken) + private async Task InfoInternalAsync(string descriptionPath, bool clearCache, CancellationToken cancellationToken) { var logger = new ForwardedLogger(); var configuration = Configuration.Generation; + configuration.ClearCache = clearCache; configuration.OpenAPIFilePath = GetAbsolutePath(descriptionPath); var builder = new KiotaBuilder(logger, configuration, httpClient); var result = await builder.GetLanguagesInformationAsync(cancellationToken); diff --git a/vscode/microsoft-kiota/src/extension.ts b/vscode/microsoft-kiota/src/extension.ts index 3ad97bc6bd..f9f8bc9fd3 100644 --- a/vscode/microsoft-kiota/src/extension.ts +++ b/vscode/microsoft-kiota/src/extension.ts @@ -41,7 +41,7 @@ export async function activate( kiotaOutputChannel = vscode.window.createOutputChannel("Kiota", { log: true, }); - const openApiTreeProvider = new OpenApiTreeProvider(context); + const openApiTreeProvider = new OpenApiTreeProvider(context, () => getExtensionSettings(extensionId)); const dependenciesInfoProvider = new DependenciesViewProvider( context.extensionUri ); @@ -224,7 +224,8 @@ export async function activate( languagesInformation = await getLanguageInformationForDescription( context, - openApiTreeProvider.descriptionUrl + openApiTreeProvider.descriptionUrl, + settings.clearCache ); if (languagesInformation) { dependenciesInfoProvider.update(languagesInformation, language); @@ -249,7 +250,8 @@ export async function activate( cancellable: false, title: vscode.l10n.t("Searching...") }, (progress, _) => { - return searchDescription(context, x); + const settings = getExtensionSettings(extensionId); + return searchDescription(context, x, settings.clearCache); })); if (config.descriptionPath) { await openTreeViewWithProgress(() => openApiTreeProvider.setDescriptionUrl(config.descriptionPath!)); @@ -374,7 +376,6 @@ async function openManifestFromClipboard(openApiTreeProvider: OpenApiTreeProvide ); return; } - const logs = await openApiTreeProvider.loadManifestFromContent(clipBoardContent, apiIdentifier); await exportLogsAndShowErrors(logs); }); diff --git a/vscode/microsoft-kiota/src/getLanguageInformation.ts b/vscode/microsoft-kiota/src/getLanguageInformation.ts index eb8d64d2aa..917ba3793a 100644 --- a/vscode/microsoft-kiota/src/getLanguageInformation.ts +++ b/vscode/microsoft-kiota/src/getLanguageInformation.ts @@ -26,14 +26,15 @@ function getLanguageInformationInternal(context: vscode.ExtensionContext): Promi }); }; -export function getLanguageInformationForDescription(context: vscode.ExtensionContext, descriptionUrl: string): Promise { +export function getLanguageInformationForDescription(context: vscode.ExtensionContext, descriptionUrl: string, clearCache: boolean): Promise { return connectToKiota(context, async (connection) => { - const request = new rpc.RequestType1( + const request = new rpc.RequestType2( "InfoForDescription" ); return await connection.sendRequest( request, - descriptionUrl + descriptionUrl, + clearCache ); }); }; \ No newline at end of file diff --git a/vscode/microsoft-kiota/src/kiotaInterop.ts b/vscode/microsoft-kiota/src/kiotaInterop.ts index 1852448025..a7965067a5 100644 --- a/vscode/microsoft-kiota/src/kiotaInterop.ts +++ b/vscode/microsoft-kiota/src/kiotaInterop.ts @@ -37,13 +37,16 @@ export interface KiotaOpenApiNode { isOperation?: boolean; documentationUrl?: string; } +interface CacheClearableConfiguration { + clearCache: boolean; +} -export interface KiotaShowConfiguration { +export interface KiotaShowConfiguration extends CacheClearableConfiguration { includeFilters: string[]; excludeFilters: string[]; descriptionPath: string; } -export interface KiotaGetManifestDetailsConfiguration { +export interface KiotaGetManifestDetailsConfiguration extends CacheClearableConfiguration { manifestPath: string; apiIdentifier: string; } diff --git a/vscode/microsoft-kiota/src/openApiTreeProvider.ts b/vscode/microsoft-kiota/src/openApiTreeProvider.ts index 285474e237..3924c13de8 100644 --- a/vscode/microsoft-kiota/src/openApiTreeProvider.ts +++ b/vscode/microsoft-kiota/src/openApiTreeProvider.ts @@ -4,6 +4,7 @@ import * as path from 'path'; import * as vscode from 'vscode'; import * as rpc from 'vscode-jsonrpc/node'; import { connectToKiota, KiotaGetManifestDetailsConfiguration, KiotaLogEntry, KiotaManifestResult, KiotaOpenApiNode, KiotaShowConfiguration, KiotaShowResult, LockFile } from './kiotaInterop'; +import { ExtensionSettings } from './extensionSettings'; export class OpenApiTreeProvider implements vscode.TreeDataProvider { private _onDidChangeTreeData: vscode.EventEmitter = new vscode.EventEmitter(); @@ -11,6 +12,7 @@ export class OpenApiTreeProvider implements vscode.TreeDataProvider ExtensionSettings, private _descriptionUrl?: string, public includeFilters: string[] = [], public excludeFilters: string[] = []) { @@ -30,7 +32,8 @@ export class OpenApiTreeProvider implements vscode.TreeDataProvider { this.closeDescription(false); this._descriptionUrl = descriptionUrl; - await this.loadNodes(); + const settings = this.settingsGetter(); + await this.loadNodes(settings.clearCache); this.refreshView(); } public get descriptionUrl(): string { @@ -173,22 +177,24 @@ export class OpenApiTreeProvider implements vscode.TreeDataProvider { + const settings = this.settingsGetter(); const result = await connectToKiota(this.context, async (connection) => { const request = new rpc.RequestType('GetManifestDetails'); return await connection.sendRequest(request, { manifestPath, - apiIdentifier: apiIdentifier ?? '' + apiIdentifier: apiIdentifier ?? '', + clearCache: settings.clearCache }); }); if (result) { this._descriptionUrl = result.apiDescriptionPath; this.includeFilters = result.selectedPaths ?? []; - await this.loadNodes(); + await this.loadNodes(settings.clearCache); return result.logs; } return []; } - private async loadNodes(): Promise { + private async loadNodes(clearCache: boolean): Promise { if (!this.descriptionUrl || this.descriptionUrl.length === 0) { return; } @@ -197,7 +203,8 @@ export class OpenApiTreeProvider implements vscode.TreeDataProvider | undefined> { +export function searchDescription(context: vscode.ExtensionContext, searchTerm: string, clearCache: boolean): Promise | undefined> { return connectToKiota>(context, async (connection) => { - const request = new rpc.RequestType( + const request = new rpc.RequestType2( "Search" ); const result = await connection.sendRequest( request, - searchTerm + searchTerm, + clearCache, ); if(result) { return result.results; From c99f61961faeade805c9b85979fc3161db6d1eb6 Mon Sep 17 00:00:00 2001 From: Vincent Biret Date: Fri, 13 Oct 2023 15:23:55 -0400 Subject: [PATCH 07/19] - adds changelog entry for vscode settings Signed-off-by: Vincent Biret --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c682fe49d..502c2cd736 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - Added support for enum query parameter types. [#2490](https://github.com/microsoft/kiota/issues/2490) +- Added settings in the vscode extension for: backingStore, additionalData, excludeBackwardCompatible, cleanOutput, clearCache, serializers, deserializers, disabledValidationRules, structuredMimeTypes. [#3355](https://github.com/microsoft/kiota/issues/3355) - Support for primary error message in PHP [#3276](https://github.com/microsoft/kiota/issues/3276) ### Changed From 315f8e7e61bbcf1f362ec3939355776b03cbba2b Mon Sep 17 00:00:00 2001 From: Vincent Biret Date: Fri, 13 Oct 2023 15:35:36 -0400 Subject: [PATCH 08/19] - adds french translations --- vscode/microsoft-kiota/package.nls.fr.json | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/vscode/microsoft-kiota/package.nls.fr.json b/vscode/microsoft-kiota/package.nls.fr.json index 0d8b5b7766..1bf8b76657 100644 --- a/vscode/microsoft-kiota/package.nls.fr.json +++ b/vscode/microsoft-kiota/package.nls.fr.json @@ -20,5 +20,14 @@ "kiota.openApiExplorer.filterDescription.title": "Filtrer la description", "kiota.openApiExplorer.openDocumentationPage.title": "Ouvrir la page de documentation", "kiota.openApiExplorer.openManifestPath.title": "Ouvrir un manifeste d'API", - "kiota.openApiExplorer.pasteManifest.title": "Coller un manifeste d'API" + "kiota.openApiExplorer.pasteManifest.title": "Coller un manifeste d'API", + "kiota.generate.backingStore.description": "Active le stockage d'informations déporté pour les modèles.", + "kiota.generate.excludeBackwardCompatible.description": "Exclue les éléments de compatibilité et obsolètes du résultat. Devrait être activé pour tout nouveau client.", + "kiota.cleanOutput.description": "Supprime tous les fichiers du répertoire de destination avant de générer les nouveaux fichiers.", + "kiota.generate.disabledValidationRules.description": "Les règles de validation OpenAPI à désactiver : \nDivergentResponseSchema\nGetWithBody\nInconsistentTypeFormatPair\nKnownAndNotSupportedFormats\nMissingDiscriminator\nMultipleServerEntries\nNoContentWithBody\nNoServerEntry\nUrlFormEncodedComplex\nValidationRuleSetExtensions\nAll", + "kiota.clearCache.description": "Supprime toute donnée en cache.", + "kiota.generate.serializer.description": "Le nom complet des classes de sérialisation.", + "kiota.generate.deserializer.description": "Le nom complet des classes de désérialisation.", + "kiota.generate.structuredMimeTypes.description": "Les types MIME et ordre de préférence à utiliser pour la génération de modèles structurés. Suit la convention décrite dans la RFC 9110 pour l'entête Accept.", + "kiota.generate.includeAdditionalData.description": "Incluera la propriété 'AdditionalData' pour les modèles générés." } From c57202a3aee3ab7b58acde5f11efae6535a24da2 Mon Sep 17 00:00:00 2001 From: Vincent Biret Date: Mon, 16 Oct 2023 10:05:44 -0400 Subject: [PATCH 09/19] - adds turkish translations --- vscode/microsoft-kiota/l10n/bundle.l10n.tr.json | 10 +++++++++- vscode/microsoft-kiota/package.nls.tr.json | 13 ++++++++++++- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/vscode/microsoft-kiota/l10n/bundle.l10n.tr.json b/vscode/microsoft-kiota/l10n/bundle.l10n.tr.json index 94a5d58785..259edb2dfe 100644 --- a/vscode/microsoft-kiota/l10n/bundle.l10n.tr.json +++ b/vscode/microsoft-kiota/l10n/bundle.l10n.tr.json @@ -1,4 +1,5 @@ { + "Client will be upgraded from version {0} to {1}, upgrade your dependencies": "İstemci {0} sürümünden {1}'e yükseltilecek, bağımlılıklarınızı yükseltecek", "No description found, select a description first": "Açıklama bulunamadı, önce bir açıklama seçin", "No endpoints selected, select endpoints first": "Seçilen endpoint yok, önce endpointleri seçin", "No workspace folder found, open a folder first": "Çalışma alanı klasörü bulunamadı, önce bir klasör açın", @@ -30,5 +31,12 @@ "Pick a lock file": "Bir kilit dosyası seçin", "Open a lock file": "Bir kilit dosyası açın", "Filter the API description": "API açıklamasını filtreleyin", - "Enter a filter": "Filtre girin" + "Enter a filter": "Filtre girin", + "Searching...": "Araştırıcı...", + "A path or URL to an API manifest": "API manifestinin yolu veya URLsi", + "Open an API manifest": "API manifestini açın", + "Invalid URL, please check the documentation for the supported URLs": "Geçersiz URL, lütfen desteklenen URL'ler için dokümanları kontrol edin", + "No content found in the clipboard": "Panoda içerik bulunamadı", + "Invalid content found in the clipboard": "Panoda geçersiz içerik bulundu", + "Select an API manifest key": "Bir API manifest anahtarı seçin" } diff --git a/vscode/microsoft-kiota/package.nls.tr.json b/vscode/microsoft-kiota/package.nls.tr.json index 8509e0c1d4..b4bc590d93 100644 --- a/vscode/microsoft-kiota/package.nls.tr.json +++ b/vscode/microsoft-kiota/package.nls.tr.json @@ -18,5 +18,16 @@ "kiota.openApiExplorer.welcome": "Seçili bir API açıklaması yok.\n[Ara](command:kiota.searchApiDescription)\n[Aç](command:kiota.openApiExplorer.openDescription)\n[Kilit dosyasını seç](command:kiota.searchLock)", "kiota.searchLock.title": "Kilit dosyası arayın", "kiota.openApiExplorer.filterDescription.title": "API açıklaması filtrele", - "kiota.openApiExplorer.openDocumentationPage.title": "API belgelerini aç" + "kiota.openApiExplorer.openDocumentationPage.title": "API belgelerini aç", + "kiota.openApiExplorer.openManifestPath.title": "API manifestini aç", + "kiota.openApiExplorer.pasteManifest.title": "API manifestini yapıştır", + "kiota.generate.backingStore.description": "Enables backing store for models", + "kiota.generate.excludeBackwardCompatible.description": "Excludes backward compatible and obsolete assets from the generated result. Should be used for new clients", + "kiota.cleanOutput.description": "Kod dosyalarını oluşturmadan önce çıktı dizinindeki tüm dosyaları kaldırır", + "kiota.generate.disabledValidationRules.description": "OpenAPI açıklama doğrulama kuralları olarak belirlenir: \nDivergentResponseSchema\nGetWithBody\nInconsistentTypeFormatPair\nKnownAndNotSupportedFormats\nMissingDiscriminator\nMultipleServerEntries\nNoContentWithBody\nNoServerEntry\nUrlFormEncodedComplex\nValidationRuleSetExtensions\nAll", + "kiota.clearCache.description": "Önbelleğe alınmış tüm verileri temizler", + "kiota.generate.serializer.description": "Serileştiriciler için tam nitelikli sınıf adları", + "kiota.generate.deserializer.description": "Seri durumdan çıkarma işlemleri için tam nitelikli sınıf adları", + "kiota.generate.structuredMimeTypes.description": "Yapılandırılmış veri modeli oluşturmak için kullanılacak MIME türleri ve tercihi. RFC9110'a göre Başlık gösterimini kabul et.", + "kiota.generate.includeAdditionalData.description": "Modeller için 'AdditionalData' özelliğini içerecektir" } From f2f475dc7363d435bf183a7a4df00fb108802bb9 Mon Sep 17 00:00:00 2001 From: Vincent Biret Date: Mon, 16 Oct 2023 10:08:32 -0400 Subject: [PATCH 10/19] - adds spanish translations --- vscode/microsoft-kiota/package.nls.es.json | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/vscode/microsoft-kiota/package.nls.es.json b/vscode/microsoft-kiota/package.nls.es.json index cfb89ccec4..83cf3dfdf7 100644 --- a/vscode/microsoft-kiota/package.nls.es.json +++ b/vscode/microsoft-kiota/package.nls.es.json @@ -20,5 +20,14 @@ "kiota.openApiExplorer.filterDescription.title": "Filtrar descripción de API", "kiota.openApiExplorer.openDocumentationPage.title": "Abrir documentación", "kiota.openApiExplorer.openManifestPath.title": "Ouvrir un manifeste d'API", - "kiota.openApiExplorer.pasteManifest.title": "Coller un manifeste d'API" + "kiota.openApiExplorer.pasteManifest.title": "Coller un manifeste d'API", + "kiota.generate.backingStore.description": "Habilita almacenamiento de respaldo para los modelos.", + "kiota.generate.excludeBackwardCompatible.description": "Excluye activos obsoletos y compatibles con anteriores versiones del resultado generado. Debe ser usado para nuevos clientes.", + "kiota.cleanOutput.description": "Remueve todos los archivos del directorio producido antes de generar los archivos de código.", + "kiota.generate.disabledValidationRules.description": "The OpenAPI description validation rules to disable: \nDivergentResponseSchema\nGetWithBody\nInconsistentTypeFormatPair\nKnownAndNotSupportedFormats\nMissingDiscriminator\nMultipleServerEntries\nNoContentWithBody\nNoServerEntry\nUrlFormEncodedComplex\nValidationRuleSetExtensions\nAll", + "kiota.clearCache.description": "Elimina datos en memoria cache", + "kiota.generate.serializer.description": "Los nombres de clase completamente calificados para serializadores", + "kiota.generate.deserializer.description": "Los nombres de clase completamente calificados para deserializadores", + "kiota.generate.structuredMimeTypes.description": "Las preferencias y tipos MIME para usar en la generación de modelos de data estructurados. De acuerdo con RFC9110, acepte notación de encabezado.", + "kiota.generate.includeAdditionalData.description": "Incluirá la propiedad 'AdditionalData' para modelos." } From 06ebeffbe31dd6e5751c9be180ce2e17a6cd94bc Mon Sep 17 00:00:00 2001 From: Vincent Biret Date: Mon, 16 Oct 2023 10:30:20 -0400 Subject: [PATCH 11/19] - adds missing turkish translations --- vscode/microsoft-kiota/package.nls.tr.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vscode/microsoft-kiota/package.nls.tr.json b/vscode/microsoft-kiota/package.nls.tr.json index b4bc590d93..a4965405bd 100644 --- a/vscode/microsoft-kiota/package.nls.tr.json +++ b/vscode/microsoft-kiota/package.nls.tr.json @@ -21,8 +21,8 @@ "kiota.openApiExplorer.openDocumentationPage.title": "API belgelerini aç", "kiota.openApiExplorer.openManifestPath.title": "API manifestini aç", "kiota.openApiExplorer.pasteManifest.title": "API manifestini yapıştır", - "kiota.generate.backingStore.description": "Enables backing store for models", - "kiota.generate.excludeBackwardCompatible.description": "Excludes backward compatible and obsolete assets from the generated result. Should be used for new clients", + "kiota.generate.backingStore.description": "Modeller için yedekleme deposunu etkinleştirir", + "kiota.generate.excludeBackwardCompatible.description": "Geriye dönük olarak uyumlu ve eski varlıkları oluşturulan sonuçtan hariç tutar. Yeni müşteriler için kullanılmalı", "kiota.cleanOutput.description": "Kod dosyalarını oluşturmadan önce çıktı dizinindeki tüm dosyaları kaldırır", "kiota.generate.disabledValidationRules.description": "OpenAPI açıklama doğrulama kuralları olarak belirlenir: \nDivergentResponseSchema\nGetWithBody\nInconsistentTypeFormatPair\nKnownAndNotSupportedFormats\nMissingDiscriminator\nMultipleServerEntries\nNoContentWithBody\nNoServerEntry\nUrlFormEncodedComplex\nValidationRuleSetExtensions\nAll", "kiota.clearCache.description": "Önbelleğe alınmış tüm verileri temizler", From 34310723758221bdc25b64068eb31c581560094e Mon Sep 17 00:00:00 2001 From: Vincent Biret Date: Tue, 17 Oct 2023 08:25:11 -0400 Subject: [PATCH 12/19] - adds missing spanish translations --- vscode/microsoft-kiota/package.nls.es.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vscode/microsoft-kiota/package.nls.es.json b/vscode/microsoft-kiota/package.nls.es.json index 83cf3dfdf7..74e45e706d 100644 --- a/vscode/microsoft-kiota/package.nls.es.json +++ b/vscode/microsoft-kiota/package.nls.es.json @@ -19,8 +19,8 @@ "kiota.searchLock.title": "Buscar un archivo lock", "kiota.openApiExplorer.filterDescription.title": "Filtrar descripción de API", "kiota.openApiExplorer.openDocumentationPage.title": "Abrir documentación", - "kiota.openApiExplorer.openManifestPath.title": "Ouvrir un manifeste d'API", - "kiota.openApiExplorer.pasteManifest.title": "Coller un manifeste d'API", + "kiota.openApiExplorer.openManifestPath.title": "Abrir manifesto de OpenAPI", + "kiota.openApiExplorer.pasteManifest.title": "Pegar manifesto de OpenAPI", "kiota.generate.backingStore.description": "Habilita almacenamiento de respaldo para los modelos.", "kiota.generate.excludeBackwardCompatible.description": "Excluye activos obsoletos y compatibles con anteriores versiones del resultado generado. Debe ser usado para nuevos clientes.", "kiota.cleanOutput.description": "Remueve todos los archivos del directorio producido antes de generar los archivos de código.", From 9db670810441513655ab716213c830f860c75eb9 Mon Sep 17 00:00:00 2001 From: Vincent Biret Date: Tue, 17 Oct 2023 08:31:10 -0400 Subject: [PATCH 13/19] - adds portuguese translations --- vscode/microsoft-kiota/package.nls.pt.json | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/vscode/microsoft-kiota/package.nls.pt.json b/vscode/microsoft-kiota/package.nls.pt.json index 39c4cbfea1..ae3b789c4e 100644 --- a/vscode/microsoft-kiota/package.nls.pt.json +++ b/vscode/microsoft-kiota/package.nls.pt.json @@ -20,5 +20,14 @@ "kiota.openApiExplorer.filterDescription.title": "Filtrar descrição da API", "kiota.openApiExplorer.openDocumentationPage.title": "Abrir página de documentação", "kiota.openApiExplorer.openManifestPath.title": "Abrir manifesto da API", - "kiota.openApiExplorer.pasteManifest.title": "Colar manifesto da API" + "kiota.openApiExplorer.pasteManifest.title": "Colar manifesto da API", + "kiota.generate.backingStore.description": "Habilita armazenamento de apoio para os modelos", + "kiota.generate.excludeBackwardCompatible.description": "Exclui retrocompatibilidade e ativos obsoletos do resultado gerado. Deve ser usado para novos clientes", + "kiota.cleanOutput.description": "Remove todos os arquivos do diretório de saída antes de gerar os arquivos de código", + "kiota.generate.disabledValidationRules.description": "The OpenAPI description validation rules to disable: \nDivergentResponseSchema\nGetWithBody\nInconsistentTypeFormatPair\nKnownAndNotSupportedFormats\nMissingDiscriminator\nMultipleServerEntries\nNoContentWithBody\nNoServerEntry\nUrlFormEncodedComplex\nValidationRuleSetExtensions\nAll", + "kiota.clearCache.description": "Limpa qualquer dado em memória", + "kiota.generate.serializer.description": "O nome totalmente qualificado da classe para serializadores", + "kiota.generate.deserializer.description": "O nome totalmente qualificado da classe para desserializadores", + "kiota.generate.structuredMimeTypes.description": "As preferências e os tipos MIME a serem usados para a geração de modelos de dados estruturados. De acordo com a notação do cabeçalho Accept do RFC9110..", + "kiota.generate.includeAdditionalData.description": "Será incluído a propriedade 'AdditionalData' para modelos" } From 194126caf73b978fd0997919faf4331c8abcc718 Mon Sep 17 00:00:00 2001 From: Vincent Biret Date: Tue, 17 Oct 2023 08:34:04 -0400 Subject: [PATCH 14/19] - adds arabic translations --- vscode/microsoft-kiota/package.nls.ar.json | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/vscode/microsoft-kiota/package.nls.ar.json b/vscode/microsoft-kiota/package.nls.ar.json index 2fe5b8dcf8..a88a2ef3eb 100644 --- a/vscode/microsoft-kiota/package.nls.ar.json +++ b/vscode/microsoft-kiota/package.nls.ar.json @@ -20,5 +20,14 @@ "kiota.openApiExplorer.filterDescription.title": "قم بتصفية وصف API", "kiota.openApiExplorer.openDocumentationPage.title": "افتح صفحة الوثائق", "kiota.openApiExplorer.openManifestPath.title": "افتح بيان واجهة برمجة التطبيقات", - "kiota.openApiExplorer.pasteManifest.title": "الصق بيان واجهة برمجة التطبيقات" + "kiota.openApiExplorer.pasteManifest.title": "الصق بيان واجهة برمجة التطبيقات", + "kiota.generate.backingStore.description": "تمكين مخزن الدعم للنماذج", + "kiota.generate.excludeBackwardCompatible.description": "يستبعد الأصول المتوافقة مع الإصدارات السابقة والمتقادمة من النتيجة التي تم إنشاؤها. ينبغي أن تستخدم للعملاء الجدد", + "kiota.cleanOutput.description": "يزيل كافة الملفات من دليل الإخراج قبل إنشاء ملفات التعليمات البرمجية", + "kiota.generate.disabledValidationRules.description": "قواعد التحقق من صحة وصف OpenAPI إلى \nDivergentResponseSchema\nGetWithBody\nInconsistentTypeFormatPair\nKnownAndNotSupportedFormats\nMissingDiscriminator\nMultipleServerEntries\nNoContentWithBody\nNoServerEntry\nUrlFormEncodedComplex\nValidationRuleSetExtensions\nAll", + "kiota.clearCache.description": "يمسح أي بيانات مخزنة مؤقتًا", + "kiota.generate.serializer.description": "أسماء الفئات المؤهلة بالكامل للمتسلسلات", + "kiota.generate.deserializer.description": "أسماء الفئات المؤهلة بالكامل لإلغاء التسلسل", + "kiota.generate.structuredMimeTypes.description": "أنواع MIME والتفضيلات المستخدمة لإنشاء نماذج البيانات المنظمة. وفقًا لـ RFC9110، قم بقبول تدوين الرأس.", + "kiota.generate.includeAdditionalData.description": "سيتم تضمين خاصية 'Additional Data' للنماذج" } From 6ca7c31b13b98ee2d9cc6cc04cf29f9b3b4c4652 Mon Sep 17 00:00:00 2001 From: Vincent Biret Date: Tue, 17 Oct 2023 08:35:59 -0400 Subject: [PATCH 15/19] - adds chinese translations --- vscode/microsoft-kiota/package.nls.zh-cn.json | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/vscode/microsoft-kiota/package.nls.zh-cn.json b/vscode/microsoft-kiota/package.nls.zh-cn.json index 21a6420e61..f24ca8c9aa 100644 --- a/vscode/microsoft-kiota/package.nls.zh-cn.json +++ b/vscode/microsoft-kiota/package.nls.zh-cn.json @@ -20,5 +20,14 @@ "kiota.openApiExplorer.filterDescription.title": "筛选API描述", "kiota.openApiExplorer.openDocumentationPage.title": "打开文档页", "kiota.openApiExplorer.openManifestPath.title": "打开API清单", - "kiota.openApiExplorer.pasteManifest.title": "粘贴API清单" + "kiota.openApiExplorer.pasteManifest.title": "粘贴API清单", + "kiota.generate.backingStore.description": "启用模型后备存储", + "kiota.generate.excludeBackwardCompatible.description": "从生成的结果中排除向后兼容和过时的资产。应该用于新客户端", + "kiota.cleanOutput.description": "在生成代码文件之前从输出目录中删除所有文件", + "kiota.generate.disabledValidationRules.description": "验证 OpenAPI 规则: \nDivergentResponseSchema\nGetWithBody\nInconsistentTypeFormatPair\nKnownAndNotSupportedFormats\nMissingDiscriminator\nMultipleServerEntries\nNoContentWithBody\nNoServerEntry\nUrlFormEncodedComplex\nValidationRuleSetExtensions\nAll", + "kiota.clearCache.description": "清除所有缓存数据", + "kiota.generate.serializer.description": "合格的序列化器类名", + "kiota.generate.deserializer.description": "合格的反序列化器类名", + "kiota.generate.structuredMimeTypes.description": "用于生成结构化数据模型的 MIME 类型和首选项。根据符合 RFC9110 标题符号。", + "kiota.generate.includeAdditionalData.description": "将包含模型的“AdditionalData”属性" } From 365ee439987e00f3bdd0759ab7f6d128df9e59aa Mon Sep 17 00:00:00 2001 From: Vincent Biret Date: Tue, 17 Oct 2023 08:38:44 -0400 Subject: [PATCH 16/19] - fixes spanish and portuguese translations --- vscode/microsoft-kiota/package.nls.es.json | 2 +- vscode/microsoft-kiota/package.nls.pt.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/vscode/microsoft-kiota/package.nls.es.json b/vscode/microsoft-kiota/package.nls.es.json index 74e45e706d..6a29c5dd5c 100644 --- a/vscode/microsoft-kiota/package.nls.es.json +++ b/vscode/microsoft-kiota/package.nls.es.json @@ -24,7 +24,7 @@ "kiota.generate.backingStore.description": "Habilita almacenamiento de respaldo para los modelos.", "kiota.generate.excludeBackwardCompatible.description": "Excluye activos obsoletos y compatibles con anteriores versiones del resultado generado. Debe ser usado para nuevos clientes.", "kiota.cleanOutput.description": "Remueve todos los archivos del directorio producido antes de generar los archivos de código.", - "kiota.generate.disabledValidationRules.description": "The OpenAPI description validation rules to disable: \nDivergentResponseSchema\nGetWithBody\nInconsistentTypeFormatPair\nKnownAndNotSupportedFormats\nMissingDiscriminator\nMultipleServerEntries\nNoContentWithBody\nNoServerEntry\nUrlFormEncodedComplex\nValidationRuleSetExtensions\nAll", + "kiota.generate.disabledValidationRules.description": "Las reglas a disabilitar durante la validación. Utilice las siguientes llaves para seleccionar cuáles reglas desabilitar: \nDivergentResponseSchema\nGetWithBody\nInconsistentTypeFormatPair\nKnownAndNotSupportedFormats\nMissingDiscriminator\nMultipleServerEntries\nNoContentWithBody\nNoServerEntry\nUrlFormEncodedComplex\nValidationRuleSetExtensions\nAll", "kiota.clearCache.description": "Elimina datos en memoria cache", "kiota.generate.serializer.description": "Los nombres de clase completamente calificados para serializadores", "kiota.generate.deserializer.description": "Los nombres de clase completamente calificados para deserializadores", diff --git a/vscode/microsoft-kiota/package.nls.pt.json b/vscode/microsoft-kiota/package.nls.pt.json index ae3b789c4e..3315187181 100644 --- a/vscode/microsoft-kiota/package.nls.pt.json +++ b/vscode/microsoft-kiota/package.nls.pt.json @@ -24,7 +24,7 @@ "kiota.generate.backingStore.description": "Habilita armazenamento de apoio para os modelos", "kiota.generate.excludeBackwardCompatible.description": "Exclui retrocompatibilidade e ativos obsoletos do resultado gerado. Deve ser usado para novos clientes", "kiota.cleanOutput.description": "Remove todos os arquivos do diretório de saída antes de gerar os arquivos de código", - "kiota.generate.disabledValidationRules.description": "The OpenAPI description validation rules to disable: \nDivergentResponseSchema\nGetWithBody\nInconsistentTypeFormatPair\nKnownAndNotSupportedFormats\nMissingDiscriminator\nMultipleServerEntries\nNoContentWithBody\nNoServerEntry\nUrlFormEncodedComplex\nValidationRuleSetExtensions\nAll", + "kiota.generate.disabledValidationRules.description": "As regras a serem desativadas durante a validação. Use as seguintes chaves para selecionar qual(is) regra(s) desativar: \nDivergentResponseSchema\nGetWithBody\nInconsistentTypeFormatPair\nKnownAndNotSupportedFormats\nMissingDiscriminator\nMultipleServerEntries\nNoContentWithBody\nNoServerEntry\nUrlFormEncodedComplex\nValidationRuleSetExtensions\nAll", "kiota.clearCache.description": "Limpa qualquer dado em memória", "kiota.generate.serializer.description": "O nome totalmente qualificado da classe para serializadores", "kiota.generate.deserializer.description": "O nome totalmente qualificado da classe para desserializadores", From ee0bb4eb2bb16fd10938c31c6e3055c60a4f527d Mon Sep 17 00:00:00 2001 From: David Guida Date: Tue, 17 Oct 2023 11:35:59 -0400 Subject: [PATCH 17/19] added italian translation --- vscode/microsoft-kiota/package.nls.it.json | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 vscode/microsoft-kiota/package.nls.it.json diff --git a/vscode/microsoft-kiota/package.nls.it.json b/vscode/microsoft-kiota/package.nls.it.json new file mode 100644 index 0000000000..f6e638b902 --- /dev/null +++ b/vscode/microsoft-kiota/package.nls.it.json @@ -0,0 +1,33 @@ +{ + "kiota.dependenciesInfo.name": "Informazioni sulle Dipendenze di Kiota", + "kiota.dependenciesInfo.contextualTitle": "Informazioni sulle Dipendenze", + "kiota.openApiExplorer.name": "Kiota OpenAPI Explorer", + "kiota.openApiExplorer.contextualTitle": "OpenAPI Explorer", + "kiota-dependencies-info.panel.title": "Informazioni sulle Dipendenze di Kiota", + "kiota-openapi-explorer.activitybar.title": "Kiota OpenAPI Explorer", + "kiota.selectLock.title": "Seleziona un file di lock per visualizzarlo all'interno di API Explorer", + "kiota.updateClients.title": "Aggiorna i client API nel workspace corrente", + "kiota.openApiExplorer.generateClient.title": "Genera un client API", + "kiota.searchApiDescription.title": "Cerca una descrizione API", + "kiota.openApiExplorer.addToSelectedEndpoints.title": "Aggiungi", + "kiota.openApiExplorer.removeFromSelectedEndpoints.title": "Rimuovi", + "kiota.openApiExplorer.addAllToSelectedEndpoints.title": "Aggiungi tutti", + "kiota.openApiExplorer.removeAllFromSelectedEndpoints.title": "Rimuovi tutti", + "kiota.openApiExplorer.closeDescription.title": "Chiudi la descrizione API", + "kiota.openApiExplorer.openDescription.title": "Apri una descrizione API", + "kiota.openApiExplorer.welcome": "Nessuna descrizione delle API selezionata.\n[Search](command:kiota.searchApiDescription)\n[Apri una descrizione API](command:kiota.openApiExplorer.openDescription)\n[Apri un manifest](command:kiota.openApiExplorer.openManifestPath)\n[Copia un manifest](command:kiota.openApiExplorer.pasteManifest)\n[Seleziona un file di lock](command:kiota.searchLock)", + "kiota.searchLock.title": "Cerca il file di lock", + "kiota.openApiExplorer.filterDescription.title": "Filtra la descrizione delle API", + "kiota.openApiExplorer.openDocumentationPage.title": "Apri la pagina di documentazione", + "kiota.openApiExplorer.openManifestPath.title": "Apri il manifest delle API", + "kiota.openApiExplorer.pasteManifest.title": "Copia il manifest delle API", + "kiota.generate.backingStore.description": "Abilita il backing store per i modelli", + "kiota.generate.excludeBackwardCompatible.description": "Esclude gli asset retrocompatibili e obsoleti dal risultato generato. Da utilizzare per i nuovi clienti", + "kiota.cleanOutput.description": "Rimuove tutti i file dalla directory di output prima di generare i file di codice.", + "kiota.generate.disabledValidationRules.description": "The OpenAPI description validation rules to disable: \nDivergentResponseSchema\nGetWithBody\nInconsistentTypeFormatPair\nKnownAndNotSupportedFormats\nMissingDiscriminator\nMultipleServerEntries\nNoContentWithBody\nNoServerEntry\nUrlFormEncodedComplex\nValidationRuleSetExtensions\nAll", + "kiota.clearCache.description": "Cancella i dati memorizzati nella cache", + "kiota.generate.serializer.description": "I nomi di classe completamente qualificati per i serializzatori", + "kiota.generate.deserializer.description": "I nomi delle classi completamente qualificate per i deserializzatori", + "kiota.generate.structuredMimeTypes.description": "I tipi MIME e le preferenze da utilizzare per la generazione di modelli di dati strutturati. Come riportato nella notazione RFC9110 dell'header Accept.", + "kiota.generate.includeAdditionalData.description": "Includerà la proprietà 'AdditionalData' per i modelli" +} From 73b8294917dc28a96db7b82b01d0c0a7357ec7b8 Mon Sep 17 00:00:00 2001 From: David Guida Date: Tue, 17 Oct 2023 11:36:18 -0400 Subject: [PATCH 18/19] added italian translation --- .../microsoft-kiota/l10n/bundle.l10n.it.json | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 vscode/microsoft-kiota/l10n/bundle.l10n.it.json diff --git a/vscode/microsoft-kiota/l10n/bundle.l10n.it.json b/vscode/microsoft-kiota/l10n/bundle.l10n.it.json new file mode 100644 index 0000000000..9bfaf609fc --- /dev/null +++ b/vscode/microsoft-kiota/l10n/bundle.l10n.it.json @@ -0,0 +1,42 @@ +{ + "Client will be upgraded from version {0} to {1}, upgrade your dependencies": "Il client verrà aggiornato dalla versione {0} a {1}, aggiornate le vostre dipendenze", + "No description found, select a description first": "Nessuna descrizione trovata, selezionare una descrizione prima", + "No endpoints selected, select endpoints first": "Nessun endpoint selezionato, selezionare prima un'API", + "No workspace folder found, open a folder first": "Aucun environment de travail sélectionné, ouvrez un environment de travail d'abord", + "Yes": "Si", + "No": "No", + "not found": "non trovato", + "error updating the clients {error}": "errore durante l'aggiornamento dei client: {error}", + "updating client with path {path}": "aggiornamento del client {path}", + "Kiota Dependencies Information": "Informazioni sulle dipendenze di Kiota", + "Installation commands": "Comandi di installazione", + "Dependencies": "Dipendenze", + "No language selected, select a language first": "Nessun linguaggio selezionato, selezionare un linguaggio prima", + "Open an API description": "Apri una descrizione API", + "A path or url to an OpenAPI description": "Un path od una url ad una descrizione OpenAPI", + "Search for an API description": "Cerca una descrizione API", + "Enter a search query": "Inserisci una query di ricerca", + "Pick a search result": "Seleziona un risultato di ricerca", + "Generate an API client": "Genera un client API", + "Choose a name for the client class": "Scegli un nome per la classe client", + "Choose a name for the client class namespace": "Scegli un nome per namespace della classe client", + "Enter an output path relative to the root of the project": "Inserisci un path di output relativo alla root del progetto", + "Pick a language": "Seleziona un linguaggio", + "Downloading kiota requires an internet connection. Please check your connection and try again.": "Il download di kiota richiede una connessione internet. Controlla la tua connessione e riprova.", + "Kiota download failed. Check the extension host logs for more information.": "Il download di kiota è fallito. Controlla i log dell'host per maggiori informazioni.", + "Downloading kiota...": "Download di kiota in corso...", + "Generating client...": "Generazione del client in corso...", + "Updating clients...": "Aggiornamento dei client in corso...", + "Loading...": "Caricamento...", + "Pick a lock file": "Seleziona un file di lock", + "Open a lock file": "Apri un file di lock", + "Filter the API description": "Filtra la descrizione API", + "Enter a filter": "Inserisci un filtro", + "Searching...": "Ricerca in corso...", + "A path or URL to an API manifest": "Un path o un URL ad un manifest API", + "Open an API manifest": "Apri un manifest API", + "Invalid URL, please check the documentation for the supported URLs": "URL non valido, controlla la documentazione per gli URL supportati", + "No content found in the clipboard": "Nessun contenuto trovato negli appunti", + "Invalid content found in the clipboard": "Contenuto non valido trovato negli appunti", + "Select an API manifest key": "Seleziona una chiave del manifest API" +} From ab05d1c2e9c5cec4c6fcac3771a0d96b9de08145 Mon Sep 17 00:00:00 2001 From: David Guida Date: Tue, 17 Oct 2023 15:26:27 -0400 Subject: [PATCH 19/19] fixed missing sentence --- vscode/microsoft-kiota/l10n/bundle.l10n.it.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vscode/microsoft-kiota/l10n/bundle.l10n.it.json b/vscode/microsoft-kiota/l10n/bundle.l10n.it.json index 9bfaf609fc..de7e8d200d 100644 --- a/vscode/microsoft-kiota/l10n/bundle.l10n.it.json +++ b/vscode/microsoft-kiota/l10n/bundle.l10n.it.json @@ -2,7 +2,7 @@ "Client will be upgraded from version {0} to {1}, upgrade your dependencies": "Il client verrà aggiornato dalla versione {0} a {1}, aggiornate le vostre dipendenze", "No description found, select a description first": "Nessuna descrizione trovata, selezionare una descrizione prima", "No endpoints selected, select endpoints first": "Nessun endpoint selezionato, selezionare prima un'API", - "No workspace folder found, open a folder first": "Aucun environment de travail sélectionné, ouvrez un environment de travail d'abord", + "No workspace folder found, open a folder first": "Nessuna cartella di lavoro trovata, aprire prima una cartella", "Yes": "Si", "No": "No", "not found": "non trovato",