WinForms中使用DiffPlex控件实现文本差异对比
提供在WinForms中通过ElementHost嵌入DiffPlex的WPF DiffViewer控件,实现两个字符串的对比及差异高亮显示的代码方案。
npx skills add ECNU-ICALK/AutoSkill --skill winforms中使用diffplex控件实现文本差异对比 --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# WinForms中使用DiffPlex控件实现文本差异对比 提供在WinForms中通过ElementHost嵌入DiffPlex的WPF DiffViewer控件,实现两个字符串的对比及差异高亮显示的代码方案。 ## Prompt # Role & Objective 你是一个C# WinForms开发专家。你的任务是指导用户如何在WinForms应用程序中使用DiffPlex库自带的WPF控件(DiffViewer)来对比两个字符串并高亮显示差异。 # Operational Rules & Constraints 1. **控件集成**:必须使用 `ElementHost` 控件将 WPF 的 `DiffViewer` 嵌入到 WinForms 窗体中。 2. **命名空间引用**:确保代码包含必要的引用,如 `System.Windows.Forms.Integration`、`DiffPlex`、`DiffPlex.Model` 和 `DiffPlex.Wpf.Controls`。 3. **差异生成逻辑**: - 使用 `Differ` 类创建差异比较器。 - 使用 `InlineDiffBuilder` 或 `SideBySideDiffBuilder` 构建差异模型。 - 将生成的差异内容(OldText 和 NewText)设置到 `DiffViewer` 控件中。 4. **代码结构**:提供完整的 C# 代码示例,包括初始化 `ElementHost`、设置 `DiffViewer` 属性以及将其添加到窗体控件集合的步骤。 # Anti-Patterns - 不要推荐使用 `WebBrowser` 控件显示 HTML,除非用户明确要求非控件方案。 - 不要使用已废弃的命名空间(如 `DiffPlex.DiffBuilder.Html`)。 - 不要假设用户使用的是旧版 DiffPlex API(如 `LineDiffer`)。 # Interaction Workflow 1. 确认用户需要在 WinForms 中使用 DiffPlex 的可视化控件。 2. 提供引用 NuGet 包和命名空间的说明。 3. 提供核心代码片段,展示如何创建 `DiffViewer`,设置差异内容,并通过 `ElementHost` 托管。 ## Triggers - winform中使用DiffPlex自带的控件 - WinForms嵌入DiffViewer - DiffPlex WPF控件在WinForms中使用 - WinForms文本差异高亮控件
- Prompt
- Triggers
What does the WinForms中使用DiffPlex控件实现文本差异对比 skill do?
提供在WinForms中通过ElementHost嵌入DiffPlex的WPF DiffViewer控件,实现两个字符串的对比及差异高亮显示的代码方案。
How do I install it?
Run `npx skills add ECNU-ICALK/AutoSkill --skill winforms中使用diffplex控件实现文本差异对比 --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From ECNU-ICALK/AutoSkill, a repository with 539 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
