Atom Editor Extension Guide:独自のSyntax Highlighterパッケージを作成して公開する
Atomエディターは強力ですが、特定の言語の構文強調表示など、デフォルトで提供されていない機能が必要になる場合があります。現時点では、カスタムパッケージを作成することが特に重要です。この記事では、パッケージを強調表示する構文を作成し、Atomコミュニティに公開するように導きます。
コアポイント:
-
特にデフォルトで欠落している機能については、カスタムパッケージを作成することにより、Atomエディターの機能を拡張します。
- ディレクトリにフォルダーを作成し、新しいパッケージを初期化するために有効な
- ファイルを追加します。
.atom/packages
package.json
構文の強調表示の場合、 -
grammars
関数を使用してAtomでパッケージをテストして、変更をすぐに表示し、機能が機能していることを確認します。 - githubにパブリックリポジトリを設定し、
View/Reload
コマンドを使用してパッケージをAtomコミュニティに公開して、他の開発者に利益をもたらします。 -
apm publish
何を構築しますか?
この記事では、必要なあらゆる言語に適用できるに似た構文ハイライターを作成するように導きます。新しいパッケージの初期化、構文の強調表示ルールを作成する方法、およびAtomコミュニティにパッケージを公開する方法を学びます。
language-scilab
新しい原子パッケージを初期化
ATOMは、と呼ばれる構成ファイルフォルダーを使用して、個人オプションとインストールされたパッケージを保存します。パッケージは、このフォルダーの
サブフォルダーにあり、各パッケージには独自のフォルダーがあります。
.atom
packages
最初のステップは、などのパッケージフォルダーを作成することです(これは、言語サポートを追加するための命名規則です)。次に、そのフォルダーに
language-mylanguage
package.json
以下は、パッケージの
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
アトムパッケージをリリースendCaptures
patterns
ファイルで更新します。
コマンドを使用して、それぞれマイナーバージョン、メジャーバージョン、およびパッチバージョンを更新します)をパッケージ(それぞれ、package.json
、および
apm publish minor
minor
major
apm unpublish name-of-the-package
コマンドを使用して、リリースパッケージをキャンセルします。
結論
この記事では、Atom Syntaxの強調表示パッケージを作成および公開する方法について説明します。 Atomの柔軟性により、さまざまな種類のパッケージを作成できますが、この記事は構文強調表示パッケージの作成に限定されています。 この記事がAtomエディターの機能を拡大し、結果をコミュニティと共有するのに役立つことを願っています。
FAQ(FAQ)(元のテキストのFAQパーツはここで省略されています。この部分の内容は上記から非常に反復的であるため、上記のコンテンツの要約と説明です。冗長性を回避するために、繰り返し出力は実行されませんこちら。)
以上がGithub'のAtom Codeエディターのパッケージを開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

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

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

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

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


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

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

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

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
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。
