Monaco 편집기는 VS Code의 완벽한 코드 편집기입니다. 지원되는 기능 중 일부를 확인하려면 VS 코드 문서를 확인하십시오.

편집자를 시험해보고 대화식 놀이터에서 다양한 예를보십시오.
놀이터는 편집기를 사용하는 방법에 대해 배우는 가장 좋은 방법이며,이 기능은 지원하는 기능이며 다른 버전을 시험해보고 버그 보고서에 대한 최소한의 재현 가능한 예제를 작성하는 가장 좋은 방법입니다.
> npm install monaco-editor
당신은 얻을 것입니다 :
/esm : EST의 ESM 버전 (EG Webpack과 호환)/dev : AMD가 번역되어 있지 않습니다/min : AMD는 번들로서 미수합니다/min-maps : min 소스 맵monaco.d.ts : 이것은 편집기의 API를 지정합니다 (이것은 실제로 버전이있는 것입니다. 다른 모든 것은 비공개로 간주되며 모든 릴리스와 함께 중단 될 수 있습니다). dev 버전에 대해 개발하고 min 버전을 사용하기 위해 프로덕션에서 개발하는 것이 좋습니다.
Monaco 편집기는 코드와 강의에 전원을 공급하는 텍스트 편집기로 가장 잘 알려져 있습니다. 그러나 조금 더 미묘합니다. 모나코 편집기를 효과적으로 사용하려면 기본 개념에 대한 몇 가지 기본 이해가 필요합니다.
모델은 모나코 편집자의 핵심입니다. 콘텐츠를 관리 할 때 상호 작용하는 것입니다. 모델은 열린 파일을 나타냅니다. 파일 시스템에 존재하는 파일을 나타낼 수 있지만 필요하지 않습니다. 예를 들어, 모델은 텍스트 내용을 보유하고 컨텐츠의 언어를 결정하며 컨텐츠의 편집 기록을 추적합니다.
각 모델은 URI로 식별됩니다. 이것이 두 모델에 동일한 URI를 가질 수없는 이유입니다. 이상적으로 Monaco 편집기에서 컨텐츠를 대표 할 때는 사용자가 편집하는 파일과 일치하는 가상 파일 시스템을 생각해야합니다. 예를 들어, file:/// 기본 경로로 사용할 수 있습니다. URI없이 모델이 생성되면 URI는 inmemory://model/1 입니다. 더 많은 모델이 만들어지면 숫자가 증가합니다.
편집기는 모델의보기에 직면 한 사용자입니다. 이것이 DOM에 붙어있는 것과 사용자가 시각적으로 보는 것입니다. 일반적인 편집기 작업은 모델을 표시하거나 뷰 상태를 관리하거나 동작 또는 명령을 실행합니다.
제공자는 스마트 편집기 기능을 제공합니다. 예를 들어 여기에는 완료 및 호버 정보가 포함됩니다. 그것은 동일하지 않지만 종종 언어 서버 프로토콜 기능에 매핑됩니다.
제공자는 모델에서 작업합니다. 일부 스마트 기능은 URI 파일에 따라 다릅니다. 예를 들어, TypeScript가 가져 오기를 해결하거나 JSON Intellisense의 경우 어떤 JSON 스키마를 적용 할 JSON 스키마를 결정합니다. 따라서 적절한 모델 URI를 선택하는 것이 중요합니다.
많은 모나코 관련 객체는 종종 .dispose() 메소드를 구현합니다. 이 방법은 리소스가 더 이상 필요하지 않을 때 정리를 수행하기위한 것입니다. 예를 들어, Calling model.dispose() 가 등록 해제하여 새로운 모델을 위해 URI를 확보합니다. 편집자는 리소스를 확보하고 모델 리스너를 제거하기 위해 배치되어야합니다.
monaco.d.ts 에서 바로 읽으십시오.이 저장소에서 Monaco 편집기와 관련된 모든 것에 대한 문제를 만듭니다. 복제를 피하려면 기존 문제를 검색하십시오.
VS Code와 Monaco 편집자의 관계는 무엇입니까?
모나코 편집자는 코드가 집 외부의 웹 브라우저에서 실행하기 위해 필요한 서비스를 중심으로 일부 심지와 함께 VS Code 소스에서 직접 생성됩니다.
VS Code 버전과 Monaco 편집기 버전의 관계는 무엇입니까?
없음. 모나코 편집기는 라이브러리이며 소스 코드를 직접 반영합니다.
❓ vs 코드의 확장을 작성했는데 브라우저의 모나코 편집기에서 작동할까요?
아니요.
참고 : 확장자가 LSP를 기반으로하고 언어 서버가 JavaScript로 작성된 경우 가능할 것입니다.
∎ 왜이 모든 웹 워커와 내가 왜 신경을 써야합니까?
언어 서비스는 웹 작업자를 만들어 UI 스레드 외부에서 무거운 물건을 계산할 수 있습니다. 그들은 자원 오버 헤드 측면에서 거의 비용이 들지 않으며, 당신이 그들이 일하게하는 한 너무 걱정하지 않아야합니다 (위의 도메인 사건 위 참조).
❓ 이 loader.js 는 무엇입니까? require.js 사용할 수 있습니까?
VS 코드에서 사용하는 AMD 로더입니다. 예.
❓ 경고가 "웹 워커를 만들 수 없다"는 경고를 본다. 어떻게해야하나요?
HTML5는 file:// 웹 워커를 생성합니다. http:// 또는 https:// schemes의 웹 서버로 편집기를로드하십시오.
∎ 편집기는 모바일 브라우저 또는 모바일 웹 앱 프레임 워크에서 지원됩니까?
아니요.
편집자가 텍스트 메이트 문법을 지원하지 않는 이유는 무엇입니까?
monaco-editor , vscode-oniguruma 및 vscode-textmate 구성하여 편집자에서 TM 문법 지원을받습니다. 우리는 지역 사회의 기여를 환영합니다! 효과적으로 기여할 수있는 방법, 소스에서 편집기를 실행할 수있는 방법 및 문제를 디버깅하고 수정하는 방법에 대한 자세한 내용은 기여를 참조하십시오.
이 프로젝트는 Microsoft 오픈 소스 행동 강령을 채택했습니다. 자세한 내용은 추가 질문이나 의견이 있으면 행동 강령 FAQ 또는 [email protected]에 문의하십시오.
MIT 라이센스에 따라 라이센스.