目次
すべてのルールは
属性を使用して構文要素を一致させます:
単一の引用文字列の一致など、beginおよびendプロパティを使用して、開始タグとエンドタグを一致させます:
ホームページ テクノロジー周辺機器 IT業界 Github'のAtom Codeエディターのパッケージを開発する方法

Github'のAtom Codeエディターのパッケージを開発する方法

Feb 19, 2025 am 10:20 AM

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 までご連絡ください。

ホット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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

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

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

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

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

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

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

See all articles