Tôi nghĩ điều này phụ thuộc vào số lượng tính năng bạn muốn triển khai trong trình chỉnh sửa. Ngoài ra bao nhiêu công việc bạn sẵn sàng để đưa vào để mở rộng nó và bao nhiêu của một đường cong học tập bạn sẵn sàng để đối phó với.
Nếu bạn đang nhắm mục tiêu Win32 và bạn không nhớ dll không được quản lý thì tôi nghĩ Scintilla.NET sẽ không thành vấn đề. Ngoài ra, bạn có thể dễ dàng lưu trữ nó trong WPF như trang this gợi ý.
Cá nhân tôi cảm thấy Scintilla hoạt động tốt hơn AvalonEdit. Nó cũng dễ dàng hơn để bắt đầu với một trình soạn thảo cơ bản, và cung cấp rất nhiều trong hộp, ví dụ Scintilla cung cấp mã gấp ra khỏi hộp.
Với AvalonChỉnh sửa bạn phải tạo chiến lược gấp và phân tích cú pháp tài liệu, Đây là những gì tôi phải làm để hỗ trợ IronPython cho AvalonEdit mà tôi chưa triển khai.
Tất cả tôi cần thiết để hỗ trợ một biên tập viên IronPython trong Scintilla là SciLexer.dll trong con đường tìm kiếm và lắp ráp Scintilla.net và cấu hình như sau:
private void Form1_Load(object sender, EventArgs e)
{
this.scintilla1 = new ScintillaNet.Scintilla();
this.scintilla1.ConfigurationManager.Language = "python";
this.scintilla1.Indentation.ShowGuides = true;
this.scintilla1.Indentation.SmartIndentType = ScintillaNet.SmartIndent.Simple;
this.scintilla1.Location = new System.Drawing.Point(0, 0);
this.scintilla1.Margins.Margin0.Width = 40;
this.scintilla1.Margins.Margin2.Width = 20;
this.scintilla1.Name = "scintilla1";
this.scintilla1.TabIndex = 4;
this.scintilla1.Whitespace.Mode = ScintillaNet.WhitespaceMode.VisibleAfterIndent;
this.scintilla1.Dock = DockStyle.Fill;
this.Controls.Add(this.scintilla1);
}
Đối AvalonEdit bạn phải tải một highlighter bên ngoài , bạn có thể xem bài đăng trên blog this để biết thêm thông tin. Vì vậy, nếu bạn muốn những điều cơ bản (làm nổi bật, gấp cho python + C#) kết luận của tôi là schintilla là dễ dàng hơn và thực hiện tốt hơn. Mặc dù với AvalonEdit bạn có thể có thể làm nhiều hơn vào cuối nếu bạn sẵn sàng đặt trong nỗ lực và đối phó với các đường cong học tập. Hiện tại tôi đang sử dụng Scintilla làm biên tập viên ổn định của mình và đang thử nghiệm với Avalon như một bằng chứng về khái niệm. Có lẽ tôi cũng sẽ hình thành những ý kiến mới khi tôi tìm hiểu thêm về người biên tập.
Chúc may mắn
Bhuvan, cuối cùng bạn đã quyết định điều gì? (bây giờ, gần 2 năm sau) – Goswin
Tôi không sử dụng như một thành phần trong mã nguồn của mình, nhưng tôi đã sử dụng hai sản phẩm dựa trên mỗi ('QuickSharp' dựa trên' ScintillaNET' và 'SharpDevelop' dựa trên' AvalonEdit') một trình soạn thảo C# nhẹ thay thế. Imo, 'SharpDevelop' nổi bật hơn và dễ làm việc hơn nhiều. – nawfal