1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

SharpDevelop のファイルテンプレートをカスタマイズする

Last updated at Posted at 2012-08-29

先日書いたLog4Net.Config.Xmlファイルですが、SharpDevelop から一発で追加できるようにしたい!

VisualStudio ではよく使うファイルをテンプレートとして保存することができるのに、SharpDevelop にはメニューにすらない!
SharpDevelop でもでプロジェクトテンプレートやファイルテンプレートをカスタマイズしたい!

というわけで、調べてみました。

プロジェクトテンプレートやファイルテンプレートが保存されている場所は、
[SharpDevelop をインストールしたディレクトリ]~data\templates みたい。

うちの環境では C:\Program Files\SharpDevelop\4.2\data\templates

そこにある他のテンプレート(.xpt)ファイルを真似て、C:\Program Files\SharpDevelop\4.2\data\templates\file\Miscの下に、以下のファイルを追加してみました。

Log4NetConfigFile.xft
<?xml version="1.0"?>
<Template author="rohinomiya" version="1.0">
	<Config
		  name		 = "Log4Net.Config.xml"
		  icon		 = "Icons.32x32.XMLFileIcon"
		  category	 = "${res:Templates.File.Categories.Misc}"
		  defaultname= "Log4Net.Config.xml"
		  language	 = "XML"/>
	 
	<Description>Log4Net Configuration XML File</Description>

	<Files>
		<File name="${FullName}" language="XML"><![CDATA[<?xml version="1.0" encoding="utf-8" ?>
<configuration>
	<log4net>
		
		<!-- Normal Log / Append File -->
		<appender name="InfoLogDailyAppender" type="log4net.Appender.FileAppender">
			<File value="${APPDATA}\\Rohinomiya\\SampleLog4Net\\Logs\\Info.log" />
	
			<AppendToFile value="true" />

			<filter type="log4net.Filter.LevelRangeFilter">
				<param name="LevelMax" value="WARN" />
				<param name="LevelMin" value="INFO" />
			</filter>

			<layout type="log4net.Layout.PatternLayout">
				<ConversionPattern value="%date [%thread] [%-5level] %logger - %message%n" />
			</layout>
		</appender>
		
		<!-- Error Log / Rolling File -->
		<appender name="ErrorLogDailyAppender" type="log4net.Appender.RollingFileAppender">
			<!-- Daily File -->
			<param name="File" value="${APPDATA}\\Rohinomiya\\SampleLog4Net\\Logs\\Error_" />
			<param name="DatePattern" value='yyyyMMdd".log"' />
			<param name="RollingStyle" value="date" />
			<param name="StaticLogFileName" value="false" />

			<param name="AppendToFile" value="true" />

			<filter type="log4net.Filter.LevelRangeFilter">
				<param name="LevelMax" value="FATAL" />
				<param name="LevelMin" value="ERROR" />
			</filter>

			<param name="MaximumFileSize" value="10MB" />
			<param name="MaxSizeRollBackups" value="10" />
			
			<layout type="log4net.Layout.PatternLayout">
				<ConversionPattern value="%date [%thread] [%-5level] %logger %file(%line) %class %method - %message%n" />
			</layout>
		</appender>
		
		<!-- Debug Log/ Rolling File -->
		<appender name="DebugLogDailyAppender" type="log4net.Appender.RollingFileAppender">

			<!-- Daily File -->
			<param name="File" value="${APPDATA}\\Rohinomiya\\SampleLog4Net\\Logs\\Trace_" />
			<param name="DatePattern" value='yyyyMMdd".log"' />
			<param name="RollingStyle" value="date" />
			<param name="StaticLogFileName" value="false" />

			<param name="AppendToFile" value="true" />

			<filter type="log4net.Filter.LevelRangeFilter">
				<!-- <param name="LevelMax" value="FATAL" /> -->
				<param name="LevelMin" value="TRACE" />
			</filter>

			<param name="MaximumFileSize" value="10MB" />
			<param name="MaxSizeRollBackups" value="10" />

			<layout type="log4net.Layout.PatternLayout">
				<ConversionPattern value="%date [%thread] [%-5level] %logger %file(%line) %class %method - %message%n" />
			</layout>
		</appender>
				
		<root>
			<!-- record level -->
			<level value="TRACE" />
			<!-- use Appender -->
			<appender-ref ref="InfoLogDailyAppender" />
			<appender-ref ref="ErrorLogDailyAppender" />
			<appender-ref ref="DebugLogDailyAppender" />
		</root>
	
	</log4net>
</configuration>
]]>
		</File>
	</Files>
	
	<AdditionalOptions/>
</Template>

そうしたら、新規ファイル追加メニューに表示されるようになりました!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?