提交 619213b5 编写于 作者: J JieCarolHu 提交者: Sam Harwell

add text and hyperlink to C# code style page

上级 3c1643f3
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
xmlns:converters="clr-namespace:Microsoft.VisualStudio.LanguageServices.Implementation.Options.Converters" xmlns:converters="clr-namespace:Microsoft.VisualStudio.LanguageServices.Implementation.Options.Converters"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:options="clr-namespace:Microsoft.VisualStudio.LanguageServices.Implementation.Options" xmlns:options="clr-namespace:Microsoft.VisualStudio.LanguageServices.Implementation.Options"
xmlns:imaging="clr-namespace:Microsoft.VisualStudio.Imaging;assembly=Microsoft.VisualStudio.Imaging" xmlns:imaging="clr-namespace:Microsoft.VisualStudio.Imaging;assembly=Microsoft.VisualStudio.Imaging"
...@@ -21,9 +21,9 @@ ...@@ -21,9 +21,9 @@
<Setter.Value> <Setter.Value>
<Style TargetType="DataGridCell"> <Style TargetType="DataGridCell">
<Setter Property="BorderThickness" Value="1" /> <Setter Property="BorderThickness" Value="1" />
<Setter Property="IsTabStop" <Setter Property="IsTabStop"
Value="{Binding Value="{Binding
Path=Column, Path=Column,
Converter={StaticResource ColumnToTabStopConverter}, Converter={StaticResource ColumnToTabStopConverter},
RelativeSource={RelativeSource Self}}"/> RelativeSource={RelativeSource Self}}"/>
</Style> </Style>
...@@ -35,12 +35,18 @@ ...@@ -35,12 +35,18 @@
<converters:MarginConverter x:Key="MarginConverter" /> <converters:MarginConverter x:Key="MarginConverter" />
</Grid.Resources> </Grid.Resources>
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="30" />
<RowDefinition Height="*" /> <RowDefinition Height="*" />
<RowDefinition Height="5" /> <RowDefinition Height="5" />
<RowDefinition Height="*" /> <RowDefinition Height="*" />
</Grid.RowDefinitions> </Grid.RowDefinitions>
<TextBlock Text="{x:Static local:GridOptionPreviewControl.CodeStylePageHeader}" >
<Hyperlink RequestNavigate="LearnMoreHyperlink_RequestNavigate" NavigateUri="{x:Static local:GridOptionPreviewControl.CodeStylePageHeaderLearnMoreUri}">
<TextBlock Text="{x:Static local:GridOptionPreviewControl.CodeStylePageHeaderLearnMoreText}"/>
</Hyperlink>
</TextBlock>
<DataGrid <DataGrid
Grid.Row="0" Grid.Row="1"
x:Uid="CodeStyleContent" x:Uid="CodeStyleContent"
x:Name="CodeStyleMembers" x:Name="CodeStyleMembers"
Margin="0,5,0,0" Margin="0,5,0,0"
...@@ -88,7 +94,7 @@ ...@@ -88,7 +94,7 @@
</DataGrid.GroupStyle> </DataGrid.GroupStyle>
<DataGrid.Columns> <DataGrid.Columns>
<DataGridTemplateColumn <DataGridTemplateColumn
x:Name="description" x:Name="description"
Header="{x:Static local:GridOptionPreviewControl.DescriptionHeader}" Header="{x:Static local:GridOptionPreviewControl.DescriptionHeader}"
Width="4.5*" Width="4.5*"
IsReadOnly="True"> IsReadOnly="True">
...@@ -106,8 +112,8 @@ ...@@ -106,8 +112,8 @@
</DataTemplate> </DataTemplate>
</DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn> </DataGridTemplateColumn>
<DataGridTemplateColumn <DataGridTemplateColumn
x:Name="preference" x:Name="preference"
Header="{x:Static local:GridOptionPreviewControl.PreferenceHeader}" Header="{x:Static local:GridOptionPreviewControl.PreferenceHeader}"
Width="3*"> Width="3*">
<DataGridTemplateColumn.CellTemplate> <DataGridTemplateColumn.CellTemplate>
...@@ -115,7 +121,7 @@ ...@@ -115,7 +121,7 @@
<ComboBox <ComboBox
ItemsSource="{Binding Preferences}" ItemsSource="{Binding Preferences}"
DisplayMemberPath="Name" DisplayMemberPath="Name"
SelectedItem="{Binding SelectedPreference, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" SelectedItem="{Binding SelectedPreference, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
VerticalContentAlignment="Center" VerticalContentAlignment="Center"
HorizontalContentAlignment="Left"> HorizontalContentAlignment="Left">
<ComboBox.ItemContainerStyle> <ComboBox.ItemContainerStyle>
...@@ -127,8 +133,8 @@ ...@@ -127,8 +133,8 @@
</DataTemplate> </DataTemplate>
</DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn> </DataGridTemplateColumn>
<DataGridTemplateColumn <DataGridTemplateColumn
x:Name="severity" x:Name="severity"
Header="{x:Static local:GridOptionPreviewControl.SeverityHeader}" Header="{x:Static local:GridOptionPreviewControl.SeverityHeader}"
Width="2.5*"> Width="2.5*">
<DataGridTemplateColumn.CellTemplate> <DataGridTemplateColumn.CellTemplate>
...@@ -147,12 +153,12 @@ ...@@ -147,12 +153,12 @@
<ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<imaging:CrispImage <imaging:CrispImage
Height="16" Height="16"
Width="16" Width="16"
Moniker="{Binding Moniker}" Moniker="{Binding Moniker}"
Grid.Column="0"/> Grid.Column="0"/>
<TextBlock <TextBlock
Margin="5, 0, 0, 0" Margin="5, 0, 0, 0"
Text="{Binding Notification}" Text="{Binding Notification}"
Grid.Column="1"/> Grid.Column="1"/>
</Grid> </Grid>
...@@ -169,8 +175,8 @@ ...@@ -169,8 +175,8 @@
</DataGridTemplateColumn> </DataGridTemplateColumn>
</DataGrid.Columns> </DataGrid.Columns>
</DataGrid> </DataGrid>
<GridSplitter Grid.Row="1" HorizontalAlignment="Stretch"></GridSplitter> <GridSplitter Grid.Row="2" HorizontalAlignment="Stretch"></GridSplitter>
<Border Grid.Row="2" BorderBrush="Gray" BorderThickness="1"> <Border Grid.Row="3" BorderBrush="Gray" BorderThickness="1">
<ContentControl Name="EditorControl" Content="{Binding TextViewHost, Mode=OneWay}" Focusable="False"></ContentControl> <ContentControl Name="EditorControl" Content="{Binding TextViewHost, Mode=OneWay}" Focusable="False"></ContentControl>
</Border> </Border>
</Grid> </Grid>
......
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System; using System;
using System.Diagnostics;
using System.Linq; using System.Linq;
using System.Windows;
using System.Windows.Controls; using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input; using System.Windows.Input;
using System.Windows.Navigation;
using Microsoft.CodeAnalysis.Diagnostics.Log;
using Microsoft.CodeAnalysis.Options; using Microsoft.CodeAnalysis.Options;
using Microsoft.VisualStudio.LanguageServices.Implementation.Utilities;
namespace Microsoft.VisualStudio.LanguageServices.Implementation.Options namespace Microsoft.VisualStudio.LanguageServices.Implementation.Options
{ {
...@@ -14,13 +20,16 @@ internal partial class GridOptionPreviewControl : AbstractOptionPageControl ...@@ -14,13 +20,16 @@ internal partial class GridOptionPreviewControl : AbstractOptionPageControl
private readonly IServiceProvider _serviceProvider; private readonly IServiceProvider _serviceProvider;
private readonly Func<OptionSet, IServiceProvider, AbstractOptionPreviewViewModel> _createViewModel; private readonly Func<OptionSet, IServiceProvider, AbstractOptionPreviewViewModel> _createViewModel;
public static string CodeStylePageHeader = "The settings configured here only apply to your machine. To configure these settings to travel with your solution, use EditorConfig. ";
public static string CodeStylePageHeaderLearnMoreText = "Learn more";
public static Uri CodeStylePageHeaderLearnMoreUri = new Uri("https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference");
public static string DescriptionHeader => ServicesVSResources.Description; public static string DescriptionHeader => ServicesVSResources.Description;
public static string PreferenceHeader => ServicesVSResources.Preference; public static string PreferenceHeader => ServicesVSResources.Preference;
public static string SeverityHeader => ServicesVSResources.Severity; public static string SeverityHeader => ServicesVSResources.Severity;
internal GridOptionPreviewControl(IServiceProvider serviceProvider, internal GridOptionPreviewControl(IServiceProvider serviceProvider,
Func<OptionSet, IServiceProvider, Func<OptionSet, IServiceProvider,
AbstractOptionPreviewViewModel> createViewModel) AbstractOptionPreviewViewModel> createViewModel)
: base(serviceProvider) : base(serviceProvider)
{ {
InitializeComponent(); InitializeComponent();
...@@ -29,6 +38,17 @@ internal partial class GridOptionPreviewControl : AbstractOptionPageControl ...@@ -29,6 +38,17 @@ internal partial class GridOptionPreviewControl : AbstractOptionPageControl
_createViewModel = createViewModel; _createViewModel = createViewModel;
} }
private void LearnMoreHyperlink_RequestNavigate(object sender, RequestNavigateEventArgs e)
{
if (e.Uri == null)
{
return;
}
BrowserHelper.StartBrowser(e.Uri);
e.Handled = true;
}
private void Options_SelectionChanged(object sender, SelectionChangedEventArgs e) private void Options_SelectionChanged(object sender, SelectionChangedEventArgs e)
{ {
var dataGrid = (DataGrid)sender; var dataGrid = (DataGrid)sender;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册