5

我想使用 Ctl K + Ctl X 制作一个智能感知代码片段,它在运行时实际执行代码......例如,我想做以下事情:

 <![CDATA[string.Format("{MM/dd/yyyy}", System.DateTime.Now);]]>

但不是给我那个字符串值,我想要指定格式的日期。

我想要的另一个例子是创建一个新的 Guid 但截断到第一个八位字节,所以我想使用 System.Guid.NewGuid(); 创建一个新的 Guid;例如,给我 {798400D6-7CEC-41f9-B6AA-116B926802FE} 但我想要代码片段中的值:798400D6。

我愿意不使用 Intellisense 代码片段。我只是认为这很容易。

4

3 回答 3

2

这就是我用 VS 宏所做的

  Public Sub InsertPartialGuid()            
        Dim objSel As TextSelection = DTE.ActiveDocument.Selection        
        Dim NewGUID As String = String.Format("{0}", (System.Guid.NewGuid().ToString().ToUpper().Split("-")(0)))
        objSel.Insert(NewGUID, vsInsertFlags.vsInsertFlagsContainNewText)
        objSel = Nothing
    End Sub
于 2009-07-21T20:50:20.807 回答
1

对于 GUID,您可以使用:

string firstOctet = System.Guid.NewGuid().ToString().Split('-')[0];
于 2009-07-21T20:22:40.457 回答
0

要实现您尝试使用 XML 块执行的操作,您将需要嵌入一个脚本语言引擎,例如 IronPython,或者编写您自己的简单引擎。C# 源代码不会在运行时编译,源代码也不会在运行时评估。IL 字节码是,但不是人类可读的源代码。

于 2009-07-21T20:28:10.540 回答