Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
6e456b60
R
roslyn
项目概览
lwm1986
/
roslyn
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
roslyn
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
6e456b60
编写于
12月 16, 2016
作者:
H
Heejae Chang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
added navigate to, FAR OOP options to Roslyn Option page
上级
653bc642
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
34 addition
and
21 deletion
+34
-21
src/VisualStudio/VisualStudioDiagnosticsToolWindow/OptionPages/InternalFeaturesOnOffPage.cs
...osticsToolWindow/OptionPages/InternalFeaturesOnOffPage.cs
+17
-14
src/VisualStudio/VisualStudioDiagnosticsToolWindow/OptionPages/InternalOptionsControl.cs
...agnosticsToolWindow/OptionPages/InternalOptionsControl.cs
+17
-7
未找到文件。
src/VisualStudio/VisualStudioDiagnosticsToolWindow/OptionPages/InternalFeaturesOnOffPage.cs
浏览文件 @
6e456b60
// 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.Collections.Generic
;
using
System.Runtime.InteropServices
;
using
System.Linq
;
using
System.Threading
;
using
System.Threading.Tasks
;
using
System.Windows
;
using
System.Windows.Controls
;
using
System.Windows.Data
;
using
Microsoft.CodeAnalysis
;
using
Microsoft.CodeAnalysis.Options
;
using
Microsoft.CodeAnalysis.Editor.Shared.Options
;
using
Microsoft.CodeAnalysis.FindSymbols
;
using
Microsoft.CodeAnalysis.NavigateTo
;
using
Microsoft.CodeAnalysis.SymbolSearch
;
using
Microsoft.VisualStudio.LanguageServices
;
using
Microsoft.VisualStudio.LanguageServices.Implementation.Options
;
using
Roslyn.Utilities
;
namespace
Roslyn.VisualStudio.DiagnosticsWindow.OptionsPages
{
...
...
@@ -36,19 +30,28 @@ public InternalFeaturesOptionsControl(string featureOptionName, IServiceProvider
protected
override
void
AddOptions
(
Panel
panel
)
{
// add force low memory mode option
var
g
roup
=
new
WrapPanel
();
var
lowMemoryG
roup
=
new
WrapPanel
();
var
cb
=
new
CheckBox
{
Content
=
"Forced Low Memory Mode: allocate"
};
BindToOption
(
cb
,
ForceLowMemoryMode
.
Enabled
);
g
roup
.
Children
.
Add
(
cb
);
lowMemoryG
roup
.
Children
.
Add
(
cb
);
var
textBox
=
new
TextBox
{
MinWidth
=
60
};
BindToOption
(
textBox
,
ForceLowMemoryMode
.
SizeInMegabytes
);
g
roup
.
Children
.
Add
(
textBox
);
lowMemoryG
roup
.
Children
.
Add
(
textBox
);
g
roup
.
Children
.
Add
(
new
TextBlock
{
Text
=
"megabytes of extra memory in devenv.exe"
});
lowMemoryG
roup
.
Children
.
Add
(
new
TextBlock
{
Text
=
"megabytes of extra memory in devenv.exe"
});
panel
.
Children
.
Add
(
group
);
panel
.
Children
.
Add
(
lowMemoryGroup
);
// add OOP feature options
var
oopFeatureGroup
=
new
StackPanel
();
AddOption
(
oopFeatureGroup
,
NavigateToOptions
.
OutOfProcessAllowed
,
nameof
(
NavigateToOptions
));
AddOption
(
oopFeatureGroup
,
SymbolFinderOptions
.
OutOfProcessAllowed
,
nameof
(
SymbolFinderOptions
));
AddOption
(
oopFeatureGroup
,
SymbolSearchOptions
.
OutOfProcessAllowed
,
nameof
(
SymbolSearchOptions
));
panel
.
Children
.
Add
(
oopFeatureGroup
);
// and add the rest of the options
base
.
AddOptions
(
panel
);
...
...
src/VisualStudio/VisualStudioDiagnosticsToolWindow/OptionPages/InternalOptionsControl.cs
浏览文件 @
6e456b60
...
...
@@ -59,36 +59,36 @@ protected virtual void AddOptions(Panel panel)
}
}
pr
ivate
void
AddOption
(
Panel
panel
,
IOption
option
)
pr
otected
void
AddOption
(
Panel
panel
,
IOption
option
,
string
additional
=
null
)
{
var
uiElement
=
CreateControl
(
option
);
var
uiElement
=
CreateControl
(
option
,
additional
:
additional
);
if
(
uiElement
!=
null
)
{
panel
.
Children
.
Add
(
uiElement
);
}
}
pr
ivate
void
AddPerLanguageOption
(
Panel
panel
,
IOption
option
,
string
languageName
)
pr
otected
void
AddPerLanguageOption
(
Panel
panel
,
IOption
option
,
string
languageName
,
string
additional
=
null
)
{
var
uiElement
=
CreateControl
(
option
,
languageName
);
var
uiElement
=
CreateControl
(
option
,
languageName
,
additional
);
if
(
uiElement
!=
null
)
{
panel
.
Children
.
Add
(
uiElement
);
}
}
private
UIElement
CreateControl
(
IOption
option
,
string
languageName
=
null
)
private
UIElement
CreateControl
(
IOption
option
,
string
languageName
=
null
,
string
additional
=
null
)
{
if
(
option
.
Type
==
typeof
(
bool
))
{
var
checkBox
=
new
CheckBox
()
{
Content
=
option
.
Name
+
GetLanguage
(
languageName
)
};
var
checkBox
=
new
CheckBox
()
{
Content
=
option
.
Name
+
GetLanguage
(
languageName
)
+
GetAdditionalText
(
additional
)
};
BindToCheckBox
(
checkBox
,
option
,
languageName
);
return
checkBox
;
}
if
(
option
.
Type
==
typeof
(
int
))
{
var
label
=
new
Label
()
{
Content
=
option
.
Name
+
GetLanguage
(
languageName
)
};
var
label
=
new
Label
()
{
Content
=
option
.
Name
+
GetLanguage
(
languageName
)
+
GetAdditionalText
(
additional
)
};
var
textBox
=
new
TextBox
();
BindToTextBox
(
textBox
,
option
,
languageName
);
...
...
@@ -102,6 +102,16 @@ private UIElement CreateControl(IOption option, string languageName = null)
return
null
;
}
private
string
GetAdditionalText
(
string
additional
)
{
if
(
additional
==
null
)
{
return
string
.
Empty
;
}
return
" ["
+
additional
+
"]"
;
}
private
string
GetLanguage
(
string
languageName
)
{
if
(
languageName
==
null
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录