# C Sharp 的代码编辑器ScintillaNET 增强版 **Repository Path**: chengyiok/ScintillaNET2026.2.7 ## Basic Information - **Project Name**: C Sharp 的代码编辑器ScintillaNET 增强版 - **Description**: C Sharp 的代码编辑器ScintillaNET 增强版 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-02-07 - **Last Updated**: 2026-03-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ![输入图片说明](Scintilla.NET.TestApp/20260207222035.png) # Scintilla.NET ## 项目简介 Scintilla.NET 是一个基于 Scintilla 5 系列的源代码编辑组件,为 .NET 应用程序提供功能强大的代码编辑器。 - **Scintilla.NET 是源文件 - **Scintilla.NET.TestApp 是测试例子 - **Scintilla.NET/runtimes 是编译好的 - **版本**: 2026.2.7 - **支持框架**: .NET Framework 4.6.2、.NET 8.0 Windows - **许可证**: MIT ## 功能特点 - ✅ 语法高亮支持多种编程语言 - ✅ 代码折叠 - ✅ 行号显示 - ✅ 括号匹配与高亮 - ✅ 彩虹括号(默认启用) - ✅ 缩进指南(默认启用,显示虚线) - ✅ 边距指示线(默认在80列显示) - ✅ 自动完成 - ✅ 代码提示 - ✅ 多行选择 - ✅ 正则表达式搜索 ## 安装方法 ### 通过 NuGet 包管理器 ```bash dotnet add package Scintilla5.NET --version 6.1.1 ``` ### 手动引用 1. 下载项目编译后的 DLL 文件 2. 在你的项目中添加对 `Scintilla.NET.dll` 的引用 ## 快速开始 ### 基本用法 ```csharp using ScintillaNET; // 创建 Scintilla 控件 var scintilla = new Scintilla(); // 设置语言 scintilla.LexerName = "cpp"; // 添加到窗体 this.Controls.Add(scintilla); // 设置文本 scintilla.Text = "// 示例代码\npublic class Program { }"; ``` ### 自定义样式 ```csharp // 设置默认样式 scintilla.Styles[Style.Default].ForeColor = Color.FromArgb(240, 240, 240); scintilla.Styles[Style.Default].BackColor = Color.FromArgb(30, 30, 30); // 设置注释样式 scintilla.Styles[Style.Cpp.Comment].ForeColor = Color.FromArgb(0x6A, 0x99, 0x55); // 设置关键字样式 scintilla.Styles[Style.Cpp.Word].ForeColor = Color.FromArgb(0x56, 0x9C, 0xD6); // 设置字符串样式 scintilla.Styles[Style.Cpp.String].ForeColor = Color.FromArgb(0xCE, 0x91, 0x78); ``` ### 配置缩进指南 ```csharp // 启用缩进指南 scintilla.IndentationGuides = IndentView.LookBoth; // 设置缩进指南颜色 scintilla.Styles[Style.IndentGuide].ForeColor = Color.FromArgb(80, 80, 80); ``` ### 配置边距指示线 ```csharp // 启用边距指示线 scintilla.EdgeMode = EdgeMode.Line; // 设置边距列位置 scintilla.EdgeColumn = 100; // 设置边距颜色 scintilla.EdgeColor = Color.FromArgb(80, 80, 80); ``` ## 默认配置 从版本 6.1.1 开始,Scintilla.NET 包含以下默认配置: - **黑色主题**:深色背景,浅色文本 - **彩虹括号**:默认启用 - **缩进指南**:默认启用,使用虚线显示 - **边距指示线**:默认在80列显示 - **行号**:默认显示,使用灰色文本 ## 技术细节 ### 项目结构 - **Scintilla.NET**:核心库,包含 Scintilla 控件的 .NET 封装 - **Scintilla.NET.TestApp**:测试应用程序,用于演示控件功能 ### 依赖项 - **Windows Forms**:用于 UI 控件 - **Scintilla 5**:原生编辑组件(通过运行时包含) - **Lexilla**:词法分析库(通过运行时包含) ## 最近更新 ### 版本 6.1.1 - ✅ 添加默认虚线缩进指南功能 - ✅ 优化默认主题配置 - ✅ 改进彩虹括号性能 - ✅ 修复多个已知问题 ## 许可证 Scintilla.NET 使用 MIT 许可证: ``` MIT License Copyright (c) Jacob Slusser 2018, VPKSoft, cyber960 2022, desjarlais 2023, Ahmet Sait 2025 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ``` ## 贡献 欢迎通过 GitHub 仓库提交问题和贡献代码: 原来地址 [https://github.com/desjarlais/Scintilla.NET](https://github.com/desjarlais/Scintilla.NET) ## 联系方式 项目维护者: - 修改增强 承易 - Jacob Slusser - VPKSoft - cyber960 - desjarlais - Ahmet Sait