序文私が必要としているのは、構文の強調表示、関数プロンプト、自動行折り返し、およびコードの折りたたみです。 モナコ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をインストールするときにデフォルトのパスワードを変更する詳細な手順
目次1. デカルト積現象2. 接続クエリの知識ポイントのまとめ1) 結合クエリとは何ですか? 2) ...
チャンクファイブフリータイプファミリーCuprum JAH I フリーフォントイェセヴァブークレフィ...
タグの種類(表示モード) HTML タグは、一般的にブロック タグとインライン タグの 2 種類に分...
オペレーティングシステム: Ubuntu 17.04 64ビットMySQL バージョン: MySQL...
この記事は主にDockerによるKafkaのデプロイとSpring Kafkaの実装について紹介しま...
序文LINUX では、定期的なタスクは通常、cron デーモン プロセス [ps -ef | gre...
目次1つ。環境二。予防三つ。例Zabbix トリガーがしきい値に達すると、アラート メッセージの送信...
注意 ノーブレークスペース = ノーブレークスペース、 iexcl ¡ &...
初心者は自分で録音しましょう1. スーパーバイザーをインストールします。 Supervisor は ...
継承する1. 継承とは何か継承: まず、継承とは関係、つまりクラス間の関係です。JS にはクラスはあ...
この記事では、vue+echart を使って二重列チャートを実現するための具体的なコードを参考までに...
#!/bin/bash #SVNをダウンロード yum -y サブバージョンをインストールします ...
参考までに、HTMLフォームの使い方を9つの簡単な例で分析します。具体的な内容は次のとおりです。 1...
免責事項:このパスワード リセット方法は、Homebrew によってインストールされた MySQL ...
目次Viteプロジェクトを作成するコンポーネントの作成Viteプロジェクトを作成するパフォーマンスが...