diff --git a/src/VisualStudio/CSharp/Impl/PackageRegistration.pkgdef b/src/VisualStudio/CSharp/Impl/PackageRegistration.pkgdef index ee45c4813cee4..852593e3f17a3 100644 --- a/src/VisualStudio/CSharp/Impl/PackageRegistration.pkgdef +++ b/src/VisualStudio/CSharp/Impl/PackageRegistration.pkgdef @@ -198,4 +198,4 @@ [$RootKey$\SettingsManifests\{13c3bbb4-f18f-4111-9f54-a0fb010d9194}] @="Microsoft.VisualStudio.LanguageServices.CSharp.LanguageService.CSharpPackage" "ManifestPath"="$PackageFolder$\UnifiedSettings\csharpSettings.registration.json" -"CacheTag"=qword:08DC1824DFE0117B +"CacheTag"=qword:CE76341698AB8CD3 diff --git a/src/VisualStudio/CSharp/Test/Microsoft.VisualStudio.LanguageServices.CSharp.UnitTests.csproj b/src/VisualStudio/CSharp/Test/Microsoft.VisualStudio.LanguageServices.CSharp.UnitTests.csproj index a1822e09b908e..b42bdacc847c3 100644 --- a/src/VisualStudio/CSharp/Test/Microsoft.VisualStudio.LanguageServices.CSharp.UnitTests.csproj +++ b/src/VisualStudio/CSharp/Test/Microsoft.VisualStudio.LanguageServices.CSharp.UnitTests.csproj @@ -82,5 +82,6 @@ + \ No newline at end of file diff --git a/src/VisualStudio/CSharp/Test/UnifiedSettings/CSharpUnifiedSettingsTests.cs b/src/VisualStudio/CSharp/Test/UnifiedSettings/CSharpUnifiedSettingsTests.cs index 4258c8a03cd5b..cd9d0faf9bdc3 100644 --- a/src/VisualStudio/CSharp/Test/UnifiedSettings/CSharpUnifiedSettingsTests.cs +++ b/src/VisualStudio/CSharp/Test/UnifiedSettings/CSharpUnifiedSettingsTests.cs @@ -102,7 +102,7 @@ internal override object GetOptionsDefaultValue(IOption2 option) [Fact] public async Task IntelliSensePageTests() { - var registrationFileStream = typeof(CSharpUnifiedSettingsTests).GetTypeInfo().Assembly.GetManifestResourceStream("Roslyn.VisualStudio.CSharp.UnitTests.csharpSettings.registration.json"); + using var registrationFileStream = typeof(CSharpUnifiedSettingsTests).GetTypeInfo().Assembly.GetManifestResourceStream("Roslyn.VisualStudio.CSharp.UnitTests.csharpSettings.registration.json"); using var reader = new StreamReader(registrationFileStream); var registrationFile = await reader.ReadToEndAsync().ConfigureAwait(false); var registrationJsonObject = JObject.Parse(registrationFile, new JsonLoadSettings() { CommentHandling = CommentHandling.Ignore }); @@ -110,7 +110,10 @@ public async Task IntelliSensePageTests() Assert.Equal("C#", actual: categoriesTitle.ToString()); var optionPageId = registrationJsonObject.SelectToken("$.categories['textEditor.csharp.intellisense'].legacyOptionPageId"); Assert.Equal(Guids.CSharpOptionPageIntelliSenseIdString, optionPageId!.ToString()); - TestUnifiedSettingsCategory(registrationJsonObject, categoryBasePath: "textEditor.csharp.intellisense", languageName: LanguageNames.CSharp); + using var pkgdefFileStream = typeof(CSharpUnifiedSettingsTests).GetTypeInfo().Assembly.GetManifestResourceStream("Roslyn.VisualStudio.CSharp.UnitTests.PackageRegistration.pkgdef"); + using var pkgdefReader = new StreamReader(pkgdefFileStream); + var pkgdefFile = await pkgdefReader.ReadToEndAsync().ConfigureAwait(false); + TestUnifiedSettingsCategory(registrationJsonObject, categoryBasePath: "textEditor.csharp.intellisense", languageName: LanguageNames.CSharp, pkgdefFile); } } } diff --git a/src/VisualStudio/Core/Test/Microsoft.VisualStudio.LanguageServices.UnitTests.vbproj b/src/VisualStudio/Core/Test/Microsoft.VisualStudio.LanguageServices.UnitTests.vbproj index 7e8b130d74ac7..15fc95f510bd7 100644 --- a/src/VisualStudio/Core/Test/Microsoft.VisualStudio.LanguageServices.UnitTests.vbproj +++ b/src/VisualStudio/Core/Test/Microsoft.VisualStudio.LanguageServices.UnitTests.vbproj @@ -62,4 +62,8 @@ + + + + \ No newline at end of file diff --git a/src/VisualStudio/Core/Test/UnifiedSettings/VisualBasicUnifiedSettingsTests.vb b/src/VisualStudio/Core/Test/UnifiedSettings/VisualBasicUnifiedSettingsTests.vb new file mode 100644 index 0000000000000..7f42c3704baf2 --- /dev/null +++ b/src/VisualStudio/Core/Test/UnifiedSettings/VisualBasicUnifiedSettingsTests.vb @@ -0,0 +1,97 @@ +' Licensed to the .NET Foundation under one or more agreements. +' The .NET Foundation licenses this file to you under the MIT license. +' See the LICENSE file in the project root for more information. + +Imports System.Collections.Immutable +Imports System.IO +Imports System.Reflection +Imports Microsoft.CodeAnalysis +Imports Microsoft.CodeAnalysis.Completion +Imports Microsoft.CodeAnalysis.Options +Imports Microsoft.VisualStudio.LanguageServices +Imports Microsoft.VisualStudio.LanguageServices.UnitTests.UnifiedSettings +Imports Newtonsoft.Json.Linq + +Namespace Roslyn.VisualStudio.VisualBasic.UnitTests.UnifiedSettings + Public Class VisualBasicUnifiedSettingsTests + Inherits UnifiedSettingsTests + + Friend Overrides ReadOnly Property OnboardedOptions As ImmutableArray(Of IOption2) + Get + Return ImmutableArray.Create(Of IOption2)( + CompletionOptionsStorage.TriggerOnTypingLetters, + CompletionOptionsStorage.TriggerOnDeletion, + CompletionViewOptionsStorage.HighlightMatchingPortionsOfCompletionListItems, + CompletionViewOptionsStorage.ShowCompletionItemFilters, + CompletionOptionsStorage.SnippetsBehavior, + CompletionOptionsStorage.EnterKeyBehavior, + CompletionOptionsStorage.ShowItemsFromUnimportedNamespaces, + CompletionViewOptionsStorage.EnableArgumentCompletionSnippets + ) + End Get + End Property + + Friend Overrides Function GetEnumOptionValues([option] As IOption2) As Object() + Dim allValues = [Enum].GetValues([option].Type).Cast(Of Object) + If [option].Equals(CompletionOptionsStorage.SnippetsBehavior) Then + 'SnippetsRule.Default is used as a stub value, overridden per language at runtime. + ' It is not shown in the option page + Return allValues.Where(Function(value) Not value.Equals(SnippetsRule.Default)).ToArray() + ElseIf [option].Equals(CompletionOptionsStorage.EnterKeyBehavior) Then + ' EnterKeyRule.Default is used as a stub value, overridden per language at runtime. + ' It Is Not shown in the option page + Return allValues.Where(Function(value) Not value.Equals(EnterKeyRule.Default)).ToArray() + End If + + Return MyBase.GetEnumOptionValues([option]) + End Function + + Friend Overrides Function GetOptionsDefaultValue([option] As IOption2) As Object + ' The default values of some options are set at runtime. option.defaultValue is just a dummy value in this case. + ' However, in unified settings we always set the correct value in registration.json. + If [option].Equals(CompletionOptionsStorage.SnippetsBehavior) Then + ' CompletionOptionsStorage.SnippetsBehavior's default value is SnippetsRule.Default. + ' It's overridden differently per-language at runtime. + Return SnippetsRule.IncludeAfterTypingIdentifierQuestionTab + ElseIf [option].Equals(CompletionOptionsStorage.EnterKeyBehavior) Then + ' CompletionOptionsStorage.EnterKeyBehavior's default value is EnterKeyBehavior.Default. + ' It's overridden differently per-language at runtime. + Return EnterKeyRule.Always + ElseIf [option].Equals(CompletionOptionsStorage.TriggerOnDeletion) Then + ' CompletionOptionsStorage.TriggerOnDeletion's default value is null. + ' It's enabled by default for Visual Basic + Return True + ElseIf [option].Equals(CompletionOptionsStorage.ShowItemsFromUnimportedNamespaces) Then + ' CompletionOptionsStorage.ShowItemsFromUnimportedNamespaces's default value is null + ' It's enabled by default for Visual Basic + Return True + ElseIf [option].Equals(CompletionViewOptionsStorage.EnableArgumentCompletionSnippets) Then + ' CompletionViewOptionsStorage.EnableArgumentCompletionSnippets' default value is null + ' It's disabled by default for Visual Basic + Return False + End If + + Return MyBase.GetOptionsDefaultValue([option]) + End Function + + + Public Async Function IntelliSensePageTests() As Task + Using registrationFileStream = GetType(VisualBasicUnifiedSettingsTests).GetTypeInfo().Assembly.GetManifestResourceStream("visualBasicSettings.registration.json") + Using pkgDefFileStream = GetType(VisualBasicUnifiedSettingsTests).GetTypeInfo().Assembly.GetManifestResourceStream("PackageRegistration.pkgdef") + Using pkgDefFileReader = New StreamReader(pkgDefFileStream) + Using reader = New StreamReader(registrationFileStream) + Dim registrationFile = Await reader.ReadToEndAsync().ConfigureAwait(False) + Dim pkgDefFile = Await pkgDefFileReader.ReadToEndAsync().ConfigureAwait(False) + Dim registrationJsonObject = JObject.Parse(registrationFile, New JsonLoadSettings()) + Dim categoriesTitle = registrationJsonObject.SelectToken("$.categories['textEditor.basic'].title") + Assert.Equal("Visual Basic", categoriesTitle) + Dim optionPageId = registrationJsonObject.SelectToken("$.categories['textEditor.basic.intellisense'].legacyOptionPageId") + Assert.Equal(Guids.VisualBasicOptionPageIntelliSenseIdString, optionPageId.ToString()) + TestUnifiedSettingsCategory(registrationJsonObject, categoryBasePath:="textEditor.basic.intellisense", languageName:=LanguageNames.VisualBasic, pkgDefFile) + End Using + End Using + End Using + End Using + End Function + End Class +End Namespace diff --git a/src/VisualStudio/TestUtilities2/UnifiedSettings/UnifiedSettingsTests.vb b/src/VisualStudio/TestUtilities2/UnifiedSettings/UnifiedSettingsTests.vb index 48abfad77a558..ecf8ba700f9bf 100644 --- a/src/VisualStudio/TestUtilities2/UnifiedSettings/UnifiedSettingsTests.vb +++ b/src/VisualStudio/TestUtilities2/UnifiedSettings/UnifiedSettingsTests.vb @@ -3,6 +3,9 @@ ' See the LICENSE file in the project root for more information. Imports System.Collections.Immutable +Imports System.IO.Hashing +Imports System.Text +Imports System.Text.RegularExpressions Imports Microsoft.CodeAnalysis Imports Microsoft.CodeAnalysis.Options Imports Microsoft.VisualStudio.LanguageServices.Options @@ -28,7 +31,7 @@ Namespace Microsoft.VisualStudio.LanguageServices.UnitTests.UnifiedSettings Return [Enum].GetValues(type).Cast(Of Object).AsArray() End Function - Protected Sub TestUnifiedSettingsCategory(registrationJsonObject As JObject, categoryBasePath As String, languageName As String) + Protected Sub TestUnifiedSettingsCategory(registrationJsonObject As JObject, categoryBasePath As String, languageName As String, pkdDefFile As String) Dim actualAllSettings = registrationJsonObject.SelectToken($"$.properties").Children.OfType(Of JProperty). Where(Function(setting) setting.Name.StartsWith(categoryBasePath)). Select(Function(setting) setting.Name). @@ -62,6 +65,17 @@ Namespace Microsoft.VisualStudio.LanguageServices.UnitTests.UnifiedSettings Throw ExceptionUtilities.UnexpectedValue(optionName) End If Next + + Dim registrationFileBytes = ASCIIEncoding.ASCII.GetBytes(registrationJsonObject.ToString()) + Dim hash = XxHash128.Hash(registrationFileBytes) + Dim tagBytes = hash.Take(8).ToArray() + Dim expectedCacheTagValue = BitConverter.ToInt64(tagBytes, 0).ToString("X16") + + Dim regexExp = New Regex("""CacheTag""=qword:\w{16}") + Dim match = regexExp.Match(pkdDefFile, 0).Value + Dim actual = match.Substring(match.Length - 16) + ' Please change the CacheTag value in pkddef if you modify the unified settings regirstration file + Assert.Equal(expectedCacheTagValue, actual) End Sub Private Shared Sub VerifySettings(registrationJsonObject As JObject, unifiedSettingPath As String, [option] As IOption2, languageName As String) diff --git a/src/VisualStudio/VisualBasic/Impl/BasicVSResources.resx b/src/VisualStudio/VisualBasic/Impl/BasicVSResources.resx index feb1994aec76a..b0aabb98df28e 100644 --- a/src/VisualStudio/VisualBasic/Impl/BasicVSResources.resx +++ b/src/VisualStudio/VisualBasic/Impl/BasicVSResources.resx @@ -244,15 +244,6 @@ _Never add new line on enter - - Always include snippets - - - Include snippets when ?-Tab is typed after an identifier - - - Never include snippets - Snippets behavior diff --git a/src/VisualStudio/VisualBasic/Impl/LanguageService/VisualBasicPackage.vb b/src/VisualStudio/VisualBasic/Impl/LanguageService/VisualBasicPackage.vb index 046f984628ff0..f03d6a481434d 100644 --- a/src/VisualStudio/VisualBasic/Impl/LanguageService/VisualBasicPackage.vb +++ b/src/VisualStudio/VisualBasic/Impl/LanguageService/VisualBasicPackage.vb @@ -38,6 +38,7 @@ Namespace Microsoft.VisualStudio.LanguageServices.VisualBasic + Friend NotInheritable Class VisualBasicPackage Inherits AbstractPackage(Of VisualBasicPackage, VisualBasicLanguageService) diff --git a/src/VisualStudio/VisualBasic/Impl/Microsoft.VisualStudio.LanguageServices.VisualBasic.vbproj b/src/VisualStudio/VisualBasic/Impl/Microsoft.VisualStudio.LanguageServices.VisualBasic.vbproj index b9cc5973ed78e..b94764b606b87 100644 --- a/src/VisualStudio/VisualBasic/Impl/Microsoft.VisualStudio.LanguageServices.VisualBasic.vbproj +++ b/src/VisualStudio/VisualBasic/Impl/Microsoft.VisualStudio.LanguageServices.VisualBasic.vbproj @@ -14,6 +14,12 @@ true false + + + PreserveNewest + true + + @@ -44,12 +50,12 @@ - + - + true VSPackage Designer diff --git a/src/VisualStudio/VisualBasic/Impl/Options/IntelliSenseOptionPageControl.xaml.vb b/src/VisualStudio/VisualBasic/Impl/Options/IntelliSenseOptionPageControl.xaml.vb index 26f9bfa584311..7a28520e808f1 100644 --- a/src/VisualStudio/VisualBasic/Impl/Options/IntelliSenseOptionPageControl.xaml.vb +++ b/src/VisualStudio/VisualBasic/Impl/Options/IntelliSenseOptionPageControl.xaml.vb @@ -42,8 +42,8 @@ Namespace Microsoft.VisualStudio.LanguageServices.VisualBasic.Options End Sub Private Sub SetEnterKeyDefaultBehavior() - Dim snippetValue = Me.OptionStore.GetOption(CompletionOptionsStorage.EnterKeyBehavior, LanguageNames.VisualBasic) - If snippetValue = SnippetsRule.Default Then + Dim enterKeyRule = Me.OptionStore.GetOption(CompletionOptionsStorage.EnterKeyBehavior, LanguageNames.VisualBasic) + If enterKeyRule = EnterKeyRule.Default Then Always_add_new_line_on_enter.IsChecked = True End If End Sub diff --git a/src/VisualStudio/VisualBasic/Impl/Options/IntelliSenseOptionPageStrings.vb b/src/VisualStudio/VisualBasic/Impl/Options/IntelliSenseOptionPageStrings.vb index e3b00fcebfd41..39b3bf040f610 100644 --- a/src/VisualStudio/VisualBasic/Impl/Options/IntelliSenseOptionPageStrings.vb +++ b/src/VisualStudio/VisualBasic/Impl/Options/IntelliSenseOptionPageStrings.vb @@ -35,13 +35,13 @@ Namespace Microsoft.VisualStudio.LanguageServices.VisualBasic.Options BasicVSResources.Snippets_behavior Public ReadOnly Property Option_Never_include_snippets As String = - BasicVSResources.Never_include_snippets + VSPackage.Never_include_snippets Public ReadOnly Property Option_Always_include_snippets As String = - BasicVSResources.Always_include_snippets + VSPackage.Always_include_snippets Public ReadOnly Property Option_Include_snippets_when_question_Tab_is_typed_after_an_identifier As String = - BasicVSResources.Include_snippets_when_Tab_is_typed_after_an_identifier + VSPackage.Include_snippets_when_Tab_is_typed_after_an_identifier Public ReadOnly Property Option_Show_items_from_unimported_namespaces As String = BasicVSResources.Show_items_from_unimported_namespaces diff --git a/src/VisualStudio/VisualBasic/Impl/PackageRegistration.pkgdef b/src/VisualStudio/VisualBasic/Impl/PackageRegistration.pkgdef index bfb3a04c6856c..088ecdbfeb727 100644 --- a/src/VisualStudio/VisualBasic/Impl/PackageRegistration.pkgdef +++ b/src/VisualStudio/VisualBasic/Impl/PackageRegistration.pkgdef @@ -188,4 +188,11 @@ "Indent Style"=dword:00000002 [$RootKey$\VB Editor\Roslyn] -"DisplayLineSeparators"=dword:00000001 \ No newline at end of file +"DisplayLineSeparators"=dword:00000001 + +// CacheTag value should be changed when registration file changes +// See https://devdiv.visualstudio.com/DevDiv/_wiki/wikis/DevDiv.wiki/39345/Manifest-Build-Deployment-and-Setup-Authoring-In-Depth?anchor=example-pkgdef-key for more infomation +[$RootKey$\SettingsManifests\{574fc912-f74f-4b4e-92c3-f695c208a2bb}] +@="Microsoft.VisualStudio.LanguageServices.VisualBasic.VisualBasicPackage" +"ManifestPath"="$PackageFolder$\UnifiedSettings\visualBasicSettings.registration.json" +"CacheTag"=qword:5DE8496A8900B809 diff --git a/src/VisualStudio/VisualBasic/Impl/UnifiedSettings/visualBasicSettings.registration.json b/src/VisualStudio/VisualBasic/Impl/UnifiedSettings/visualBasicSettings.registration.json new file mode 100644 index 0000000000000..c744cc9dc0357 --- /dev/null +++ b/src/VisualStudio/VisualBasic/Impl/UnifiedSettings/visualBasicSettings.registration.json @@ -0,0 +1,185 @@ +// NOTE: +// When this file is changed. Please also update the cache tag under settings entry in src/VisualStudio/VisualBasic/Impl/PackageRegistration.pkgdef +// Otherwise your change might be ignored. +// See https://devdiv.visualstudio.com/DevDiv/_wiki/wikis/DevDiv.wiki/39345/Manifest-Build-Deployment-and-Setup-Authoring-In-Depth?anchor=example-pkgdef-key for more details +{ + "properties": { + // CompletionOptionsStorage.TriggerOnTypingLetters + "textEditor.basic.intellisense.triggerCompletionOnTypingLetters": { + "title": "@Show_completion_list_after_a_character_is_typed;..\\Microsoft.VisualStudio.LanguageServices.VisualBasic.dll", + "type": "boolean", + "default": true, + "order": 0, + "migration": { + "pass": { + "input": { + "store": "SettingsManager", + "path": "TextEditor.VisualBasic.Specific.TriggerOnTypingLetters" + } + } + } + }, + // CompletionOptionsStorage.TriggerOnDeletion + "textEditor.basic.intellisense.triggerCompletionOnDeletion": { + "title": "@Show_completion_list_after_a_character_is_deleted;..\\Microsoft.VisualStudio.LanguageServices.VisualBasic.dll", + "type": "boolean", + "default": true, + "order": 1, + "migration": { + "pass": { + "input": { + "store": "SettingsManager", + "path": "TextEditor.VisualBasic.Specific.TriggerOnDeletion" + } + } + } + }, + // CompletionViewOptionsStorage.HighlightMatchingPortionsOfCompletionListItems + "textEditor.basic.intellisense.highlightMatchingPortionsOfCompletionListItems": { + "title": "@Highlight_matching_portions_of_completion_list_items;..\\Microsoft.VisualStudio.LanguageServices.VisualBasic.dll", + "type": "boolean", + "default": true, + "order": 10, + "migration": { + "pass": { + "input": { + "store": "SettingsManager", + "path": "TextEditor.VisualBasic.Specific.HighlightMatchingPortionsOfCompletionListItems" + } + } + } + }, + // CompletionViewOptionsStorage.ShowCompletionItemFilters + "textEditor.basic.intellisense.showCompletionItemFilters": { + "title": "@Show_completion_item_filters;..\\Microsoft.VisualStudio.LanguageServices.VisualBasic.dll", + "type": "boolean", + "default": true, + "order": 20, + "migration": { + "pass": { + "input": { + "store": "SettingsManager", + "path": "TextEditor.VisualBasic.Specific.ShowCompletionItemFilters" + } + } + } + }, + // CompletionOptionsStorage.SnippetsBehavior + "textEditor.basic.intellisense.snippetsBehavior": { + "title": "@Snippets_behavior;..\\Microsoft.VisualStudio.LanguageServices.VisualBasic.dll", + "type": "string", + "enum": [ "neverInclude", "alwaysInclude", "includeAfterTypingIdentifierQuestionTab" ], + "enumItemLabels": [ "@Never_include_snippets;{574fc912-f74f-4b4e-92c3-f695c208a2bb}", "@Always_include_snippets;{574fc912-f74f-4b4e-92c3-f695c208a2bb}", "@Include_snippets_when_Tab_is_typed_after_an_identifier;{574fc912-f74f-4b4e-92c3-f695c208a2bb}" ], + "default": "includeAfterTypingIdentifierQuestionTab", + "order": 30, + "migration": { + "enumIntegerToString": { + "input": { + "store": "SettingsManager", + "path": "TextEditor.VisualBasic.Specific.SnippetsBehavior" + }, + "map": [ + { + "result": "neverInclude", + "match": 1 + }, + // '0' matches to SnippetsRule.Default. Means the behavior is decided by language. + // '3' matches to SnippetsRule.IncludeAfterTypingIdentifierQuestionTab. It's the default behavior for Visual Basic + // Put both mapping here, so it's possible for unified setting to load '0' from the storage. + // Put '3' in front, so unifed settings would persist '3' to storage when 'includeAfterTypingIdentifierQuestionTab' is selected. + { + "result": "alwaysInclude", + "match": 2 + }, + { + "result": "includeAfterTypingIdentifierQuestionTab", + "match": 3 + }, + { + "result": "includeAfterTypingIdentifierQuestionTab", + "match": 0 + } + ] + } + } + }, + // CompletionOptionsStorage.EnterKeyBehavior + "textEditor.basic.intellisense.returnKeyCompletionBehavior": { + "title": "@Enter_key_behavior_colon;..\\Microsoft.VisualStudio.LanguageServices.VisualBasic.dll", + "type": "string", + "enum": [ "never", "afterFullyTypedWord", "always" ], + "enumItemLabels": [ "@Never_add_new_line_on_enter;{574fc912-f74f-4b4e-92c3-f695c208a2bb}", "@Only_add_new_line_on_enter_after_end_of_fully_typed_word;{574fc912-f74f-4b4e-92c3-f695c208a2bb}", "@Always_add_new_line_on_enter;{574fc912-f74f-4b4e-92c3-f695c208a2bb}" ], + "default": "always", + "order": 40, + "migration": { + "enumIntegerToString": { + "input": { + "store": "SettingsManager", + "path": "TextEditor.VisualBasic.Specific.EnterKeyBehavior" + }, + "map": [ + // '0' matches to EnterKeyRule.Default. Means the behavior is decided by langauge. + // '2' matches to EnterKeyRule.Alwasys. It's the default behavior for Visual Basic + // Put both mapping here, so it's possible for unified setting to load '0' from the storage. + // Put '2' in front, so unifed settings would persist '2' to storage when 'always' is selected. + { + "result": "never", + "match": 1 + }, + { + "result": "always", + "match": 2 + }, + { + "result": "always", + "match": 0 + }, + { + "result": "afterFullyTypedWord", + "match": 3 + } + ] + } + } + }, + // CompletionOptionsStorage.ShowItemsFromUnimportedNamespaces + "textEditor.basic.intellisense.showCompletionItemsFromUnimportedNamespaces": { + "title": "@Show_items_from_unimported_namespaces;..\\Microsoft.VisualStudio.LanguageServices.VisualBasic.dll", + "type": "boolean", + "default": true, + "order": 50, + "migration": { + "pass": { + "input": { + "store": "SettingsManager", + "path": "TextEditor.VisualBasic.Specific.ShowItemsFromUnimportedNamespaces" + } + } + } + }, + // CompletionViewOptionsStorage.EnableArgumentCompletionSnippets + "textEditor.basic.intellisense.enableArgumentCompletionSnippets": { + "title": "@Tab_twice_to_insert_arguments;..\\Microsoft.VisualStudio.LanguageServices.dll", + "type": "boolean", + "default": false, + "order": 60, + "migration": { + "pass": { + "input": { + "store": "SettingsManager", + "path": "TextEditor.VisualBasic.Specific.EnableArgumentCompletionSnippets" + } + } + } + } + }, + "categories": { + "textEditor.basic":{ + "title": "Visual Basic" + }, + "textEditor.basic.intellisense": { + "title": "@112;{574fc912-f74f-4b4e-92c3-f695c208a2bb}", + "legacyOptionPageId": "04460A3B-1B5F-4402-BC6D-89A4F6F0A8D7" + } + } +} diff --git a/src/VisualStudio/VisualBasic/Impl/VSPackage.resx b/src/VisualStudio/VisualBasic/Impl/VSPackage.resx index a77f0471bc1f1..00e7dc9bbac3c 100644 --- a/src/VisualStudio/VisualBasic/Impl/VSPackage.resx +++ b/src/VisualStudio/VisualBasic/Impl/VSPackage.resx @@ -208,4 +208,22 @@ Use enhanced colors;Editor Color Scheme;Inheritance Margin;Import Directives;Visual Basic Tools Help > About + + Always add new line on enter + + + Always include snippets + + + Include snippets when ?-Tab is typed after an identifier + + + Never add new line on enter + + + Never include snippets + + + Only add new line on enter after end of fully typed word + \ No newline at end of file diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.cs.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.cs.xlf index 84a1def04bec8..a095b351cce37 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.cs.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.cs.xlf @@ -272,21 +272,6 @@ _Při stisku Enter nikdy nepřidávat nový řádek - - Always include snippets - Vždy zahrnovat fragmenty - - - - Include snippets when ?-Tab is typed after an identifier - Zahrnovat fragmenty po zadání ?-Tab za identifikátor - - - - Never include snippets - Nikdy nezahrnovat fragmenty - - Snippets behavior Chování fragmentů diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.de.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.de.xlf index 25dd17f7e540f..63b9d71ab0553 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.de.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.de.xlf @@ -272,21 +272,6 @@ _Nie neue Zeile beim Drücken der EINGABETASTE einfügen - - Always include snippets - Schnipsel immer einschließen - - - - Include snippets when ?-Tab is typed after an identifier - Schnipsel einschließen, wenn ?-TAB nach einem Bezeichner eingegeben wird - - - - Never include snippets - Schnipsel nie einschließen - - Snippets behavior Schnipselverhalten diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.es.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.es.xlf index b9fac78124ec8..ecad7b68a9f27 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.es.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.es.xlf @@ -272,21 +272,6 @@ _No agregar nunca una nueva línea al presionar Entrar - - Always include snippets - Incluir siempre fragmentos de código - - - - Include snippets when ?-Tab is typed after an identifier - Incluir fragmentos de código cuando ?-Tab se escriba después de un identificador - - - - Never include snippets - No incluir nunca fragmentos de código - - Snippets behavior Comportamiento de los fragmentos de código diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.fr.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.fr.xlf index bc7b5d5411ccb..244dafeaadc9e 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.fr.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.fr.xlf @@ -272,21 +272,6 @@ _Ne jamais ajouter de nouvelle ligne après Entrée - - Always include snippets - Toujours inclure les extraits de code - - - - Include snippets when ?-Tab is typed after an identifier - Inclure les extraits de code quand ?-Tab est typé après un identificateur - - - - Never include snippets - Ne jamais inclure d'extrait de code - - Snippets behavior Comportement des extraits de code diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.it.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.it.xlf index 2875c1089924e..b8cbfe8759d4c 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.it.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.it.xlf @@ -272,21 +272,6 @@ _Non aggiungere mai una nuova riga dopo INVIO - - Always include snippets - Includi sempre i frammenti - - - - Include snippets when ?-Tab is typed after an identifier - Includi i frammenti quando si digita ?+TAB dopo un identificatore - - - - Never include snippets - Non includere mai i frammenti - - Snippets behavior Comportamento dei frammenti diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.ja.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.ja.xlf index 0d5f609496cd6..b12555f31c426 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.ja.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.ja.xlf @@ -272,21 +272,6 @@ Enter キーで新しい行を追加しない(_N) - - Always include snippets - 常にスニペットを含める - - - - Include snippets when ?-Tab is typed after an identifier - 識別子の後に ? Tab を入力したときにスニペットを含める - - - - Never include snippets - スニペットを含めない - - Snippets behavior スニペットの動作 diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.ko.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.ko.xlf index 44a0191e1b8d8..19878d608dcdf 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.ko.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.ko.xlf @@ -272,21 +272,6 @@ <Enter> 키를 누르면 새 줄 추가 안 함(_N) - - Always include snippets - 코드 조각 항상 포함 - - - - Include snippets when ?-Tab is typed after an identifier - 식별자 뒤에 ?-Tab을 입력하면 코드 조각 포함 - - - - Never include snippets - 코드 조각 포함 안 함 - - Snippets behavior 코드 조각 동작 diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.pl.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.pl.xlf index be4079612f862..821817918bd48 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.pl.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.pl.xlf @@ -272,21 +272,6 @@ _Nigdy nie dodawaj nowego wiersza po naciśnięciu klawisza Enter - - Always include snippets - Zawsze dołączaj fragmenty kodu - - - - Include snippets when ?-Tab is typed after an identifier - Dołącz fragmenty kodu po wpisaniu znaku ? po identyfikatorze i naciśnięciu klawisza Tab - - - - Never include snippets - Nigdy nie dołączaj fragmentów kodu - - Snippets behavior Zachowanie fragmentów kodu diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.pt-BR.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.pt-BR.xlf index 12bbbe50c8e6f..71f7adbfcc571 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.pt-BR.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.pt-BR.xlf @@ -272,21 +272,6 @@ _Nunca adicionar nova linha ao inserir - - Always include snippets - Sempre incluir snippets - - - - Include snippets when ?-Tab is typed after an identifier - Incluir snippets quando ?-Tab for digitado após um identificador - - - - Never include snippets - Nunca incluir snippets - - Snippets behavior Comportamento de snippets diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.ru.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.ru.xlf index 18e80b678e73e..2f19095174378 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.ru.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.ru.xlf @@ -272,21 +272,6 @@ _Никогда не добавлять новую строку при нажатии клавиши ВВОД - - Always include snippets - Всегда включать фрагменты кода - - - - Include snippets when ?-Tab is typed after an identifier - Включать фрагменты кода, когда после идентификатора указывается "?-Tab" - - - - Never include snippets - Никогда не включать фрагменты кода - - Snippets behavior Поведение фрагментов кода diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.tr.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.tr.xlf index d5186e12e001b..fe333e73dae87 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.tr.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.tr.xlf @@ -272,21 +272,6 @@ Enter tuşuna basıldığında _hiçbir zaman yeni satır ekleme - - Always include snippets - Kod parçacıklarını her zaman dahil et - - - - Include snippets when ?-Tab is typed after an identifier - Bir tanımlayıcıdan sonra ?-Tab yazılırsa kod parçacıklarını dahil et - - - - Never include snippets - Kod parçacıklarını hiçbir zaman dahil etme - - Snippets behavior Kod parçacığı davranışı diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.zh-Hans.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.zh-Hans.xlf index 5d3359de43850..4532d2fa79a4a 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.zh-Hans.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.zh-Hans.xlf @@ -272,21 +272,6 @@ 按下 Enter 时不添加新行(_N) - - Always include snippets - 始终包含片段 - - - - Include snippets when ?-Tab is typed after an identifier - 在标识符后键入 ?-Tab 时包含片段 - - - - Never include snippets - 从不包含片段 - - Snippets behavior 片段行为 diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.zh-Hant.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.zh-Hant.xlf index b912f0c3e7c4b..b1a8e9c40547a 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.zh-Hant.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/BasicVSResources.zh-Hant.xlf @@ -272,21 +272,6 @@ 永不在按下 Enter 鍵時加入新行(_N) - - Always include snippets - 一律包含程式碼片段 - - - - Include snippets when ?-Tab is typed after an identifier - 在識別碼後輸入 ?-Tab 時包含程式碼片段 - - - - Never include snippets - 一律不包含程式碼片段 - - Snippets behavior 程式碼片段行為 diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.cs.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.cs.xlf index 89b8f916f76d4..276c0e8c18faf 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.cs.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.cs.xlf @@ -130,6 +130,36 @@ Používat rozšířené barvy;Barevné schéma editoru;Okraj dědičnosti;Direk Nástroje Visual Basicu Help > About + + Always add new line on enter + Always add new line on enter + + + + Always include snippets + Always include snippets + + + + Include snippets when ?-Tab is typed after an identifier + Include snippets when ?-Tab is typed after an identifier + + + + Never add new line on enter + Never add new line on enter + + + + Never include snippets + Never include snippets + + + + Only add new line on enter after end of fully typed word + Only add new line on enter after end of fully typed word + + \ No newline at end of file diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.de.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.de.xlf index 5f0cd72bc7208..a3e9414b14f48 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.de.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.de.xlf @@ -130,6 +130,36 @@ Erweiterte Farben verwenden;Editor-Farbschema;Vererbungsspielraum;Richtlinien im Visual Basic-Tools Help > About + + Always add new line on enter + Always add new line on enter + + + + Always include snippets + Always include snippets + + + + Include snippets when ?-Tab is typed after an identifier + Include snippets when ?-Tab is typed after an identifier + + + + Never add new line on enter + Never add new line on enter + + + + Never include snippets + Never include snippets + + + + Only add new line on enter after end of fully typed word + Only add new line on enter after end of fully typed word + + \ No newline at end of file diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.es.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.es.xlf index 8a092b2a86686..a318fc614937a 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.es.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.es.xlf @@ -130,6 +130,36 @@ Usar colores mejorados;Combinación de colores del editor;Margen de herencia;Dir Herramientas de Visual Basic Help > About + + Always add new line on enter + Always add new line on enter + + + + Always include snippets + Always include snippets + + + + Include snippets when ?-Tab is typed after an identifier + Include snippets when ?-Tab is typed after an identifier + + + + Never add new line on enter + Never add new line on enter + + + + Never include snippets + Never include snippets + + + + Only add new line on enter after end of fully typed word + Only add new line on enter after end of fully typed word + + \ No newline at end of file diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.fr.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.fr.xlf index 6f9d5251b0861..d202187102890 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.fr.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.fr.xlf @@ -130,6 +130,36 @@ Utiliser des couleurs améliorées ; Modèle de couleurs de l’éditeur;Marge d Outils Visual Basic Help > About + + Always add new line on enter + Always add new line on enter + + + + Always include snippets + Always include snippets + + + + Include snippets when ?-Tab is typed after an identifier + Include snippets when ?-Tab is typed after an identifier + + + + Never add new line on enter + Never add new line on enter + + + + Never include snippets + Never include snippets + + + + Only add new line on enter after end of fully typed word + Only add new line on enter after end of fully typed word + + \ No newline at end of file diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.it.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.it.xlf index 05ead449eda01..0ffbe854456b1 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.it.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.it.xlf @@ -130,6 +130,36 @@ Usare colori avanzati; Combinazione colori editor;Margine di ereditarietà;Diret Strumenti di Visual Basic Help > About + + Always add new line on enter + Always add new line on enter + + + + Always include snippets + Always include snippets + + + + Include snippets when ?-Tab is typed after an identifier + Include snippets when ?-Tab is typed after an identifier + + + + Never add new line on enter + Never add new line on enter + + + + Never include snippets + Never include snippets + + + + Only add new line on enter after end of fully typed word + Only add new line on enter after end of fully typed word + + \ No newline at end of file diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.ja.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.ja.xlf index c4cb8c5e5ff15..8b06a20801ee9 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.ja.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.ja.xlf @@ -130,6 +130,36 @@ JSON 文字列のエディター機能の検出と提供; Visual Basic ツール Help > About + + Always add new line on enter + Always add new line on enter + + + + Always include snippets + Always include snippets + + + + Include snippets when ?-Tab is typed after an identifier + Include snippets when ?-Tab is typed after an identifier + + + + Never add new line on enter + Never add new line on enter + + + + Never include snippets + Never include snippets + + + + Only add new line on enter after end of fully typed word + Only add new line on enter after end of fully typed word + + \ No newline at end of file diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.ko.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.ko.xlf index b43840a0f901b..efb4258efa09a 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.ko.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.ko.xlf @@ -130,6 +130,36 @@ JSON 문자열 색상 지정, Visual Basic 도구 Help > About + + Always add new line on enter + Always add new line on enter + + + + Always include snippets + Always include snippets + + + + Include snippets when ?-Tab is typed after an identifier + Include snippets when ?-Tab is typed after an identifier + + + + Never add new line on enter + Never add new line on enter + + + + Never include snippets + Never include snippets + + + + Only add new line on enter after end of fully typed word + Only add new line on enter after end of fully typed word + + \ No newline at end of file diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.pl.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.pl.xlf index dfc04b5da1e7f..2a996c13f65dd 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.pl.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.pl.xlf @@ -130,6 +130,36 @@ Używanie rozszerzonych kolorów; Schemat kolorów edytora;Margines dziedziczeni Narzędzia języka Visual Basic Help > About + + Always add new line on enter + Always add new line on enter + + + + Always include snippets + Always include snippets + + + + Include snippets when ?-Tab is typed after an identifier + Include snippets when ?-Tab is typed after an identifier + + + + Never add new line on enter + Never add new line on enter + + + + Never include snippets + Never include snippets + + + + Only add new line on enter after end of fully typed word + Only add new line on enter after end of fully typed word + + \ No newline at end of file diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.pt-BR.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.pt-BR.xlf index 7a64fb3e6120b..88970da2f6d56 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.pt-BR.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.pt-BR.xlf @@ -130,6 +130,36 @@ Usar cores aprimoradas;Esquema de Cores do Editor;Margem de Herança;Importar Di Ferramentas do Visual Basic Help > About + + Always add new line on enter + Always add new line on enter + + + + Always include snippets + Always include snippets + + + + Include snippets when ?-Tab is typed after an identifier + Include snippets when ?-Tab is typed after an identifier + + + + Never add new line on enter + Never add new line on enter + + + + Never include snippets + Never include snippets + + + + Only add new line on enter after end of fully typed word + Only add new line on enter after end of fully typed word + + \ No newline at end of file diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.ru.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.ru.xlf index b0315632359ad..63dbfc68c0bb5 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.ru.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.ru.xlf @@ -130,6 +130,36 @@ JSON; Инструменты Visual Basic Help > About + + Always add new line on enter + Always add new line on enter + + + + Always include snippets + Always include snippets + + + + Include snippets when ?-Tab is typed after an identifier + Include snippets when ?-Tab is typed after an identifier + + + + Never add new line on enter + Never add new line on enter + + + + Never include snippets + Never include snippets + + + + Only add new line on enter after end of fully typed word + Only add new line on enter after end of fully typed word + + \ No newline at end of file diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.tr.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.tr.xlf index 7c8826d805575..10bf015c805aa 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.tr.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.tr.xlf @@ -130,6 +130,36 @@ Gelişmiş renkleri kullan;Düzenleyici Renk Düzeni;Devralma Kenar Boşluğu;İ Visual Basic Araçları Help > About + + Always add new line on enter + Always add new line on enter + + + + Always include snippets + Always include snippets + + + + Include snippets when ?-Tab is typed after an identifier + Include snippets when ?-Tab is typed after an identifier + + + + Never add new line on enter + Never add new line on enter + + + + Never include snippets + Never include snippets + + + + Only add new line on enter after end of fully typed word + Only add new line on enter after end of fully typed word + + \ No newline at end of file diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.zh-Hans.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.zh-Hans.xlf index 8e6b9e052b60d..9dc70f453cd84 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.zh-Hans.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.zh-Hans.xlf @@ -130,6 +130,36 @@ JSON; Visual Basic 工具 Help > About + + Always add new line on enter + Always add new line on enter + + + + Always include snippets + Always include snippets + + + + Include snippets when ?-Tab is typed after an identifier + Include snippets when ?-Tab is typed after an identifier + + + + Never add new line on enter + Never add new line on enter + + + + Never include snippets + Never include snippets + + + + Only add new line on enter after end of fully typed word + Only add new line on enter after end of fully typed word + + \ No newline at end of file diff --git a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.zh-Hant.xlf b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.zh-Hant.xlf index 5784a3d19b718..06fd1d217bfde 100644 --- a/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.zh-Hant.xlf +++ b/src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.zh-Hant.xlf @@ -130,6 +130,36 @@ JSON; Visual Basic 工具 Help > About + + Always add new line on enter + Always add new line on enter + + + + Always include snippets + Always include snippets + + + + Include snippets when ?-Tab is typed after an identifier + Include snippets when ?-Tab is typed after an identifier + + + + Never add new line on enter + Never add new line on enter + + + + Never include snippets + Never include snippets + + + + Only add new line on enter after end of fully typed word + Only add new line on enter after end of fully typed word + + \ No newline at end of file