# Koala.Pro.CodeGenerator **Repository Path**: youhui_xm/koala.pro.codegenerator ## Basic Information - **Project Name**: Koala.Pro.CodeGenerator - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 3 - **Created**: 2024-08-27 - **Last Updated**: 2025-11-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ICSharpCode.TextEditorEx 是一个基于 ICSharpCode.TextEditor 的扩展项目,提供了增强的文本编辑功能,适用于 .NET 平台的 WinForms 应用程序。该项目主要包含一个文本编辑器控件(TextEditorControlEx),支持语法高亮、代码折叠、书签、查找与替换等功能,并可集成到各种开发环境中。 ## 项目特点 - **语法高亮**:支持多种编程语言的语法高亮,包括 C#、VB.NET、Java、HTML、XML、SQL 等。 - **代码折叠**:支持代码块的折叠与展开,提升代码可读性。 - **书签功能**:允许用户在代码中添加、跳转和管理书签。 - **查找与替换**:提供强大的查找与替换功能,支持正则表达式和高亮显示匹配项。 - **上下文菜单支持**:可自定义的上下文菜单,支持显示图标和快捷键。 - **剪贴板操作**:支持剪切、复制、粘贴、删除等标准编辑操作。 - **代码格式化**:支持代码格式转换,如大小写转换、空格与制表符转换等。 - **撤销/重做**:提供完善的撤销与重做机制。 ## 使用示例 以下是一个简单的使用示例,展示如何在 WinForms 应用程序中使用 `TextEditorControlEx`: ```csharp using System; using System.Windows.Forms; using ICSharpCode.TextEditor; namespace WinFormTestXmlEditor { public partial class MainForm : Form { public MainForm() { InitializeComponent(); // 初始化文本编辑器 textEditorControl1.Document.HighlightingStrategy = HighlightingManager.Manager.FindHighlighter("XML"); textEditorControl1.Text = "value"; } private void textEditorControl1_TextChanged(object sender, EventArgs e) { // 文本改变时更新折叠信息 UpdateAndCheckFoldings(); } private void UpdateAndCheckFoldings() { // 更新代码折叠信息 textEditorControl1.Document.FoldingManager.UpdateFoldings("XML", null); } private void cmbHighlight_SelectedIndexChanged(object sender, EventArgs e) { // 根据选择的语言切换语法高亮 string selectedItem = cmbHighlight.SelectedItem as string; if (selectedItem != null) { textEditorControl1.SetHighlighting(selectedItem); } } private void UpdateText(string selectedItem) { // 根据选择的示例更新文本内容 switch (selectedItem) { case "XML": textEditorControl1.Text = Resources.ExampleXML; break; case "C#": textEditorControl1.Text = Resources.ExampleCSharp; break; case "F#": textEditorControl1.Text = Resources.ExampleFSharp; break; } } } } ``` ## 安装与使用 1. **获取源码**:从 Gitee 仓库克隆项目源码: ```bash git clone https://gitee.com/youhui_xm/koala.pro.codegenerator.git ``` 2. **编译项目**:使用 Visual Studio 或其他支持 .NET 的 IDE 打开解决方案文件 `ICSharpCode.TextEditorEx.Solution.sln`,并编译项目。 3. **集成到应用程序**:将 `ICSharpCode.TextEditorEx.dll` 引用到你的 WinForms 项目中,并在窗体中添加 `TextEditorControlEx` 控件。 4. **配置语法高亮**:通过 `SetHighlighting` 方法设置语法高亮语言,例如: ```csharp textEditorControlEx1.SetHighlighting("XML"); ``` 5. **设置代码折叠策略**:通过 `FoldingStrategy` 属性设置代码折叠策略,例如: ```csharp textEditorControlEx1.FoldingStrategy = "XML"; ``` ## 项目结构 - `ICSharpCode.TextEditorEx/ICSharpCode.TextEditor/`:核心文本编辑器组件。 - `ICSharpCode.TextEditorEx/ICSharpCode.TextEditorEx/`:扩展功能实现,包括语法高亮、代码折叠等。 - `ICSharpCode.TextEditorEx/WinFormTestXmlEditor/`:示例项目,展示如何使用 `TextEditorControlEx` 实现 XML 编辑器。 ## 许可证 本项目采用 MIT 许可证,详情请参阅 [LICENSE](LICENSE) 文件。 ## 贡献者 欢迎贡献代码和改进文档。请参考 [CONTRIBUTING.md](CONTRIBUTING.md) 获取贡献指南。 ## 联系方式 如有问题或建议,请在 Gitee 仓库中提交 issue 或联系项目维护者。