Heim > Technologie-Peripheriegeräte > IT Industrie > So entwickeln Sie ein Paket für den Atom -Code -Editor von Github.

So entwickeln Sie ein Paket für den Atom -Code -Editor von Github.

Christopher Nolan
Freigeben: 2025-02-19 10:20:14
Original
835 Leute haben es durchsucht

Atom Editor Extension Guide: Erstellen und veröffentlichen Sie Ihr eigenes Syntax Highlighter -Paket

Atom Editor ist leistungsstark, aber manchmal benötigen Sie möglicherweise einige Funktionen, die standardmäßig nicht bereitgestellt werden, z. B. das Hervorheben der Syntax für eine bestimmte Sprache. Zu diesem Zeitpunkt ist es besonders wichtig, benutzerdefinierte Pakete zu erstellen. In diesem Artikel werden Sie dazu veranlasst, ein Syntax -Hervorhebungspaket zu erstellen und es an die Atom -Community zu veröffentlichen.

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

Kernpunkte:

  • Erweitern Sie die Funktionalität des ATOM -Editors, indem Sie benutzerdefinierte Pakete erstellen, insbesondere für Funktionen, die standardmäßig fehlen.
  • Erstellen Sie einen Ordner im Verzeichnis .atom/packages und fügen Sie eine gültige package.json Datei hinzu, um das neue Paket zu initialisieren.
  • Erstellen Sie für die Syntax -Hervorhebung einen grammars Unterordner, definieren Sie Sprachregeln in einer CSON -Datei und geben Sie an, wie Atom die Sprachsyntax erkennt und hervorhebt.
  • Testen Sie Ihr Paket im Atom mit der Funktion View/Reload, um Änderungen sofort anzuzeigen und sicherzustellen, dass die Funktionalität funktioniert.
  • Richten Sie ein öffentliches Repository auf GitHub ein und verwenden Sie den Befehl apm publish, um Ihr Paket an die Atom -Community zu veröffentlichen, um anderen Entwicklern zugute kommen.

Was werden wir bauen?

Dieser Artikel führt Sie zum Erstellen eines Syntax -Highlighters, der language-scilab ähnelt, den Sie auf jede Sprache anwenden können, die Sie benötigen. Wir lernen, wie Sie ein neues Paket initialisieren, Regeln für Syntax -Hervorhebungen schreiben und Ihr Paket an die Atom -Community veröffentlichen.

Initialisieren Sie das neue Atom -Paket

Atom verwendet einen Konfigurationsdateiordner mit dem Namen .atom, um persönliche Optionen und installierte Pakete zu speichern. Die Pakete befinden sich im Unterordner dieses Ordners packages und jedes Paket verfügt über einen eigenen Ordner.

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

Der erste Schritt besteht darin, Ihren Paketordner wie language-mylanguage zu erstellen (dies ist eine Namenskonvention, um Sprachunterstützung hinzuzufügen). Erstellen Sie dann die package.json -Datei in diesem Ordner, und Atom kann sie erkennen und laden.

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

Folgendes ist ein Beispiel für die language-mylanguage -Datei eines package.json -Pakets:

{
  "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"
}
Nach dem Login kopieren
Nach dem Login kopieren

Keyfield Erläuterung:

  • "name": Packungsname.
  • "version": Versionsnummer folgt der Konvention für Major-, Moll- und überarbeitete Versionen. 0.0.0
  • : Paketbeschreibung. "description"
  • : Atom Mindestversionsanforderungen. "engines"
  • : Paketabhängigkeiten. "dependencies"
  • : Die GitHub -Repository -Adresse des Pakets (kann vor der Veröffentlichung leer werden). "repository"
  • : Adresse, um das Problem zu melden. "bugs"
  • : Lizenz. "license"
Nach dem Erstellen der Datei

kann Atom Ihr Paket erkennen. Sie können den Befehl package.json verwenden, um das Atom zum Nachladen des Pakets zu zwingen, so dass Änderungen sofort sichtbar sind. View/Reload

Erstellen Sie ein Syntax Highlighter -Paket

Erstellen Sie einen

Unterordner im Paketordner und erstellen Sie eine CSON -Datei, die nach dem Sprachnamen benannt ist (z. B. grammars). Diese Datei enthält Syntax -hervorgehobene Regeln. mylanguage.cson

Grundlegende Informationen

Bevor Sie Grammatikregeln definieren, müssen Sie Atom sagen, wie Sie Ihre Sprache erkennen:

{
  "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"
}
Nach dem Login kopieren
Nach dem Login kopieren
  • : Sprachkennung, verwendet für Themen, andere Pakete oder Konfigurationsdateien. scopeName
  • : Der Sprachname, der unten im Atom -Editor angezeigt wird. name
  • : Das von der Sprache verwendete Dateierweiterungs -Array. fileTypes
Grammatikregeln

Alle Regeln müssen im

-Array deklariert werden. Jede Regel ist in patterns: {} beigefügt

'scopeName': 'source.mylanguage'
'name': 'Mylanguage'
'fileTypes': ['ext1', 'ext2']
Nach dem Login kopieren
Übereinstimmende Syntaxelemente

Übereinstimmende Syntaxelemente mit dem Attribut

wie übereinstimmende Zahlen: match

'scopeName': 'source.mylanguage'
'name': 'Mylanguage'
'fileTypes': ['ext1', 'ext2']

'patterns': [
    {
        # 规则1
    },
    {
        # 规则2
    }
]
Nach dem Login kopieren

Verwenden Sie reguläre Ausdrücke, match Geben Sie den Namen der Stilklassen an und befolgen Sie bestimmte Namenskonventionen, damit das Thema den Stil korrekt anwenden kann. name

übereinstimmen mehrere Elemente

Übereinstimmen Sie mehrere Elemente mit dem Attribut

, z. B. der Übereinstimmungsfunktionserklärung: captures

{
    'match': '\b(([0-9]+\.?[0-9]*)|(\.[0-9]+))\b'
    'name': 'constant.numeric.mylanguage'
}
Nach dem Login kopieren
Match

mit begin und end

übereinstimmen

übereinstimmen die Start- und End -Tags mit den Eigenschaften begin und end, wie z.

{
    'match': '\b(function)\s+(\w+)\s*\(.*\)'
    'captures': {
        '1': { 'name': 'keyword.control.mylanguage' },
        '2': { 'name': 'entity.name.function.mylanguage' }
    },
    'name': 'meta.function.mylanguage'
}
Nach dem Login kopieren
Sie können auch

und beginCaptures verwenden, um die Start- und End-Tags zu erfassen, und die endCaptures -attribute übereinstimmen Subelemente innerhalb des Matching-Elements. patterns

ATOM -Paket veröffentlichen

Bitte überprüfen Sie, ob das Paket mit demselben Namen bereits vor der Veröffentlichung vorhanden ist. Sie benötigen ein öffentliches Github -Repository. Aktualisieren Sie die Repository -Adresse in der Datei

. package.json

Verwenden Sie den Befehl

, um das Paket zu veröffentlichen (apm publish minor, minor bzw. major aktualisieren Sie die Minor -Version, die Hauptversion und die Patch -Version). In diesem Befehl registriert Ihr Paketname, fügen Sie die Versionsnummer hinzu, erstellen Sie Git -Tags und drücken Sie Änderungen. patch

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

Verwenden Sie den Befehl apm unpublish name-of-the-package, um das Release -Paket abzubrechen.

Schlussfolgerung

In diesem Artikel wird beschrieben, wie Sie Atom -Syntax -Highlighting -Pakete erstellen und veröffentlichen. Die Flexibilität von Atom ermöglicht die Erstellung verschiedener Arten von Paketen, aber dieser Artikel beschränkt sich auf die Erstellung von Syntax -hervorgehobenen Paketen. Ich hoffe, dieser Artikel hilft Ihnen, die Funktionalität des Atom -Editors zu erweitern und Ihre Ergebnisse mit der Community zu teilen.

FAQs (FAQs)

(Der FAQS -Teil im Originaltext wird hier weggelassen, da der Inhalt dieses Teils von der obigen sehr wiederholt ist, was eine Zusammenfassung und Erklärung des oben genannten Inhalts ist. Um Redundanz zu vermeiden, wird wiederholte Ausgabe nicht durchgeführt hier.)

Das obige ist der detaillierte Inhalt vonSo entwickeln Sie ein Paket für den Atom -Code -Editor von Github.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage