Ian*_*Ian 14 intellisense xaml editor visual-studio-2010
在Visual Studio C#文本编辑器中,当您需要属性时,只需键入prop
然后单击选项卡TWICE以获取属性的"代码段"/模板.Type和属性名称都会突出显示.如果要在类型和属性之间切换,请按Tab键,然后在完成后按Enter键,光标将跳转到属性的末尾.
在WPF XAML编辑器中,按"Enter"将创建换行符.就像你键入以下内容一样:
<TextBox x:
Run Code Online (Sandbox Code Playgroud)
当您从IntelliSense中选择"名称"属性时,它将为您提供以下内容:
<TextBox x:Name="_"
Run Code Online (Sandbox Code Playgroud)
_表示您当前的光标位置.
给Name一个值,比如文本框,然后按Enter
.此时,我希望我的光标像这样跳到最后:
<TextBox x:Name="textbox"_
Run Code Online (Sandbox Code Playgroud)
但它会像这样创建一个换行符:
<TextBox x:Name="textbox
_"
Run Code Online (Sandbox Code Playgroud)
这种行为让我烦恼.而不是按Enter
,而是按下End
键.
我如何得到我的预期行为?
PS:我是WPF和XAML的新手.
另一个更简单的解决方案是重新绑定操作Edit.WordNext的快捷键.
默认情况下,它设置为Ctrl + RightArrow.在visual studio中,转到TOOLS-> Options-> Environment-> Keyboard.
我喜欢将它绑定到Shift + Space,所以我不必使用箭头键.当你完成输入xaml属性并且光标位于结束引号的左侧时,点击Shift + Space并跳转到标记的右侧,这样你就可以继续键入其余的属性.
比使用宏容易得多.
小智 7
那也总是让我恼火.一种选择是创建一个简单的宏.
如果您按照上述步骤操作,Visual Studio将生成以下宏代码,如果您按下Alt-F8并打开RecordingModule.TemporaryMacro ,您可以看到:
DTE.ActiveDocument.Selection.EndOfLine()
DTE.ActiveDocument.Selection.NewLine()
Run Code Online (Sandbox Code Playgroud)
您现在可以运行此宏Ctrl-Shift-P,但此时它只是一个临时宏.您应该保存它并将其分配给键盘快捷键.
所以现在,不要动手按End,然后按Enter,你可以按Ctrl-Enter.
我还记录了另一个移动到行尾的宏,并为我输入"/>",并将其附加到Ctrl-/.代码VS生成如下所示:
DTE.ActiveDocument.Selection.EndOfLine()
DTE.ActiveDocument.Selection.Text = " />"
DTE.ActiveDocument.Selection.NewLine()
Run Code Online (Sandbox Code Playgroud)
所有这些宏的替代方法是关闭自动引号.打开"工具"菜单,然后转到"选项","文本编辑器","XAML","其他".取消选中自动插入属性引号的选项.然后它不会为你添加结束报价,你也不必使用arrow keys或End键(当然,你现在必须输入结束报价).
归档时间: |
|
查看次数: |
2038 次 |
最近记录: |