Das CodeEditorView Swift -Paket bietet eine Swiftui -Ansicht, in der ein reicher Code -Editor für iOS, VisionOs und MacOS implementiert wird, dessen visueller Stil von Xcode inspiriert ist. Die aktuell unterstützte Funktionalität umfasst das Hervorheben von Syntax mit konfigurierbaren Themen, Inline -Meldung (Warnungen, Fehler usw.), Berichterstattung, Klassenübereinstimmung, Übereinstimmung der Halterung, die aktuelle Zeile -Hervorhebung und ein Minimaput.
Aktualisieren:
CodeEditorView basiert jetzt auf TextKit 2.CodeEditorView für frühere Versionen von macOS oder iOS verwenden möchten, müssen Sie Release 0.12.0 oder den textkit1 -Zweig dieses Repositorys verwenden. (Ich habe nicht die Bandbreite, um Textkit 2 unter früheren Betriebssystemversionen zu unterstützen, aber ich akzeptiere gerne PRs, die Unterstützung dafür hinzufügen. Sie müssen jedoch Swift 5.9 verwenden.)CodeEditorView (1) auch Informationen zu Kennungen (z. B. Typinformationen und Dokumentationen, die in Markdown bereitgestellt werden) sowie (2) Code -Fertigstellung. Dies wird schließlich auch auf iOS unterstützt. Dies ist das Standard -Dark -Thema auf MacOS. Wie in Xcode haben Nachrichten auf der rechten Seite des Bildschirms eine Inline-Ansicht erhalten, die zu einem größeren Overlay auftaucht, um weitere Informationen anzuzeigen. Die Minimapa auf der rechten Seite bietet einen Überblick über den bearbeiteten Text.

Das Folgende ist das Standard -Lichtthema auf iOS.

Die typische Verwendung der Sicht ist wie folgt.
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 )
}
} Um das CodeEditorView in Aktion zu sehen, sehen Sie sich das Repo mit einer plattformübergreifenden Demo-App an.
Weitere Informationen finden Sie in der Paketdokumentation.
Ich halte dies für die Qualität vor der Veröffentlichung. Es reicht aus, etwas damit zu bauen, aber es ist noch nicht bereit für die Produktion. Die CodeEditor -Ansicht unterstützt bereits eine ganze Reihe erweiterter Funktionen (wie die Inline -Nachrichten, ein Minimap- und (auf MacOS) -Codetätigkeit). Andere Komponenten sind immer noch recht einfach, wie der Bereich der Token, die von der Sprachkonfiguration abgedeckt sind, aber das ist auch etwas, das leicht verlängert wird. Die Leistung ist immer noch ein Problem für größere Dateien.
Copyright [2021..2024] Manuel Mt Chakravarty.
Unter der Lizenz von Apache-2.0 verteilt-Einzelheiten finden Sie in der Lizenzdatei.