CodeEditorView Swift 패키지는 Xcode에서 영감을 얻은 iOS, VisionOS 및 MacOS 용 리치 코드 편집기를 구현하는 Swiftui보기를 제공합니다. 현재 지원되는 기능에는 구성 가능한 테마, 인라인 메시지 (경고, 오류 등)보고, 브래킷 매칭, 매칭 브래킷 삽입, 현재 라인 강조 표시 및 최소 맵이 포함 된 구문 하이라스가 포함됩니다.
업데이트:
CodeEditorView 이제 TextKit 2를 기반으로합니다.CodeEditorView 사용하려면 릴리스 0.12.0 또는이 저장소의 textkit1 브랜치를 사용해야합니다. (이전 OS 버전에서 TextKit 2를 지원할 대역폭은 없지만 지원을 추가하는 PRS를 수락하게되어 기쁩니다. 그러나 Swift 5.9를 사용해야합니다.)CodeEditorView (1) 식별자에 대한 정보 (예 : Markdown에 제공된 유형 정보 및 문서) 및 (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 작동하는 것을 보려면 크로스 플랫폼 데모 앱을 사용하여 Repo를 살펴보십시오.
자세한 내용은 패키지 문서를 참조하십시오.
나는 이것이 사전 방출 품질이라고 생각합니다. 무언가를 구축하는 것으로 충분하지만 아직 생산 준비가되지 않았습니다. CodeEditor View는 이미 상당히 많은 고급 기능 (예 : 인라인 메시지, Minimap 및 (MacOS) 코드 완료)를 지원합니다. 언어 구성으로 덮인 토큰 범위와 같은 다른 구성 요소는 여전히 매우 간단하지만 쉽게 확장되는 것입니다. 성능은 여전히 더 큰 파일의 문제입니다.
저작권 [2021..2024] Manuel Mt Chakravarty.
Apache-2.0 라이센스에 따라 배포-자세한 내용은 라이센스 파일을 참조하십시오.