Skip to content
Merged
Show file tree
Hide file tree
Changes from 15 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ Namespace Microsoft.VisualStudio.LanguageServices.VisualBasic
<ProvideLanguageEditorOptionPage(GetType(CodeStylePage), "Basic", "Code Style", "General", "#111", 10161)>
<ProvideLanguageEditorOptionPage(GetType(NamingStylesOptionPage), "Basic", "Code Style", "Naming", "#110", 10162)>
<ProvideLanguageEditorOptionPage(GetType(IntelliSenseOptionPage), "Basic", Nothing, "IntelliSense", "#112", 312)>
<ProvideSettingsManifest(PackageRelativeManifestFile:="UnifiedSettings\visualBasicSettings.registration.json")>
<Guid(Guids.VisualBasicPackageIdString)>
Friend NotInheritable Class VisualBasicPackage
Inherits AbstractPackage(Of VisualBasicPackage, VisualBasicLanguageService)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,12 @@
<GeneratePkgDefFile>true</GeneratePkgDefFile>
<DeployExtension>false</DeployExtension>
</PropertyGroup>
<ItemGroup>
<Content Include="UnifiedSettings\visualBasicSettings.registration.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<IncludeInVSIX>true</IncludeInVSIX>
</Content>
</ItemGroup>
<ItemGroup Label="PkgDef">
<PkgDefInstalledProduct Include="{574fc912-f74f-4b4e-92c3-f695c208a2bb}" Name="Microsoft Visual Basic" DisplayName="#113" ProductDetails="#114" />
<!-- Cannot load in background until the VisualBasicPackage constructor has no more UI dependencies -->
Expand Down Expand Up @@ -44,7 +50,7 @@
</ItemGroup>
<ItemGroup>
<Import Include="Roslyn.Utilities" />
<Import Include="System.Threading.Tasks"/>
<Import Include="System.Threading.Tasks" />
<Import Include="System.Xml.Linq" />
</ItemGroup>
<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -188,4 +188,11 @@
"Indent Style"=dword:00000002

[$RootKey$\VB Editor\Roslyn]
"DisplayLineSeparators"=dword:00000001
"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:08DC1824DFE0117B
Comment thread
Cosifne marked this conversation as resolved.
Outdated
Original file line number Diff line number Diff line change
@@ -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": "EDE66829-7A36-4c5d-8E20-9290195DCF80"
}
}
}
18 changes: 18 additions & 0 deletions src/VisualStudio/VisualBasic/Impl/VSPackage.resx
Original file line number Diff line number Diff line change
Expand Up @@ -214,4 +214,22 @@ Use enhanced colors;Editor Color Scheme;Inheritance Margin;Import Directives;</v
<data name="An_empty_Visual_Basic_script_file" xml:space="preserve">
<value>An empty Visual Basic script file.</value>
</data>
<data name="Always_add_new_line_on_enter" xml:space="preserve">

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need this because unified settings's enum label can only read from package resources now

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we remove the corresponding strings from their original location, and reference these from the legacy settings page instead?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Possible, let me check the LOC time line

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not all of them, some strings in our exsiting page have _ prefix, like:
image for accessiblity purpose

But the _ will be displayed in unified settings page

<value>Always add new line on enter</value>
</data>
<data name="Always_include_snippets" xml:space="preserve">
<value>Always include snippets</value>
</data>
<data name="Include_snippets_when_Tab_is_typed_after_an_identifier" xml:space="preserve">
<value>Include snippets when ?-Tab is typed after an identifier</value>
</data>
<data name="Never_add_new_line_on_enter" xml:space="preserve">
<value>Never add new line on enter</value>
</data>
<data name="Never_include_snippets" xml:space="preserve">
<value>Never include snippets</value>
</data>
<data name="Only_add_new_line_on_enter_after_end_of_fully_typed_word" xml:space="preserve">
<value>Only add new line on enter after end of fully typed word</value>
</data>
</root>
30 changes: 30 additions & 0 deletions src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.cs.xlf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

30 changes: 30 additions & 0 deletions src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.de.xlf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

30 changes: 30 additions & 0 deletions src/VisualStudio/VisualBasic/Impl/xlf/VSPackage.es.xlf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading