CodeEditorView Swiftパッケージは、Xcodeに触発されているiOS、VisionOS、およびMacOSのリッチコードエディターを実装するSwiftUIビューを提供します。現在サポートされている機能には、構成可能なテーマ、インラインメッセージ(警告、エラーなど)のレポート、ブラケットのマッチング、マッチングブラケット挿入、電流ラインハイライト、およびミニマップを使用した構文強調表示が含まれます。
アップデート:
CodeEditorViewは現在、TextKit 2に基づいています。CodeEditorViewを使用する場合は、このリポジトリのリリース0.12.0またはtextkit1ブランチを使用する必要があります。 (以前のOSバージョンでTextKit 2をサポートする帯域幅はありませんが、サポートを追加するPRを受け入れることができてうれしいです。ただし、Swift 5.9を使用する必要があります。)CodeEditorView (1)識別子(マークダウンで提供されるタイプ情報やドキュメントなど)および(2)コードの完了に関する情報を表示することもサポートしています。これは最終的にもiOSでサポートされます。 これは、MacOSのデフォルトの暗いテーマです。 Xcodeのように、メッセージは画面の右側にインラインビューがあり、より大きなオーバーレイにポップアップしてより多くの情報を表示します。右側のミニマップは、編集されたテキストの概要を提供します。

以下は、iOSのデフォルトのライトテーマです。

ビューの典型的な使用法は次のとおりです。
import SwiftUI
import CodeEditor
import LanguageSupport
struct ContentView : View {
@ State private var text : String = " My awesome code... "
@ State private var position : CodeEditor . Position = CodeEditor . Position ( )
@ State private var messages : Set < TextLocated < Message > > = Set ( )
@ Environment ( . colorScheme ) private var colorScheme : ColorScheme
var body : some View {
CodeEditor ( text : $text , position : $position , messages : $messages , language : . swift )
. environment ( . codeEditorTheme ,
colorScheme == . dark ? Theme . defaultDark : Theme . defaultLight )
}
} CodeEditorView動作を確認するには、クロスプラットフォームデモアプリを使用してリポジトリをご覧ください。
詳細については、パッケージのドキュメントを参照してください。
これはリリース前の品質だと思います。それで何かを構築するだけで十分ですが、それはまだ生産の準備ができていません。 CodeEditorビューは、すでにかなりの高度な機能をサポートしています(インラインメッセージ、ミニマップ、(MACOS)コードの完了など)。他のコンポーネントは、言語構成でカバーされているトークンの範囲など、まだ非常に簡単ですが、それは簡単に拡張されるものでもあります。パフォーマンスは、より大きなファイルの問題です。
Copyright [2021..2024] Manuel MT Chakravarty。
Apache-2.0ライセンスの下で配布 - 詳細については、ライセンスファイルを参照してください。