📄 consolepad.cs
字号:
using System;
using System.Drawing;
using System.Windows.Forms;
using ICSharpCode.Core.Services;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.Services;
using Reflector.UserInterface;
namespace ICSharpCode.ConsolePad
{
class ConsolePad : AbstractPadContent
{
ResourceService resourceService = (ResourceService)ServiceManager.Services.GetService(typeof(ResourceService));
IProjectService projectService = (IProjectService)ICSharpCode.Core.Services.ServiceManager.Services.GetService(typeof(IProjectService));
FileUtilityService fileUtilityService = (FileUtilityService)ServiceManager.Services.GetService(typeof(FileUtilityService));
Panel contentPanel;
ConsoleControl console = new ConsoleControl();
CommandBarButton projectButton;
CommandBarButton sdkButton;
public override Control Control
{
get {
return contentPanel;
}
}
public ConsolePad() : base("${res:ICSharpCode.ConsolePad.PadName}")
{
IconService iconService = (IconService)ServiceManager.Services.GetService(typeof(IconService));
StringParserService stringParserService = (StringParserService)ServiceManager.Services.GetService(typeof(StringParserService));
contentPanel = new Panel();
console.Dock = DockStyle.Fill;
CommandBar commandBar = new CommandBar();
commandBar.Dock = DockStyle.Top;
projectButton = new CommandBarButton(stringParserService.Parse("${res:ICSharpCode.ConsolePad.GotoProjectItem}"));
projectButton.Image = iconService.GetBitmap("Icons.16x16.CombineIcon");
projectButton.Click += new EventHandler(ProjectItemClick);
projectButton.IsEnabled = false;
commandBar.Items.Add(projectButton);
sdkButton = new CommandBarButton(stringParserService.Parse("${res:ICSharpCode.ConsolePad.GotoSdkItem}"));
sdkButton.Image = iconService.GetBitmap("Icons.16x16.SdkDirectory");
sdkButton.Click += new EventHandler(SdkItemClick);
commandBar.Items.Add(sdkButton);
projectService.CurrentProjectChanged += new ProjectEventHandler(projectChanged);
contentPanel.Controls.Add(console);
contentPanel.Controls.Add(commandBar);
}
void projectChanged(object sender, ProjectEventArgs e)
{
projectButton.IsEnabled = e.Project != null;
}
void SdkItemClick(object sender, EventArgs e)
{
console.ChangeDirectory(fileUtilityService.NETFrameworkInstallRoot);
}
void ProjectItemClick(object sender, EventArgs e)
{
console.ChangeDirectory(projectService.CurrentSelectedProject.BaseDirectory);
}
public override string Icon
{
get {
return "Icons.16x16.Shell";
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -