CINXE.COM
phpBB.de - Knowledge Base - Editor-übergreifende Format-Vorgaben mit EditorConfig
<!DOCTYPE html> <html dir="ltr" lang="de"> <head> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>phpBB.de - Knowledge Base - Editor-übergreifende Format-Vorgaben mit EditorConfig</title> <link rel="alternate" type="application/atom+xml" title="Feed - phpBB.de" href="/feed?sid=5bb54067b5685d11da695648f5070f62"> <link rel="alternate" type="application/atom+xml" title="Feed - Neuigkeiten" href="/feed/news?sid=5bb54067b5685d11da695648f5070f62"> <link rel="alternate" type="application/atom+xml" title="Feed - Neue Themen" href="/feed/topics?sid=5bb54067b5685d11da695648f5070f62"> <link rel="alternate" type="application/atom+xml" title="Feed - Aktive Themen" href="/feed/topics_active?sid=5bb54067b5685d11da695648f5070f62"> <!-- phpBB style name: phpBBdev1 Based on style: prosilver (this is the default phpBB3 style) Original author: Tom Beddard ( http://www.subBlue.com/ ) Modified by: phpBB.de --> <link href="./../community/assets/css/font-awesome.min.css?assets_version=280" rel="stylesheet"> <link href="./../community/styles/prosilver/theme/stylesheet.css?assets_version=280" rel="stylesheet" /> <link href="./../community/styles/phpBBdev1/theme/stylesheet.css?assets_version=280" rel="stylesheet"> <link href="./../community/styles/phpBBdev1/theme/de/stylesheet.css?assets_version=280" rel="stylesheet"> <link href="./../community/styles/phpBBdev1/theme/images/favicon/mask-icon.svg?assets_version=280" rel="mask-icon" color="#3E647B" /> <!--[if lte IE 9]> <link href="./../community/styles/prosilver/theme/tweaks.css?assets_version=280" rel="stylesheet"> <![endif]--> <link href="./../community/ext/kinerity/knowledgebase/styles/prosilver/theme/knowledgebase_controller.css?assets_version=280" rel="stylesheet" media="screen"> <link href="./../community/ext/phpbbde/pastebin/styles/prosilver/theme/pastebin.css?assets_version=280" rel="stylesheet" media="screen"> <link href="./../community/ext/rmcgirr83/contactadmin/styles/prosilver/theme/imageset.css?assets_version=280" rel="stylesheet" media="screen"> </head> <body id="phpbb" class="nojs notouch section-app/kb/viewarticle ltr "> <div id="wrap" class="wrap"> <a id="top" class="top-anchor" accesskey="t"></a> <div id="page-header"> <div class="headerbar" role="banner"> <div class="inner"> <div id="site-description" class="site-description"> <a id="logo" class="logo" href="./../" title="Startseite"> <span class="site_logo"></span> </a> <h1>phpBB.de</h1> <p>phpBB.de - Die deutsche phpBB-Community</p> <p class="skiplink"><a href="#start_here">Zum Inhalt</a></p> </div> <div id="search-box" class="search-box search-header" role="search"> <form action="./../community/search.php?sid=5bb54067b5685d11da695648f5070f62" method="get" id="search"> <fieldset> <input name="keywords" id="keywords" type="search" maxlength="128" title="Suche nach Wörtern" class="inputbox search tiny" size="20" value="" placeholder="Suche…" /> <button class="button button-search" type="submit" title="Suche"> <i class="icon fa-search fa-fw" aria-hidden="true"></i><span class="sr-only">Suche</span> </button> <a href="./../community/search.php?sid=5bb54067b5685d11da695648f5070f62" class="button button-search-end" title="Erweiterte Suche"> <i class="icon fa-cog fa-fw" aria-hidden="true"></i><span class="sr-only">Erweiterte Suche</span> </a> <input type="hidden" name="sid" value="5bb54067b5685d11da695648f5070f62" /> </fieldset> </form> </div> <div id="phpbbde_navigation" class="phpbbde_navigation"> <div class="menu-button"> <a href="#" id="navi-toggle" title="Menü anzeigen">Menü</a> </div> <ul id="mainnavi" class="mainnavi"> <li class="mainnavi-title">phpBB.de - Navigation</li> <li class="navi-button but-about"> <a href="./../phpbbde/?sid=5bb54067b5685d11da695648f5070f62"><span class="subnavi-toggle"></span>Über uns</a> <ul class="subnavi"> <li><a href="./../phpbbde/chronik/?sid=5bb54067b5685d11da695648f5070f62">phpBB.de-Chronik <span>Die Geschichte von phpBB.de in Wort und Bild</span></a></li> <li><a href="./../phpbbde/team/?sid=5bb54067b5685d11da695648f5070f62">Das Team <span>Erfahre mehr über das Team hinter phpBB.de</span></a></li> <li><a href="./../phpbbde/fragen/?sid=5bb54067b5685d11da695648f5070f62">Fragen an das Team <span>Ihr habt gefragt, wir haben geantwortet</span></a></li> <li><a href="/contactadmin?sid=5bb54067b5685d11da695648f5070f62">Kontaktformular <span>Formular zur Kontaktaufnahme mit dem phpBB.de-Team</span></a></li> <li><a href="./../phpbbde/impressum/?sid=5bb54067b5685d11da695648f5070f62">Impressum <span>Das phpBB.de-Impressum</span></a></li> </ul> </li> <li class="navi-button but-phpbb"> <a href="./../infos/?sid=5bb54067b5685d11da695648f5070f62"><span class="subnavi-toggle"></span>phpBB</a> <ul class="subnavi"> <li><a href="./../infos/?sid=5bb54067b5685d11da695648f5070f62">Infos über phpBB <span>Erfahre mehr über phpBB</span></a></li> <li><a href="./../infos/tour/?sid=5bb54067b5685d11da695648f5070f62">Die phpBB-Tour <span>Was ist phpBB und wo bekomme ich es?</span></a></li> <li><a href="./../infos/features/?sid=5bb54067b5685d11da695648f5070f62">Feature-Vergleich <span>Lerne alle Features kennen, die dir phpBB bietet</span></a></li> <li><a href="./../infos/anpassen/?sid=5bb54067b5685d11da695648f5070f62">phpBB anpassen <span>Nutze Erweiterungen und Styles, um phpBB deinen Wünschen anzupassen</span></a></li> <li><a href="./../infos/entwickler/3.3/?sid=5bb54067b5685d11da695648f5070f62">Informationen für Entwickler <span>phpBB-Projektarchiv, nützliche Links, ...</span></a></li> <li><a href="./../xref/3.3/?sid=5bb54067b5685d11da695648f5070f62">Cross-Referenz 3.3 <span>Cross-Referenz des phpBB-Quellcodes</span></a></li> </ul> </li> <li class="navi-button but-downloads"> <a href="./../downloads/?sid=5bb54067b5685d11da695648f5070f62"><span class="subnavi-toggle"></span>Downloads</a> <ul class="subnavi"> <li><a href="./../downloads/pakete/?sid=5bb54067b5685d11da695648f5070f62">phpBB-Pakete <span>Die aktuellen dt. Komplett- und Updatepakete von phpBB</span></a></li> <li><a href="./../downloads/sprachpakete/?sid=5bb54067b5685d11da695648f5070f62">Sprachpakete <span>Die aktuellen deutschen Sprachdateien für phpBB</span></a></li> <li><a href="./../downloads/entwicklung/?sid=5bb54067b5685d11da695648f5070f62">Entwicklung <span>Entwickler-Downloads</span></a></li> </ul> </li> <li class="navi-button but-docu"> <a href="./../support/?sid=5bb54067b5685d11da695648f5070f62"><span class="subnavi-toggle"> </span>Support</a> <ul class="subnavi"> <li><a href="./../support/doku/quickstart/3.3/?sid=5bb54067b5685d11da695648f5070f62">Schnelleinstieg <span>Erklärt dir die Einrichtung deines phpBB Boards</span></a></li> <li><a href="https://www.phpbb.de/help/faq">Häufig gestellte Fragen <span>Häufige Fragen im Zusammenhang mit der Nutzung von phpBB</span></a></li> <li><a href="./../kb/index?sid=5bb54067b5685d11da695648f5070f62">Knowledge Base <span>Unsere Wissensdatenbank mit vielen und hilfreichen Artikeln</span></a></li> <li><a href="./../support/videos/?sid=5bb54067b5685d11da695648f5070f62">Videos <span>Unsere Supportvideos erklären Funktionen von phpBB</span></a></li> <li><a href="./../support/doku/?sid=5bb54067b5685d11da695648f5070f62">Dokumentation <span>Hier findest Du Dokumentationen zu phpBB</span></a></li> <li><a href="./../support/doku/perror/?sid=5bb54067b5685d11da695648f5070f62">MySQL-Fehlercodes <span>Mysql Fehlercodes dokumentiert</span></a></li> <li><a href="./../support/doku/htpasswd/?sid=5bb54067b5685d11da695648f5070f62">.htpasswd-Generator <span>Einfach zu bedienener Generator für .htpasswd Dateien</span></a></li> </ul> </li> <li class="navi-button but-community"> <a href="./../community/?sid=5bb54067b5685d11da695648f5070f62"><span class="subnavi-toggle"> </span>Community</a> <ul class="subnavi"> <li><a href="./../community/viewforum.php?f=145&sid=5bb54067b5685d11da695648f5070f62">Supportforen <span>Hilfe bei der Installation und Benutzung</span></a></li> <li><a href="./../community/viewforum.php?f=104&sid=5bb54067b5685d11da695648f5070f62">Communityforen<span>Allgemeine Diskussionen und phpBB-Usergroups</span></a></li> <li><a href="./../community/viewforum.php?f=148&sid=5bb54067b5685d11da695648f5070f62">Extension-Foren<span>Auf der Suche nach einer Extension? Fragen zu einer Extension?</span></a></li> <li><a href="./../community/viewforum.php?f=152&sid=5bb54067b5685d11da695648f5070f62">Styleforen<span>Du suchst einen neuen Style oder hast Probleme mit einem Style?</span></a></li> <li><a href="./../kb/knigge?sid=5bb54067b5685d11da695648f5070f62">Der kleine phpBB.de-Knigge <span>Eine kleine Liste von wichtigen Regeln auf phpBB.de</span></a></li> <li><a href="./../phpbbde/chat/?sid=5bb54067b5685d11da695648f5070f62">Discord / Chat <span>Besuche den Discord-Server oder den Chat auf Freenode</span></a></li> </ul> </li> </ul> </div> </div> </div> <div class="navbar" role="navigation"> <div class="inner"> <ul id="nav-main" class="nav-main linklist" role="menubar"> <li id="quick-links" class="quick-links dropdown-container responsive-menu" data-skip-responsive="true"> <a href="#" class="dropdown-trigger"> <i class="icon fa-bars fa-fw" aria-hidden="true"></i><span>Schnellzugriff</span> </a> <div class="dropdown"> <div class="pointer"><div class="pointer-inner"></div></div> <ul class="dropdown-contents" role="menu"> <li class="separator"></li> <li> <a href="./../community/search.php?search_id=unanswered&sid=5bb54067b5685d11da695648f5070f62" role="menuitem"> <i class="icon fa-file-o fa-fw icon-gray" aria-hidden="true"></i><span>Unbeantwortete Themen</span> </a> </li> <li> <a href="./../community/search.php?search_id=active_topics&sid=5bb54067b5685d11da695648f5070f62" role="menuitem"> <i class="icon fa-file-o fa-fw icon-blue" aria-hidden="true"></i><span>Aktive Themen</span> </a> </li> <li class="separator"></li> <li> <a href="./../community/search.php?sid=5bb54067b5685d11da695648f5070f62" role="menuitem"> <i class="icon fa-search fa-fw" aria-hidden="true"></i><span>Suche</span> </a> </li> <li class="separator"></li> <li> <a href="./../phpbbde/team.php?sid=5bb54067b5685d11da695648f5070f62" role="menuitem"> <i class="icon fa-shield fa-fw" aria-hidden="true"></i><span>Das Team</span> </a> </li> <li class="separator"></li> </ul> </div> </li> <li data-skip-responsive="true"> <a href="./../help/faq?sid=5bb54067b5685d11da695648f5070f62" rel="help" title="Häufig gestellte Fragen" role="menuitem"> <i class="icon fa-question-circle fa-fw" aria-hidden="true"></i><span>FAQ</span> </a> </li> <li data-last-responsive="true"><a href="/pastebin/?sid=5bb54067b5685d11da695648f5070f62" title="Pastebin"><i class="icon fa-clipboard fa-fw" aria-hidden="true"></i><span>Pastebin</span></a></li> <li class="rightside" data-skip-responsive="true"> <a href="./../community/ucp.php?mode=login&redirect=..%2Fapp.php%2Fkb%2Fviewarticle%3Fa%3D93&sid=5bb54067b5685d11da695648f5070f62" title="Anmelden" accesskey="x" role="menuitem"> <i class="icon fa-power-off fa-fw" aria-hidden="true"></i><span>Anmelden</span> </a> </li> <li class="rightside" data-skip-responsive="true"> <a href="./../community/ucp.php?mode=register&sid=5bb54067b5685d11da695648f5070f62" role="menuitem"> <i class="icon fa-pencil-square-o fa-fw" aria-hidden="true"></i><span>Registrieren</span> </a> </li> </ul> <ul id="nav-breadcrumbs" class="nav-breadcrumbs linklist navlinks" role="menubar"> <li class="breadcrumbs" itemscope itemtype="https://schema.org/BreadcrumbList"> <span class="crumb" itemtype="https://schema.org/ListItem" itemprop="itemListElement" itemscope><a itemprop="item" href="./../" data-navbar-reference="home"><i class="icon fa-home fa-fw" aria-hidden="true"></i><span itemprop="name">Startseite</span></a><meta itemprop="position" content="1" /></span> <span class="crumb" itemtype="https://schema.org/ListItem" itemprop="itemListElement" itemscope><a itemprop="item" href="./../community/index.php?sid=5bb54067b5685d11da695648f5070f62" accesskey="h" data-navbar-reference="index"><span itemprop="name">Community</span></a><meta itemprop="position" content="2" /></span> <span class="crumb" itemtype="https://schema.org/ListItem" itemprop="itemListElement" itemscope><a itemprop="item" href="/kb/index?sid=5bb54067b5685d11da695648f5070f62"><span itemprop="name">Knowledge Base</span></a><meta itemprop="position" content="3" /></span> </li> <li class="rightside responsive-search"> <a href="./../community/search.php?sid=5bb54067b5685d11da695648f5070f62" title="Zeigt die erweiterten Suchoptionen an" role="menuitem"> <i class="icon fa-search fa-fw" aria-hidden="true"></i><span class="sr-only">Suche</span> </a> </li> </ul> </div> </div> </div> <a id="start_here" class="anchor"></a> <div id="page-body" class="page-body" role="main"> <div id="p93" class="post bg1"> <div class="inner"> <div class="article-body"> <div class="postbody"> <div id="post_content93"> <h2 class="article-title"><a href="/kb/viewarticle?a=93&sid=5bb54067b5685d11da695648f5070f62">Editor-übergreifende Format-Vorgaben mit EditorConfig</a></h2> <p class="article-meta"><strong>Geschrieben von:</strong> <a href="./../community/memberlist.php?mode=viewprofile&u=190625&sid=5bb54067b5685d11da695648f5070f62" style="color: #2B42AF;" class="username-coloured">LukeWCS</a><br> <strong>Veröffentlicht am:</strong> 24.02.2020 12:44<br /> <strong>zuletzt geändert:</strong> 18.08.2024 16:56<br> <strong>zuletzt geändert von:</strong> <a href="./../community/memberlist.php?mode=viewprofile&u=190625&sid=5bb54067b5685d11da695648f5070f62" style="color: #2B42AF;" class="username-coloured">LukeWCS</a><br> <strong>Zugriffe:</strong> 9311</p> <p class="article-description"><strong>Beschreibung:</strong> Vorstellung des EditorConfig Standards, mit dessen Hilfe die offiziellen Format-Vorgaben seitens phpBB für bestimmte Dateitypen festgelegt werden können. Als Beispiel wird die Einrichtung in Notepad++ gezeigt.</p> <p class="article-categories"><strong>Kategorie:</strong> <a href="/kb/index?c=4&sid=5bb54067b5685d11da695648f5070f62">Extensions</a>, <a href="/kb/index?c=13&sid=5bb54067b5685d11da695648f5070f62">Styles und Templates</a></p> <div class="content"> <div class="codebox"> <p>Link zu diesem Artikel: <a href="#" onclick="selectCode(this); return false;">Alles auswählen</a></p> <code>[url=https://www.phpbb.de/kb/viewarticle?a=93&sid=5bb54067b5685d11da695648f5070f62]Knowledge Base - Editor-übergreifende Format-Vorgaben mit EditorConfig[/url]</code> </div> <hr> <span style="font-size: 150%; line-height: normal">Übersicht</span><br> <ol style="list-style-type:decimal"> <li>Einleitung</li> <li>EditorConfig in Notepad++ nachrüsten</li> <li>Die Datei <code class="inline">.editorconfig</code></li> <li>Weitere Informationen zu <code class="inline">.editorconfig</code></li> <li>Erklärungen der einzelnen Zeilen (in der Reihenfolge des ersten Vorkommens)</li> <li>Passend zum Thema</li> </ol> <span style="font-size: 150%; line-height: normal">1. Einleitung</span><br> <br> Das Programmieren einer phpBB Erweiterung oder Gestalten eines phpBB Styles ist schon komplex genug. Darum ist auch jedes Werkzeug willkommen, das einem die Arbeit etwas erleichtert. Eine Hürde die gemeistert werden will, sind die Format-Vorgaben seitens phpBB für die verschiedenen Dateitypen:<br> <ul> <li>Das Zeilenende muss LF sein.</li> <li>Am Ende einer Datei muss ein abschließendes LF vorhanden sein.</li> <li>Am Ende einer Zeile darf kein Whitespace (Leerzeichen und Tabs) vorkommen.</li> <li>Die Tabulatorbreite im phpBB Umfeld beträgt 4 Leerzeichen.</li> <li>Einrückungen bei <code class="inline">.php</code> müssen mit Tabs erzeugt werden.</li> <li>Einrückungen bei <code class="inline">.js</code> müssen mit Tabs erzeugt werden.</li> <li>Einrückungen bei <code class="inline">.html</code> müssen mit Tabs erzeugt werden.</li> <li>Einrückungen bei <code class="inline">.css</code> müssen mit Tabs erzeugt werden.</li> <li>Einrückungen bei <code class="inline">.json</code> müssen mit Leerzeichen erzeugt werden.</li> <li>Einrückungen bei <code class="inline">.yml</code> müssen mit Leerzeichen erzeugt werden.</li> <li>Die Datei muss in UTF-8 ohne BOM gespeichert werden.</li> </ul> Analysetools wie EPV und CodeSniffer prüfen dann auf Einhaltung dieser Vorgaben.<br> <br> Es wäre doch schön, wenn sich der Editor gleich selbst an diese Vorgaben halten würde, sodass Fehler gar nicht erst entstehen. Und genau hier setzt der Editor-übergreifende Standard <a href="https://editorconfig.org/" class="postlink">EditorConfig</a> an. Das ist ein unabhängiger und freier Standard der zum einen aus einer kleinen Textdatei besteht, in der Projekt-bezogene Format-Vorgaben festgelegt werden können. Zum anderen muss dieser Standard natürlich auch vom jeweiligen Editor oder IDE unterstützt werden und das ist bei vielen schon der Fall. Auch GitHub und Visual Studio unterstützen diesen Standard.<br> <br> <span style="font-size: 150%; line-height: normal">2. EditorConfig in Notepad++ nachrüsten</span><br> <br> In diesem HowTo wird nur auf Notepad++ eingegangen. Grundsätzlich funktioniert EditorConfig aber auch mit anderen Editoren. Dazu am besten die Liste der direkt unterstützten Programme bei <a href="https://editorconfig.org/#pre-installed" class="postlink">EditorConfig</a> sichten. Für diejenigen Programme die EditorConfig "noch" nicht direkt unterstützen, gibt es meist schon Plugins die diesen Standard nachrüsten, so z.B. auch für Notepad++:<br> <ol style="list-style-type:decimal"> <li>Menü "Erweiterungen > Plugin-Verwaltung" > Suchen: editorconfig</li> <li>Dann in der Liste bei "EditorConfig" den Haken setzen und "Installieren" klicken. Erfordert Neustart von Notepad++</li> </ol> Mehr hat man in Notepad++ nicht mit dem Plugin zu tun. Das Plugin selber muss also nicht konfiguriert werden, es muss einfach nur installiert sein.<br> <br> <span style="font-size: 150%; line-height: normal">3. Die Datei <code class="inline">.editorconfig</code></span><br> <br> Der Inhalt der folgenden Datei muss mit dem Dateinamen <code class="inline">.editorconfig</code> (den Punkt am Anfang beachten) im Hauptordner des Projekts abgespeichert werden. Wenn man zum Beispiel WampServer nutzt, wäre der Ordner <code class="inline">www</code> ideal und bei XAMPP bietet sich <code class="inline">htdocs</code> an. Alle Editoren und IDEs die diesen Standard unterstützen, verwenden dann die Vorgaben die in dieser Textdatei definiert wurden, sobald eine von EditorConfig geregelte Datei wie <code class="inline">.php</code> innerhalb von <code class="inline">www</code> bzw. <code class="inline">htdocs</code> bearbeitet wird. Damit die Übersicht dieser Datei gewahrt bleibt, ist diese auf Minimum gehalten und enthält keine erklärenden Kommentare. Erklärungen zu den einzelnen Zeilen gibt es weiter unten im Artikel.<br> <div class="codebox"><p>Code: <a href="#" onclick="selectCode(this); return false;">Alles auswählen</a></p><pre><code># EditorConfig is awesome: https://EditorConfig.org # phpBB Programmierrichtlinien - Editor Vorgaben v1.2 # Quelle: https://www.phpbb.de/kb/viewarticle?a=93 # Autor : LukeWCS (phpBB.de), 2023-07-27 root = true [*] end_of_line = lf insert_final_newline = true [*.{php,js,css,json,html,txt,md,yml}] charset = utf-8 indent_style = tab indent_size = 4 trim_trailing_whitespace = true [*.{txt,md,yml}] trim_trailing_whitespace = false [*.{json,yml}] indent_style = space </code></pre></div> <details style="background-color:#ede8e0;border:1px solid #cdc8c0;margin:1em 0"><summary style="display:list-item;cursor:pointer;padding:.5em">Archiv - Ältere Versionen von .editorconfig</summary><div style="border-top:1px solid #cdc8c0;padding:.5em 0;margin:0 .5em"> <div class="codebox"><p>Code: <a href="#" onclick="selectCode(this); return false;">Alles auswählen</a></p><pre><code># EditorConfig is awesome: https://EditorConfig.org # phpBB Programmierrichtlinien - Editor Vorgaben v1.1 # Quelle: https://www.phpbb.de/kb/viewarticle?a=93 # Autor : LukeWCS (phpBB.de), 2023-01-31 root = true [*] end_of_line = lf insert_final_newline = true [*.{php,js,css,json,html,txt,md,yml}] charset = utf-8 indent_style = tab indent_size = 4 trim_trailing_whitespace = true [*.{txt,md,yml}] trim_trailing_whitespace = false [*.yml] indent_style = space </code></pre></div> <div class="codebox"><p>Code: <a href="#" onclick="selectCode(this); return false;">Alles auswählen</a></p><pre><code># EditorConfig is awesome: https://EditorConfig.org # phpBB - Editor Vorgaben v1 - https://www.phpbb.de/kb/viewarticle?a=93 # 2020 LukeWCS, phpBB.de root = true [*] end_of_line = lf insert_final_newline = true [*.{php,js,css,json,html,txt,md,yml}] charset = utf-8 indent_style = tab indent_size = 4 trim_trailing_whitespace = true [*.{html,txt,md,yml}] trim_trailing_whitespace = false [*.yml] indent_style = space </code></pre></div> </div></details> <span style="text-decoration:underline">Hinweise</span><br> <ul> <li>Die Vorgaben gelten nicht nur für neue Dateien, sondern können auch auf alte Dateien angewendet werden. Dazu einfach die entsprechende Datei öffnen und eine "Änderung" erzeugen, indem in einer Leerzeile einfach ein Leerzeichen eingefügt wird. Wenn man jetzt die Datei speichert, werden sofort alle Vorgaben angewendet und das schneller und präziser als man das selbst je könnte. Und unser überflüssiges Leerzeichen wird dabei auch gleich entfernt. Das eignet sich auch wunderbar um Dateien von bestimmten Fehlern zu bereinigen, die z.B. von CodeSniffer gemeldet wurden.</li> <li>In Notepad++ können die EditorConfig Vorgaben der aktuell geöffneten Datei - z.B. einer <code class="inline">.php</code> Datei - überprüft werden: Menü "Erweiterungen > EditorConfig > Show EditorConfig settings for this file". So kann man z.B. nach Änderungen an der Vorgaben-Datei sofort feststellen, ob die Vorgaben auch greifen.</li> <li>Wenn man im FTP Programm die Übertragungsart auf "Binär" stellt, hat man in Kombination mit EditorConfig stets sichergestellt, dass die Dateien sowohl das richtige Format haben, als auch richtig übertragen werden.</li> </ul> Wenn man Punkt 2 und 3 erledigt hat, ist das Ganze auch schon betriebsbereit und die Integration von EditorConfig in Notepad++ damit abgeschlossen. Es folgen noch zusätzliche Informationen und Erklärungen die nützlich sein können, wenn man Änderungen an <code class="inline">.editorconfig</code> vornehmen will.<br> <br> <span style="font-size: 150%; line-height: normal">4. Weitere Informationen zu <code class="inline">.editorconfig</code></span><br> <ul> <li>Grundsätzlich ist diese Datei hier für eine phpBB Umgebung gebrauchsfertig. Die Datei wird bei Bedarf angepasst und Änderungen werden in der zugehörigen Diskussion bekanntgegeben.</li> <li>Die Datei <code class="inline">.editorconfig</code> sollte in UTF-8 gespeichert werden und darf am Zeilenende entweder LF oder CRLF enthalten, beides ist erlaubt. Man sollte sich aber im phpBB Umfeld angewöhnen, grundsätzlich LF zu verwenden.</li> <li>Wenn die Datei <code class="inline">.editorconfig</code> mit Notepad++ geändert wird, dann greifen die Änderungen sofort. Es ist also nicht nötig Notepad++ nach Änderungen an der Vorgaben-Datei neu zu starten.</li> <li>EditorConfig hat die höchste Priorität. Sobald also eine <code class="inline">.editorconfig</code> existiert, gelten die Vorgaben die darin definiert wurden, egal was im Editor eingestellt wurde.</li> <li>Die Datei <code class="inline">.editorconfig</code> wird vom Editor immer zuerst in dem Ordner gesucht, wo sich die aktuell im Editor geöffnete Datei befindet. Wenn <code class="inline">.editorconfig</code> nicht in diesem Ordner vorhanden ist, wird im übergeordneten Ordner danach gesucht. Und so weiter. Sobald entweder das Wurzelverzeichnis erreicht wurde oder aber eine <code class="inline">.editorconfig</code> mit der Definition <code class="inline">root = true</code> gefunden wurde, wird die Suche gestoppt.</li> <li>Man kann so quasi eine primäre und mehrere sekundäre <code class="inline">.editorconfig</code> anlegen. Das kann in Sonderfällen hilfreich sein, grundsätzlich gilt aber: je weniger, desto besser.</li> <li>Regeln werden in dieser Datei immer von oben nach unten bearbeitet. Man könnte also "oben" generelle Regeln definieren und "darunter" Ausnahmen. Davon wurde bei der hier gezeigten <code class="inline">.editorconfig</code> Datei auch Gebrauch gemacht. Man könnte aber genauso gut für alle Dateitypen die man geregelt haben will, auch jeweils alle Eigenschaften definieren. Beides ist möglich.</li> </ul> <span style="font-size: 150%; line-height: normal">5. Erklärungen der einzelnen Zeilen (in der Reihenfolge des ersten Vorkommens)</span><br> <br> <code class="inline"># ...</code><br> Kommentare die von EditorConfig ignoriert werden.<br> <br> <code class="inline">root = true</code><br> true = Oberste EditorConfig Datei. In höheren Ordnerebenen wird also nicht mehr nach <code class="inline">.editorconfig</code> gesucht.<br> false = Es wird auch in höheren Ordnerebenen nach <code class="inline">.editorconfig</code> gesucht.<br> <br> <code class="inline">[*]</code><br> Die Regeln darunter gelten für alle Dateien.<br> <br> <code class="inline">end_of_line = lf</code><br> Das Zeichen für Zeilenende ist LF.<br> <br> <code class="inline">insert_final_newline = true</code><br> true = Am Dateiende wird das Zeichen für Zeilenende eingefügt, falls nicht vorhanden. Was genau eingefügt wird, hängt davon ab, was bei <code class="inline">end_of_line</code> definiert wurde.<br> false = Keine Aktion.<br> <br> <code class="inline">[*.{php,js,css,json,html,txt,md,yml}]</code><br> Die Regeln darunter gelten nur für diese Dateitypen.<br> <br> <code class="inline">charset = utf-8</code><br> Datei wird in UTF-8 ohne BOM gespeichert.<br> <br> <code class="inline">indent_style = tab</code><br> tab = Einrückungen erfolgen mit Tab-Stopps.<br> space = Einrückungen erfolgen mit Leerzeichen.<br> <br> <code class="inline">indent_size = 4</code><br> Eine Einrückung hat die Breite von 4 Leerzeichen. Eine Einrückung kann entweder aus Tab-Stopps oder Leerzeichen bestehen, je nachdem was bei <code class="inline">indent_style</code> definiert wurde.<br> <br> <code class="inline">trim_trailing_whitespace = true</code><br> true = Leerzeichen und Tab-Stopps am Zeilenende werden entfernt, falls vorhanden.<br> false = Keine Aktion.<br> <br> <code class="inline">[*.{txt,md,yml}]</code><br> Die Regeln darunter gelten nur für diese Dateitypen.<br> <br> <code class="inline">[*.yml]</code><br> Die Regeln darunter gelten nur für diesen Dateityp.<br> <br> <span style="font-size: 150%; line-height: normal">6. Passend zum Thema</span><br> <br> <a href="https://www.phpbb.de/community/viewtopic.php?f=140&t=244063" class="postlink">HowTo: EditorConfig - Editor-übergreifende Formatvorgaben</a> (Diskussion)<br> <a href="https://area51.phpbb.com/docs/33x/coding-guidelines.html" class="postlink">phpBB Coding Guidelines</a><br> <a href="https://area51.phpbb.com/docs/dev/3.3.x/index.html" class="postlink">phpBB Development Documentation</a> </div> </div> </div> </div> </div> </div> </div> <div id="page-footer" class="page-footer" role="contentinfo"> <div class="navbar" role="navigation"> <div class="inner"> <ul id="nav-footer" class="nav-footer linklist" role="menubar"> <li class="breadcrumbs"> <span class="crumb"><a href="./../" data-navbar-reference="home"><i class="icon fa-home fa-fw" aria-hidden="true"></i><span>Startseite</span></a></span> <span class="crumb"><a href="./../community/index.php?sid=5bb54067b5685d11da695648f5070f62" data-navbar-reference="index"><span>Community</span></a></span> </li> <li class="rightside">Alle Zeiten sind <span title="Europa/Berlin">UTC+01:00</span></li> <li class="rightside"> <a href="/user/delete_cookies?sid=5bb54067b5685d11da695648f5070f62" data-ajax="true" data-refresh="true" role="menuitem"> <i class="icon fa-trash fa-fw" aria-hidden="true"></i><span>Alle Cookies löschen</span> </a> </li> <li class="rightside" data-last-responsive="true"> <a href="./../phpbbde/impressum/?sid=5bb54067b5685d11da695648f5070f62" role="menuitem"> <i class="icon fa-info-circle fa-fw" aria-hidden="true"></i><span>Impressum </span> </a> </li> <li class="rightside" data-last-responsive="true"> <a href="./../phpbbde/team/?sid=5bb54067b5685d11da695648f5070f62" role="menuitem"> <i class="icon fa-shield fa-fw" aria-hidden="true"></i><span>Das Team</span> </a> </li> <li class="rightside" data-last-responsive="true"> <a href="/contactadmin?sid=5bb54067b5685d11da695648f5070f62" role="menuitem"> <i class="icon fa-envelope fa-fw" aria-hidden="true"></i><span>Kontakt</span> </a> </li> </ul> </div> </div> <div class="copyright"> <p class="footer-row"> <span class="footer-copyright">Powered by <a href="https://www.phpbb.com/">phpBB</a>® Forum Software © phpBB Limited</span> </p> <p class="footer-row"> <span class="footer-copyright">Deutsche Übersetzung durch <a href="https://www.phpbb.de/">phpBB.de</a></span> </p> <p class="footer-row" role="menu"> <a class="footer-link" href="./../community/ucp.php?mode=privacy&sid=5bb54067b5685d11da695648f5070f62" title="Datenschutz" role="menuitem"> <span class="footer-link-text">Datenschutz</span> </a> | <a class="footer-link" href="./../community/ucp.php?mode=terms&sid=5bb54067b5685d11da695648f5070f62" title="Nutzungsbedingungen" role="menuitem"> <span class="footer-link-text">Nutzungsbedingungen</span> </a> </p> <div class="sponsor-logo"> <a href="https://linevast.de/" rel="nofollow">hosted by Linevast.de <br> <img src="./../community/styles/phpBBdev1/theme/images/linevast.png" alt="Linevast.de" height="63" width="257"> </a> </div> </div> <div id="darkenwrapper" class="darkenwrapper" data-ajax-error-title="AJAX-Fehler" data-ajax-error-text="Bei der Verarbeitung deiner Anfrage ist ein Fehler aufgetreten." data-ajax-error-text-abort="Der Benutzer hat die Anfrage abgebrochen." data-ajax-error-text-timeout="Bei deiner Anfrage ist eine Zeitüberschreitung aufgetreten. Bitte versuche es erneut." data-ajax-error-text-parsererror="Bei deiner Anfrage ist etwas falsch gelaufen und der Server hat eine ungültige Antwort zurückgegeben."> <div id="darken" class="darken"> </div> </div> <div id="phpbb_alert" class="phpbb_alert" data-l-err="Fehler" data-l-timeout-processing-req="Bei der Anfrage ist eine Zeitüberschreitung aufgetreten."> <a href="#" class="alert_close"> <i class="icon fa-times-circle fa-fw" aria-hidden="true"></i> </a> <h3 class="alert_title"> </h3><p class="alert_text"></p> </div> <div id="phpbb_confirm" class="phpbb_alert"> <a href="#" class="alert_close"> <i class="icon fa-times-circle fa-fw" aria-hidden="true"></i> </a> <div class="alert_text"></div> </div> </div> </div> <div> <a id="bottom" class="anchor" accesskey="z"></a> </div> <script src="./../community/assets/javascript/jquery-3.7.1.min.js?assets_version=280"></script> <script src="./../community/assets/javascript/core.js?assets_version=280"></script> <script src="./../community/styles/phpBBdev1/template/forum_fn.js?assets_version=280"></script> <script src="./../community/styles/phpBBdev1/template/ajax.js?assets_version=280"></script> <script src="./../community/styles/phpBBdev1/template/phpbbde_navi.js?assets_version=280"></script> <script>(function(a){if(a.getElementsByTagName("pre").length){var c=a.getElementsByTagName("head")[0],b=a.createElement("script");a=a.createElement("link");b.type="text/javascript";b.onload=function(){hljs.initHighlighting()};b.async=!0;b.src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js";c.appendChild(b);a.type="text/css";a.rel="stylesheet";a.href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github-gist.min.css";c.appendChild(a)}})(document)</script> </body> </html>