Visual studio 在VisualStudio2008中以编程方式强制大写?
在VisualStudio2008中,以编程方式强制关键字大写的最简单方法是什么 我们使用专有的命令分隔语言(如HTML)。我们正在尝试从较旧的编辑器迁移到VisualStudio2008。我们的编码标准是将命令大写。对旧编辑器进行了自定义,以识别命令begin delimiter并强制大写,直到键入结束分隔符或按escape键为止 在VisualStudio2008中,最好的方法是什么?可以用宏或外接程序完成吗 (编辑日期:1-12-2009) 谢谢你到目前为止的建议。我想他们没有回答我的问题 澄清:Visual studio 在VisualStudio2008中以编程方式强制大写?,visual-studio,visual-studio-2008,customization,Visual Studio,Visual Studio 2008,Customization,在VisualStudio2008中,以编程方式强制关键字大写的最简单方法是什么 我们使用专有的命令分隔语言(如HTML)。我们正在尝试从较旧的编辑器迁移到VisualStudio2008。我们的编码标准是将命令大写。对旧编辑器进行了自定义,以识别命令begin delimiter并强制大写,直到键入结束分隔符或按escape键为止 在VisualStudio2008中,最好的方法是什么?可以用宏或外接程序完成吗 (编辑日期:1-12-2009) 谢谢你到目前为止的建议。我想他们没有回答我的问题
- 以前的编辑器是CodeWright,因此那里的自定义设置无法移植到visual studio
- 源代码不是C#。StyleCop似乎是专门为C#设计的。我们的语言与HTML等标记语言类似,但具有不同的分隔符和命令
- 我试图将开发人员的类型实际资本化,而不是提醒他们适当的资本化。由于命令都是分隔的,所以当前编辑器在键入起始分隔符时实际上会打开大写锁定。按下结束分隔符或escape键时,caps lock将关闭。这与键盘上大写锁定的状态无关
如果您要从较旧版本的Visual Studio迁移,则可以只导入旧设置和自定义标记 试用,可从Microsoft网站获得。您可能需要根据特定的编码标准调整规则集。对于我们使用的编码标准,它几乎是开箱即用的完美方案。这可能不是最好的解决方案,但下面是我想到的 使用宏捕获按键事件 以下是方法:
Private My_AutoCaps As Boolean = False
Private Sub TextDocumentKeyPressEvents_BeforeKeyPress(ByVal Keypress _
As String, ByVal Selection As EnvDTE.TextSelection, _
ByVal InStatementCompletion As Boolean, ByRef CancelKeyPress As Boolean) _
Handles TextDocumentKeyPressEvents.BeforeKeyPress
Dim fileName As String = UCase(Selection.DTE.ActiveDocument.Name)
If ( fileName.EndsWith(".CPI") ) Then
If (My_AutoCaps) Then
'MsgBox(Keypress)
If (Keypress = "(" Or Keypress = ":") Then
'MsgBox("End of command character pressed.")
My_AutoCaps = False
Return
ElseIf (Keypress >= "a" And Keypress <= "z") Then
'MsgBox("Letter pressed.")
Selection.Text = UCase(Keypress)
CancelKeyPress = True
End If
Else 'AutoCap is not on yet
If (Keypress = "^") Then
'MsgBox("You pressed the Start Command character.")
My_AutoCaps = True
Return
End If
End If
End If
End Sub
Private My_自动映射为布尔值=False
私有子文本文档按键事件\u按键前(ByVal按键_
作为字符串,ByVal选择作为EnvDTE.TextSelection_
ByVal InStatementCompletion为布尔值,ByRef CancelKeyPress为布尔值)_
处理TextDocumentKeyPressEvents.BeforeKeyPress事件
Dim文件名为String=UCase(Selection.DTE.ActiveDocument.Name)
如果(fileName.EndsWith(“.CPI”)),则
如果(我的_自动捕捉)那么
'MsgBox(按键)
如果(Keypress=“(”或Keypress=“:”),则
'MsgBox(“按下命令结束字符”)
My_AutoCaps=错误
返回
ElseIf(Keypress>=“a”和Keypress Nice,我已经看过这个工具的讨论,但直到现在都忽略了它。这肯定会有帮助!