2012-08-31 55 views
2

在Visual Studio中,您可以使用代码片段当你正在编辑一个类时,你可以输入ctor,默认构造函数会自动添加到你的类中。 是否有可能建立在Visual Studio中的代码片段,即执行以下操作:Castle Windsor ILogger的Visual Studio代码片段

  • 创建get/set方法Logger属性光标所在。
  • 添加using Castle.Core.Logging
  • 让我选择我可以放置的实例变量列表中的哪个位置private ILogger _logger = NullLogger.Instance;
public class Person 
{ 
    private string name; 
    private int age; 

    public Person() 
    { 
    } 

    // cursor is here and you type "logger" 
} 

在键入logger Visual Studio中添加以下代码:

using Castle.Core.Logging; // Added by code snippet 

public class Person 
{ 
    private string name; 
    private ILogger _logger = NullLogger.Instance; // Added by code snippet 
    private int age; 

    public Person() 
    { 
    } 

    // Added by code snippet 
    public ILogger Logger 
    { 
     get { return _logger; } 
     set { _logger = value; } 
    } 
} 
+0

这太问题可能包含一些你正在寻找http://stackoverflow.com/q/5872131/122005 – chridam

+0

的疑问是,当记录器是由温莎城堡注入约代码。我需要Visual Studio的代码片段。在Visual Studio中,当你编辑一个类的时候,你可以输入'ctor',并且默认的构造函数被添加到类中。我想键入'logger',并将记录器代码添加到我的课程中。 – aquaUrge

回答

0

这里有两个伟大的教程How to: Create a Basic Code Snippet & How to: Manage Code Snippets

总结如下,

  1. 创建一个.snippet文件;这是一个包含要添加的代码和引用的XML文件。基本示例包括除快捷键之外的所有要求。
  2. 将代码片段导入到您的visual studio实例中。
  3. 用你的心内容

快乐拼凑一个例子,如果你愿意的话。

由于我已经创建了测试代码片段,所以您需要如下所示的内容。显然你需要编辑以满足你的需求。

<?xml version="1.0" encoding="utf-8"?> 
<CodeSnippets 
    xmlns="http://schemas.microsoft.com/VisualStudio/2010/CodeSnippet"> 
    <CodeSnippet Format="1.0.0"> 
    <Header> 
     <Title> 
     Log4Net instance using Castle.Core.Logging 
     </Title> 
     <Shortcut>logger</Shortcut> 
    </Header> 
    <Snippet> 
     <References> 
     <Reference> 
      <Assembly>Castle.Core.Logging.dll</Assembly> 
     </Reference> 
     </References> 
     <Imports> 
     <Import> 
      <Namespace>Castle.Core.Logging</Namespace> 
     </Import> 
     </Imports> 
     <Code Language="CSharp"> 
     <![CDATA[private ILogger _logger = NullLogger.Instance; 
     public ILogger Logger 
    { 
     get { return _logger; } 
     set { _logger = value; } 
    }]]> 
     </Code> 
    </Snippet> 
    </CodeSnippet> 
</CodeSnippets>