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