Intellisense<%=意图<%@ Assembly =返回

时间:2009-08-26 11:39:57

标签: asp.net-mvc visual-studio-2008 ide intellisense

当我编辑我的aspnetmvc视图时,我开始使用代码括号:

<%

和intellisense弹出像

这样的项目

<%@ Assembly ... <%@ Control ... <%@ etc ......

这很好,但当我继续我的线并按[=]键时,它会自动选择 <%@ Assembly =%>并完成我的标签。

这不是什么大不了的事,但确实让我感到沮丧,特别是在编辑丢失字段的表格时。

过去有没有人遇到过这个问题,有没有办法在我点击[=]时将<%=添加到intellisense或停止返回其他指令。

我记得在Phil Haacks最近的一次演示中看到同样的问题(他说的是“那是什么?”然后继续)但是我不记得是哪一个。

感谢您的帮助,

哈尔

3 个答案:

答案 0 :(得分:1)

或者有简单的解决方案:)

按下以下键:< % Esc =

答案 1 :(得分:0)

我想我找到了答案。我创建了以下宏:

Option Strict Off
Option Explicit Off
Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports System.Diagnostics

Public Module RecordingModule


    Sub CleanupImplementedInterface()
    DTE.ActiveDocument.Selection.LineDown(True, 7)
    DTE.ActiveDocument.Selection.Text = " {get"
    DTE.ActiveDocument.Selection.DeleteLeft(3)
    DTE.ActiveDocument.Selection.Text = " get; set; }"
    DTE.ActiveDocument.Selection.CharRight
    DTE.ExecuteCommand ("Edit.Replace")
    DTE.Find.FindWhat = " {"
    DTE.Find.Target = vsFindTarget.vsFindTargetCurrentDocument
    DTE.Find.MatchCase = False
    DTE.Find.MatchWholeWord = False
    DTE.Find.Backwards = False
    DTE.Find.MatchInHiddenText = True
    DTE.Find.PatternSyntax = vsFindPatternSyntax.vsFindPatternSyntaxLiteral
    DTE.Find.Action = vsFindAction.vsFindActionFind
    If(DTE.Find.Execute() = vsFindResult.vsFindResultNotFound) Then
Throw New System.Exception("vsFindResultNotFound")
End If
    DTE.Windows.Item("{CF2DDC32-8CAD-11D2-9302-005345000000}").Close
    DTE.ActiveDocument.Selection.CharLeft
    End Sub
    Sub Brackets()
    DTE.ActiveDocument.Selection.Text = "<%="
    End Sub
End Module

然后在IDE中,我打开了Tools&gt;选项&gt;环境&gt; Keybord

在“显示命令包含:”文本框中,我输入了我的宏名称。

然后我在“使用新的快捷方式:”下拉框中选择了“Html源编辑器”,并按下快捷键Alt-B。

现在,每当我需要一个括号,而不是使用intellisense时,我只需在编辑器中按Alt-B。

丑陋但可行的解决方案。希望他们能在2010年解决这个问题。没看过。

答案 2 :(得分:0)

键入Cntl-Z两次,自动更改将被撤消。您可以针对任何不需要的Intellisense建议执行此操作。