序文私が必要としているのは、構文の強調表示、関数プロンプト、自動行折り返し、およびコードの折りたたみです。 モナコMonaco は Microsoft 製で、多くの言語をサポートし、サムネイル マップも備えていますが、プロンプトが使いにくい場合があり、パッケージ サイズが非常に大きくなります。 公式サイトの使い方
インストール
導入 import * as monaco from 'monaco-editor' // パッケージは大きいですが、デモは実行できます // いくつかの提案機能をカスタマイズします const suggestions = [ { ラベル: 'split_chinese', insertText: 'split_chinese(inputString,language);', // 書き込まれていない場合は表示されません。 。 詳細: 'inputString: 文字列を分割する必要があります\n' + '言語:\nCH_T:中国語(繁体字)\nCH_S:中国語(簡体字)\n HK_T:香港(繁体字)\nTW_T:台湾(繁体字)\n' }, { ラベル: 'uuid', 挿入テキスト: 'var uuid = uuid();', 詳細: 'UUID を生成' }, { ラベル: 'HashMap', 挿入テキスト: 'var hashMap = new HashMap();', 詳細: 'ハッシュオブジェクトの作成' } ] 初期化 マウント() { monaco.languages.registerCompletionItemProvider('JavaScript', { 完了項目を提供する() { 戻る { 提案: 提案 } }, triggerCharacters: [' ', '.'] // プロンプトをトリガーする文字を記述します。複数指定できます。 }) 自分 = これ setTimeout(関数() { 自己初期化() }, 50) //親コンポーネントがパラメータを渡さなかったため、子コンポーネントがレンダリングされました} // 初期化メソッド init(script) { 自分 = これ if (スクリプト) this.code = スクリプト 自己.$refs.container.innerHTML = '' var editor = monaco.editor.create(this.$refs.container, { 値: this.code、 言語: 'javascript', ミニマップ: 有効: false }, フォントサイズ: '12px', fixedOverflowWidgets: true // エディターのサイズを超えるウィジェットを表示するには、固定属性を使用します}) editor.onDidChangeModelContent(関数() { self.$emit('update:code', editor.getValue()) //エディターのコンテンツの変更を監視し、そのコンテンツを親コンポーネントに渡すために使用されます}) } html <テンプレート> <div ref="コンテナ" class="モナコ"></div> </テンプレート> CS <スタイルスコープ> .モナコ { 幅: 95%; 高さ: 400px; 境界線: 1px 実線 #dcdfe6; テキスト配置: 左; 右マージン: 20px; 境界線の半径: 4px; } </スタイル> 操作効果 欠点 私のはひっくり返されてしまったので、もう一度実行したくありません。コードが残っているうちにデモを書くことにします。問題なく動作します (一部の顧客からは、使いにくいという報告もありましたが、それは私の責任で、私は Monaco を使う資格がありません)。ただし、特にプロンプト機能は通常プロンプトがないため、使用するのが非常に困難です。すると、1 つのパッケージが 3.9G ほど巨大になりました (本当です)。必要に応じて導入されない場合もありますが、導入されていない場合はプロンプト機能、カスタム機能プロンプトは表示されません。 webpack の設定もあり、あれこれいじっています! 以上がJSコンパイラMonacoの使い方チュートリアルの詳しい内容です。JSコンパイラMonacoの詳細については、123WORDPRESS.COMの他の関連記事にも注目してください。 以下もご興味があるかもしれません:
|
<<: Windows で mysql 8.0.12 をインストールするための詳細なチュートリアル
>>: UbuntuにMySQLをインストールするときにデフォルトのパスワードを変更する詳細な手順
CSSフィルターを使用してマウスオーバー効果を記述する <div class="fi...
目次背景分析するデータシミュレーション1. 従業員テーブルと部門テーブルの2つのテーブルを作成します...
この記事では、参考までに、簡単な計算機能を実装するためのJavaScriptの具体的なコードを紹介し...
<br />構造と階層により複雑さが軽減され、読みやすさが向上します。記事やサイトが整理...
この記事の例では、計算機機能を実装するためのjsの具体的なコードを参考までに共有しています。具体的な...
私たちが作成する Web ページでは、より多くの人々に訪問してもらいたい場合、検索エンジンを使用して...
序文MySQL データベースでは、if else のような判断演算を使用することがあります。では、M...
この記事では、jsとjQueryテクノロジーを使用して告白弾幕を実現する方法を紹介します。具体的な内...
この記事では、プログレスバーヒストグラムを実現するためのvue+echartsの具体的なコードを参考...
フロントエンド開発を行っている初心者の学生を多く見かけますが、彼らの効率は比較的遅いです。常にコード...
新しい接続を作成する側がクライアントに相当し、接続される側がサーバーに相当します。手順は次のとおりで...
目次1. オプションの連鎖2. NULL値の結合3. 再帰型エイリアス4. アサーション署名5. P...
1) キャッシュメカニズムの紹介Linux システムでは、ファイルシステムのパフォーマンスを向上させ...
この記事では、マウスを動かしたときにセカンダリ メニュー バーを実装するために HTML+CSS を...
まず、Webフロントエンドエンジニアの価値についてお話ししましょう。現在、Web製品のインタラクショ...