CodeMirror 6을 터치해 보십시오.
15807 단어 Codemirrorcodemirror6JavaScript
완성물
(편집기를 세 번 클릭하면 편집이 가능합니다!)
Hello World!
✍️ 먼저 편집기를 설정합니다.CodeMirror 6은 핵심에만 최소한의 기능을 갖추고 있으며 어제 추가 Extension을 통해 구현되었습니다.
✍️ 그래서 원본 코드가 작아진다(지금은 모두 한 창고에 놓여 있기 때문에 작지 않나요?)필요한 것만 하니까 빨라요.
이렇게 되면 글씨만 쓸 수 있다.
import { EditorView } from "@codemirror/next/view";
import { EditorState } from "@codemirror/next/state";
let myView = new EditorView({
state: EditorState.create({
doc: "hello world!",
extensions: []
})
});
document.body.appendChild(myView.dom);
히스토리 기능 추가
✍️ 확장 기능 추가 시 이렇게 쓰기
✍️ 히스토리 기능 및 주요 맵 Extension 추가
✍️ 설치 방법을 배울 때.영화를 보면 이해하기 쉽다
✍️ baseKeymap이 일본어로 바뀔 때 행동이 좀 이상해요.
이렇게 되면 원상태로 회복할 수 있다.
import {
history,
redo,
redoSelection,
undo,
undoSelection
} from "@codemirror/next/history";
import { keymap } from "@codemirror/next/keymap";
import { baseKeymap } from "@codemirror/next/commands";
import { EditorView } from "@codemirror/next/view";
import { EditorState } from "@codemirror/next/state";
let myView = new EditorView({
state: EditorState.create({
doc: "hello world!",
extensions: [
history(),
keymap({
"Mod-z": undo,
"Mod-Shift-z": redo,
"Mod-u": view => undoSelection(view) || true,
"Mod-Shift-u": redoSelection,
"Ctrl-y": undefined
}),
keymap(baseKeymap),
]
})
});
document.body.appendChild(myView.dom);
행 번호 설정
✍️ 간단
줄 번호를 설정하면 겉모습이 변하고 즐거워요.
import {
history,
redo,
redoSelection,
undo,
undoSelection
} from "@codemirror/next/history";
import { keymap } from "@codemirror/next/keymap";
import { baseKeymap } from "@codemirror/next/commands";
import { lineNumbers} from '@codemirror/next/gutter'
import { EditorView } from "@codemirror/next/view";
import { EditorState } from "@codemirror/next/state";
let myView = new EditorView({
state: EditorState.create({
doc: "hello world!",
extensions: [
history(),
keymap({
"Mod-z": undo,
"Mod-Shift-z": redo,
"Mod-u": view => undoSelection(view) || true,
"Mod-Shift-u": redoSelection,
"Ctrl-y": undefined
}),
keymap(baseKeymap),
lineNumbers()
]
})
});
document.body.appendChild(myView.dom);
데모 구문 강조 추가
✍️ 처음부터 js와 html, css를 준비했습니다.
✍️ typescript를 사용하면 모듈을 쉽게 찾을 수 있습니다
문법 하이라이트를 넣으면 편집기 감각이 증가한다.
import {
history,
redo,
redoSelection,
undo,
undoSelection
} from "@codemirror/next/history";
import { html } from "@codemirror/next/lang-html";
import { defaultHighlighter } from "@codemirror/next/highlight";
import { keymap } from "@codemirror/next/keymap";
import { baseKeymap } from "@codemirror/next/commands";
import { lineNumbers } from "@codemirror/next/gutter";
import { EditorView } from "@codemirror/next/view";
import { EditorState } from "@codemirror/next/state";
let myView = new EditorView({
state: EditorState.create({
doc: "hello world!",
extensions: [
history(),
keymap({
"Mod-z": undo,
"Mod-Shift-z": redo,
"Mod-u": view => undoSelection(view) || true,
"Mod-Shift-u": redoSelection,
"Ctrl-y": undefined
}),
keymap(baseKeymap),
lineNumbers(),
html(),
defaultHighlighter
]
})
});
document.body.appendChild(myView.dom);
끝맺다
Reference
이 문제에 관하여(CodeMirror 6을 터치해 보십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yujiroarai/items/6680b07aca4d0121ff07텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)