이것은 편집기에서 구현할 기능의 수에 달려 있다고 생각합니다. 또한 그것을 확장하기 위해 얼마나 많은 노력을 기울이고 당신이 다루기를 원하는 학습 곡선이 얼마나되는지.
Win32를 대상으로하고 관리되지 않는 DLL에 신경 쓰지 않는다면 Scintilla.NET이 문제가되지 않을 것이라고 생각합니다. 또한 this 페이지에서 제안하는대로 쉽게 WPF에서 호스팅 할 수 있습니다.
필자는 신틸라가 AvalonEdit보다 성능이 뛰어나다 고 개인적으로 느꼈습니다. 또한 기본 편집기로 시작하는 것이 더 쉽고, 상자에서 많은 것을 제공합니다. 예를 들어, Scintilla는 코드를 상자 밖으로 접을 수 있습니다.
AvalonEdit을 사용하면 접기 전략을 작성하고 문서를 직접 구문 분석해야합니다. 이것은 아직 구현하지 않은 IronPython을 IronPython에 지원하기 위해 수행해야하는 작업입니다.
내가 불꽃에 IronPython의 편집기를 지원하는 데 필요한 모든 검색 경로에서 SciLexer.dll과 Scintilla.net 어셈블리 다음과 같은 구성했다 :
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);
}
AvalonEdit의 경우는 외부 하이 라이터를로드 할 수 파일을 보면 자세한 내용은 this 블로그 게시물을 볼 수 있습니다. 그래서 당신이 기본 (하이라이트, 파이썬 + C# 접기)을 원한다면 나의 결론은 신틸라가 더 쉽고 더 잘 수행된다는 것입니다. AvalonEdit을 사용하면 학습 곡선을 다룰 때 기꺼이 더 많은 것을 할 수 있습니다. 지금은 Scintilla를 안정적인 편집기로 사용하고 Avalon을 개념 증명으로 실험하고 있습니다. 아마도 나는 편집자에 대해 더 많은 것을 배울 때 새로운 의견을 형성 할 것입니다.
행운을 빌어 요.
부후반, 결국 당신은 무엇에 정착 했습니까? (지금, 거의 2 년 후) – Goswin
필자는 소스 코드에서 컴포넌트로 사용하지는 않지만, (AintonEdit을 기반으로하는'ScintillaNET'과'SharpDevelop'를 기반으로 한'QuickSharp'를 기반으로 한 두 제품을 대안의 경량 C# 편집기. Imo, 'SharpDevelop'는 더 많은 기능과 훨씬 더 쉽게 작업 할 수있었습니다. – nawfal