検索
ホームページテクノロジー周辺機器IT業界Github'のAtom Codeエディターのパッケージを開発する方法

Atom Editor Extension Guide:独自のSyntax Highlighterパッケージを作成して公開する

Atomエディターは強力ですが、特定の言語の構文強調表示など、デフォルトで提供されていない機能が必要になる場合があります。現時点では、カスタムパッケージを作成することが特に重要です。この記事では、パッケージを強調表示する構文を作成し、Atomコミュニティに公開するように導きます。

How To Develop a Package for GitHub's Atom Code Editor

コアポイント:

    特にデフォルトで欠落している機能については、カスタムパッケージを作成することにより、Atomエディターの機能を拡張します。
  • ディレクトリにフォルダーを作成し、新しいパッケージを初期化するために有効な
  • ファイルを追加します。 .atom/packages package.json構文の強調表示の場合、
  • grammars関数を使用してAtomでパッケージをテストして、変更をすぐに表示し、機能が機能していることを確認します。
  • githubにパブリックリポジトリを設定し、View/Reloadコマンドを使用してパッケージをAtomコミュニティに公開して、他の開発者に利益をもたらします。
  • apm publish
  • 何を構築しますか?

この記事では、必要なあらゆる言語に適用できるに似た構文ハイライターを作成するように導きます。新しいパッケージの初期化、構文の強調表示ルールを作成する方法、およびAtomコミュニティにパッケージを公開する方法を学びます。

language-scilab新しい原子パッケージを初期化

ATOMは、と呼ばれる構成ファイルフォルダーを使用して、個人オプションとインストールされたパッケージを保存します。パッケージは、このフォルダーの

サブフォルダーにあり、各パッケージには独自のフォルダーがあります。

.atom packages

最初のステップは、How To Develop a Package for GitHub's Atom Code Editor などのパッケージフォルダーを作成することです(これは、言語サポートを追加するための命名規則です)。次に、そのフォルダーに

ファイルを作成すると、Atomはそれを認識してロードできます。

language-mylanguage package.json

以下は、How To Develop a Package for GitHub's Atom Code Editor パッケージの

ファイルの例です。

language-mylanguageキーフィールドの説明:package.json

  • "name":パッケージ名。
  • "version":主要なバージョン、マイナー、改訂版のコンベンションに続くバージョン番号。 0.0.0
  • :パッケージの説明。 "description"
  • :原子最小バージョン要件。 "engines"
  • :パッケージ依存関係。 "dependencies"
  • :パッケージのgithubリポジトリアドレス(リリース前に空にすることができます)。 "repository"
  • :問題を報告するアドレス。 "bugs"
  • :ライセンス。 "license"

ファイルを作成した後、Atomはパッケージを認識できます。 package.jsonコマンドを使用して、Atomを強制的にパッケージにリロードさせて、変更がすぐに表示されるようにすることができます。 View/Reload

Syntax Highlighterパッケージを作成します

パッケージフォルダーにa

サブフォルダーを作成し、言語名にちなんで名付けられたCSONファイルを作成します(たとえば、grammars)。このファイルには、構文の強調表示ルールが含まれています。 mylanguage.cson

基本情報

文法ルールを定義する前に、あなたの言語を認識する方法をAtomに伝える必要があります:
{
  "name": "language-mylanguage",
  "version": "0.0.0",
  "description": "Mylanguage language support in Atom",
  "engines": {
    "atom": "*"
  },
  "dependencies": {},
  "repository": {
    "type": "git",
    "url": "https://github.com/JeremyHeleine/language-mylanguage.git"
  },
  "bugs": {
    "url": "https://github.com/JeremyHeleine/language-mylanguage/issues"
  },
  "license": "MIT"
}
    :トピック、その他のパッケージ、または構成ファイルに使用される言語識別子。
  • scopeName
  • :Atomエディターの下部に表示される言語名。
  • name
  • :言語で使用されるファイル拡張子配列。
  • fileTypes
  • 文法ルール

すべてのルールは

配列で宣言する必要があります。各ルールは

patternsに囲まれています。 {}

構文要素を一致させます
'scopeName': 'source.mylanguage'
'name': 'Mylanguage'
'fileTypes': ['ext1', 'ext2']
一致する数字など、

属性を使用して構文要素を一致させます:

match

正規表現を使用し、
'scopeName': 'source.mylanguage'
'name': 'Mylanguage'
'fileTypes': ['ext1', 'ext2']

'patterns': [
    {
        # 规则1
    },
    {
        # 规则2
    }
]
スタイルクラス名を指定し、特定の命名規則に従って、テーマがスタイルを正しく適用できるようにします。

match複数の要素を一致させますname 一致する関数宣言など、

属性を使用して複数の要素を一致させる:

captures

{
    'match': '\b(([0-9]+\.?[0-9]*)|(\.[0-9]+))\b'
    'name': 'constant.numeric.mylanguage'
}
と一致します

単一の引用文字列の一致など、beginおよびendプロパティを使用して、開始タグとエンドタグを一致させます:

>beginおよびendを使用して、開始タグとエンドタグをキャプチャすることもでき、

属性は一致する要素内のサブエレメントを一致させることもできます。
{
    'match': '\b(function)\s+(\w+)\s*\(.*\)'
    'captures': {
        '1': { 'name': 'keyword.control.mylanguage' },
        '2': { 'name': 'entity.name.function.mylanguage' }
    },
    'name': 'meta.function.mylanguage'
}

beginCapturesアトムパッケージをリリースendCapturespatterns

公開する前に、同じ名前のパッケージが既に存在するかどうかを確認してください。パブリックGithubリポジトリが必要です。リポジトリアドレスを

ファイルで更新します。

コマンドを使用して、それぞれマイナーバージョン、メジャーバージョン、およびパッチバージョンを更新します)をパッケージ(それぞれ

package.json、および

)を公開します。このコマンドは、パッケージ名を登録し、バージョン番号を追加し、gitタグを作成し、変更をプッシュします。

apm publish minor minormajor

apm unpublish name-of-the-packageコマンドを使用して、リリースパッケージをキャンセルします。

結論

この記事では、Atom Syntaxの強調表示パッケージを作成および公開する方法について説明します。 Atomの柔軟性により、さまざまな種類のパッケージを作成できますが、この記事は構文強調表示パッケージの作成に限定されています。 この記事がAtomエディターの機能を拡大し、結果をコミュニティと共有するのに役立つことを願っています。

FAQ(FAQ)(元のテキストのFAQパーツはここで省略されています。この部分の内容は上記から非常に反復的であるため、上記のコンテンツの要約と説明です。冗長性を回避するために、繰り返し出力は実行されませんこちら。)

以上がGithub'のAtom Codeエディターのパッケージを開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
カスタム電気通信ソフトウェアの利点カスタム電気通信ソフトウェアの利点May 11, 2025 am 08:28 AM

カスタマイズされた通信ソフトウェア開発は、間違いなくかなりの投資です。ただし、長期的には、このようなプロジェクトは、市場で既製のソリューションのように生産性を向上させる可能性があるため、より費用対効果が高い可能性があることに気付くかもしれません。カスタマイズされた通信システムを構築することの最も重要な利点を理解してください。 必要な正確な機能を取得します あなたが購入できる既製の通信ソフトウェアには2つの潜在的な問題があります。生産性を大幅に向上させることができる有用な機能が欠けているものもあります。いくつかの外部統合でそれらを強化することができることもありますが、それは常にそれらを素晴らしいものにするのに十分ではありません。 他のソフトウェアには機能が多すぎて、使用できないほど複雑すぎます。おそらくこれらのいくつかを使用しないでしょう(決して!)。通常、多くの機能が価格に追加されます。 あなたのニーズに基づいています

CNCFは、ARM64およびx86のプラットフォームパリティブレークスルーをトリガーしますCNCFは、ARM64およびx86のプラットフォームパリティブレークスルーをトリガーしますMay 11, 2025 am 08:27 AM

ARM64アーキテクチャのオープンソースソフトウェアのCI/CDパズルとソリューション ARM64アーキテクチャにオープンソースソフトウェアを展開するには、強力なCI/CD環境が必要です。ただし、ARM64のサポートレベルと従来のX86プロセッサアーキテクチャには違いがありますが、これはしばしば不利な点にあります。複数のアーキテクチャのインフラストラクチャコンポーネント開発者は、職場環境に一定の期待を持っています。 一貫性:プラットフォーム間で使用されるツールとメソッドは一貫しており、人気の少ないプラットフォームの採用により開発プロセスを変更する必要性を回避します。 パフォーマンス:プラットフォームとサポートメカニズムは、複数のプラットフォームをサポートする際に展開シナリオが不十分な速度によって影響を受けることを保証するための優れたパフォーマンスを備えています。 テストカバレッジ:効率、コンプライアンス、および

2025年に購読する上位21の開発者ニュースレター2025年に購読する上位21の開発者ニュースレターApr 24, 2025 am 08:28 AM

これらのトップ開発者ニュースレターを使用して、最新のハイテクトレンドについてお知らせください! このキュレーションされたリストは、AI愛好家からベテランのバックエンドやフロントエンド開発者まで、すべての人に何かを提供します。 お気に入りを選択し、Relを検索する時間を節約してください

AWS ECSとLambdaを備えたサーバーレス画像処理パイプラインAWS ECSとLambdaを備えたサーバーレス画像処理パイプラインApr 18, 2025 am 08:28 AM

このチュートリアルは、AWSサービスを使用してサーバーレスイメージ処理パイプラインを構築することをガイドします。 APIゲートウェイ、Lambda関数、S3バケット、およびDynamoDBと対話するECS Fargateクラスターに展開されたnext.jsフロントエンドを作成します。 th

CNCF ARM64パイロット:インパクトと洞察CNCF ARM64パイロット:インパクトと洞察Apr 15, 2025 am 08:27 AM

このパイロットプログラム、CNCF(クラウドネイティブコンピューティングファンデーション)、アンペアコンピューティング、Equinix Metal、およびActuatedのコラボレーションであるCNCF GithubプロジェクトのARM64 CI/CDが合理化されます。 このイニシアチブは、セキュリティの懸念とパフォーマンスリムに対処します

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。