Vue コード強調プラグインの総合的な比較と評価

Vue コード強調プラグインの総合的な比較と評価

総合的な比較

アクティブの観点から

機能的な観点から

コードのハイライト表示は必須であり、コミュニティはアクティブでなければなりません。そうでないと、参照なしでバグを修正するのに時間がかかりすぎてしまいます。自動インデント補完、ショートカットキー操作、検索・置換などの機能は不要です。あれば自慢できるほど使えればベストですが、無くても使い勝手には影響ありません。

そこで、以下のものをピックアップし、詳細に分析し、一つ一つ調査し、その後の開発や展開の落とし穴をチェックしました。落とし穴が少なく、利便性が高いものを私が選択しました。

詳細な比較

1. エース

Ace は JavaScript で書かれた埋め込み可能なコード エディターです。 Sublime、Vim、TextMate などのネイティブ エディターのパワーとパフォーマンスに匹敵します。あらゆる Web ページや JavaScript アプリケーションに簡単に埋め込むことができます。

クリックして公式サイトを見る

2. コードミラー

CodeMirror は、エディターのテキストエリアのコードを強調表示するための JavaScript プラグインです。さまざまなプログラミング言語のキーワード、関数、変数などを強調表示できます。豊富な API、拡張可能な機能、複数のテーマ スタイルを備えており、さまざまなプロジェクトのニーズに対応します。

CodeMirror は、C、C++、C#、Java、Perl、PHP、JavaScript、Python、Lua、Go、Groovy、Ruby などの多数の言語の構文強調表示と、diff、LaTeX、SQL、wiki、Markdown などのファイル形式をサポートしています。さらに、CodeMirror は、コードの自動補完、検索/置換、HTML プレビュー、行番号、選択/検索結果の強調表示、ビジュアル タブ、Emacs/VIM キー バインディング、コードの自動フォーマットなどもサポートしています。

CodeMirror は MIT オープンソースライセンス契約を採用しており、Adobe Brackets、CoDev、Light Table などの開発環境など、さまざまなアプリケーションに統合されています。また、さまざまな SQL、Haxe、JavaScript オンラインエディターの基本ライブラリとしても使用されています。

クリックして公式サイトを見る

3. モナコ

Monaco エディターは、VS Code を強化し、ブラウザー環境で実行されるコード エディターです。エディターは、コードヒント、スマート提案、その他の機能を提供します。これにより、開発者はリモートでより便利にコードを記述できるようになります。 Monaco エディターは、モバイル ブラウザーまたはモバイル Web フレームワークではサポートされていません。簡単に言えば、VSCode のコード エディターと Monaco エディターは、同じコア モジュールの多くを使用します。

4. 結論

一般的に、これら 3 つの機能は非常に強力なので、それぞれの欠点に基づいて使用するものを選択してください。

ace、コード比較機能がありません。これは良くありません。各バージョンのコード間の違いを比較する必要があるので、アウトです。 (検索して、コード差分比較を実現できる ace-diff というプラグインを見つけました。ace のデプロイが失敗した主な理由は、webpack パッケージングをサポートしていなかったことです。ace をローカルでビルドした後、小さなワーカーがコンテンツのレンダリングを手伝ってくれました。webpack パッケージングした後、完全に静的なリソースになり、動的なレンダリング効果がなくなりました。公式サイトによるとサポートされているものの、ブロガーがさまざまな方法を試しましたが、すべて失敗に終わりました。)

Codemirror はユーザーインタラクション効果が乏しく、その効果を得るには多くのことを自分で拡張する必要があります。これらの拡張機能を学習するには間違いなく時間がかかり、間違いも発生します。複数のファイルを導入する方法は、管理上の不便さをもたらし、ブラウザのネットワーク パフォーマンスに影響を与えます。

monaco は、Microsoft の VSCode と多くのコアモジュールを共通で使用しています。成熟した信頼性の高い製品で、ユーザーインタラクションロジックが最高で、ネイティブの Visual Studio テーマ、コード差分比較効果も最高です。インポートされたファイルの量が膨大です。見てみたところ約 70M あります。インポート方法に互換性があまりなく、パッケージングに問題が発生しやすいです (monaco-editor-webpack-plugin プラグインでパッケージングすることでほとんどの問題は解決できます)。 Monaco エディターは、モバイル ブラウザーまたはモバイル Web フレームワークではサポートされていません。デモは本当に少なく、公式サイトにさえありません。公式サイトは非常に見栄えがよく、英語の辞書のような英語の参考書があります。そこにはたくさんの属性が密集してリストされていますが、どこから始めればよいのか、どのようにそれらをデモに組み合わせればよいのかわかりません。

上記は、vue コードハイライトプラグインの総合的な比較と評価の詳細な内容です。vue コードハイライトプラグインの詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • Vueはコードのハイライトを実現するためにモナコを使用しています
  • Vueでhighlight.jsを使用してコードのハイライトとクリックコピーを実現する

<<:  Docker で php-nginx-alpine イメージをゼロから構築する方法

>>:  mysql5.7.18 のインストール時にエントリが見つからない問題の解決方法

推薦する

HTML CSS JS はタブページのサンプルコードを実装します

コードをコピーコードは次のとおりです。 <html xmlns="">...

vue-cli 設定では Vuex の完全なプロセスレコードを使用します

目次序文インストールと使用方法モジュラー管理Vuex の状態永続性要約する序文Vue 開発では、ユー...

Linux sshのデフォルトのリモートポート番号を変更する6つの手順

Linux のデフォルトの ssh リモート ポートは 22 です。デフォルトのポートは、悪意のある...

ブラウザのスクロールバーのスタイルを変更するための純粋な CSS の例

CSSを使用してブラウザのスクロールバーのスタイルを変更する ::-webkit-スクロールバー{ ...

自分のブログを構築しながら学んだこと

<br />ブログを始めて 1 年、私はブログの内外で多くのことを個人的に学びました。ま...

光沢のある輝くウェブサイトデザインの感動的なデザイン例

このコレクションには、あなたのデザインアイデアにインスピレーションを与える、輝いて光沢のある、優れた...

Vue で className として空の文字列を使用することはなぜ推奨されないのですか?

目次空の文字列 '' と null を比較するケース1: 空の文字列を使用する &#...

WeChatアプレットは画像コントロールを選択します

この記事の例では、WeChatアプレットで画像コントロールを選択するための具体的なコードを参考までに...

入力タイプとは何を意味し、入力を制限する方法

入力を制限する一般的な方法1. ボタンが押されたときに点線のボックスを消すには、入力に属性値hide...

過去の Linux イメージの問題を修正するためのサンプル分析

過去の Linux イメージに関する問題を修正従来の Linux イメージで作成された ECS クラ...

Spring Boot Docker パッケージング ツールの概要

目次スプリングブートDocker spring-boot-maven-プラグインSpotify Ma...

Mysqlの自動増分IDについて知らないことがあるかもしれません

導入: MySQL を使用してテーブルを作成する場合、通常は自動インクリメント フィールド (AUT...

2つのLinuxサーバー間でファイルとフォルダを転送する手順

今日、私はプロジェクトの移行の問題に取り組んでいましたが、突然、大量の写真をどうやって移動したらよい...

WEBAPP開発スキルのまとめ(モバイルWebサイト開発の注意点)

1. レスポンシブな Web を開発するには、ページを画面サイズに適応させる必要があります。前の記...

MySQL 8.0.11 の新機能の紹介

MySQL 8.0 for Windows v8.0.11 公式無料バージョン 64 ビット1. デ...