📄 configuration.cs
字号:
using System;
using System.IO;
using System.Collections;
using System.Reflection;
namespace CodeTemplate
{
/// <summary>
/// Summary description for Configuration.
/// </summary>
internal class Configuration
{
public class Preview
{
static Preview()
{
s_enabled = true;
s_fontFamilyName = "Courier New";
s_fontSize = 8.25f;
}
public static Boolean Enabled
{
get { return s_enabled; }
set { s_enabled = value; }
}
public static String FontFamilyName
{
get { return s_fontFamilyName; }
set { s_fontFamilyName = value; }
}
public static Single FontSize
{
get { return s_fontSize; }
set { s_fontSize = value; }
}
private static Boolean s_enabled;
private static String s_fontFamilyName;
private static Single s_fontSize;
}
public class SampleFileInfo
{
internal SampleFileInfo(String baseName, String sampleDir, String roamingDir)
{
this.SampleFile = Path.Combine(sampleDir, baseName);
this.RoamingFile = Path.Combine(roamingDir, baseName);
}
public readonly String SampleFile;
public readonly String RoamingFile;
}
static Configuration()
{
s_smartFormat = true;
s_keyBindingScope = "Text Editor";
s_keyBindingKeys = "Ctrl+Space";
s_localRootDir = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), s_companyDir);
s_roamingDir = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), s_templateBaseDir);
String sampleDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
s_helpFilePath = Path.Combine(sampleDir, s_helpFileName);
sampleDir = Path.Combine(sampleDir, "Samples");
s_sampleFiles = new SampleFileInfo[]
{
new SampleFileInfo(s_templateBaseFilename + ".txt", sampleDir, s_roamingDir),
new SampleFileInfo(s_templateBaseFilename + ".cpp", sampleDir, s_roamingDir),
new SampleFileInfo(s_templateBaseFilename + ".h", sampleDir, s_roamingDir),
new SampleFileInfo(s_templateBaseFilename + ".cs", sampleDir, s_roamingDir),
};
}
public static Boolean SmartFormat
{
get { return s_smartFormat; }
set { s_smartFormat = value; }
}
public static String KeyBinding
{
get { return KeyBindingScope + "::" + KeyBindingKeys; }
}
public static String KeyBindingKeys
{
get { return s_keyBindingKeys; }
set { s_keyBindingKeys = value; }
}
public static String KeyBindingScope
{
get { return s_keyBindingScope; }
set { s_keyBindingScope = value; }
}
public static String LocalDataRootDirectory
{
get { return s_localRootDir; }
}
public static String RoamingDataDirectory
{
get { return s_roamingDir; }
}
private static bool FileExists(String filePath)
{
return new FileInfo(filePath).Exists;
}
public static String GetTemplateFilePathFor(String filePath)
{
if(filePath != null && filePath != String.Empty)
{
String s = Path.Combine(RoamingDataDirectory, s_templateBaseFilename);
s = Path.ChangeExtension(s, Path.GetExtension(filePath));
if(FileExists(s))
return s;
}
if(FileExists(TemplateFilePath))
return TemplateFilePath;
throw new FileNotFoundException("Cannot find default template file", TemplateFilePath);
}
public static String TemplateFilePath
{
get { return s_sampleFiles[0].RoamingFile; }
}
public static String TemplateFileName
{
get { return Path.GetFileName(Configuration.TemplateFilePath); }
}
public static String HelpFilePath
{
get { return s_helpFilePath; }
}
public static SampleFileInfo[] SampleFiles
{
get { return s_sampleFiles; }
}
private static Boolean s_smartFormat;
private static String s_keyBindingKeys;
private static String s_keyBindingScope;
private static readonly String s_localRootDir;
private static readonly String s_roamingDir;
private static readonly String s_helpFilePath;
private static readonly SampleFileInfo[] s_sampleFiles;
private const String s_templateBaseFilename = "codetmpl";
private const String s_helpFileName = "readme.htm";
private const String s_companyDir = "Eddie Velasquez";
private const String s_productDir = "CodeTemplate";
private const String s_templateBaseDir = s_companyDir + "\\" + s_productDir;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -