Joomla User Manual
Manual Index
Visual Studio Code Extras
Einführung
Visual Studio Code ist ein Quellcode-Editor, der von Microsoft für Windows, Linux und macOS (einschließlich M1-Macs) entwickelt wurde. Er bietet Unterstützung für das Debuggen, integrierte Git-Steuerung und GitHub, Syntaxhervorhebung, intelligente Codevervollständigung, Snippets und Code-Refactoring.
Das Hauptmerkmal des Editors ist seine Erweiterbarkeit, und er verfügt über eine riesige Sammlung von Erweiterungen, die von Benutzern und von Microsoft selbst gepflegt werden.
Als allgemeine Einführung gibt es eine Präsentation über das Thema Joomla-Entwicklung mit Visual Studio Code (PDF, 1Mb), von René Kreijveld, Joomla-Entwickler bei Destiny B.V. Joomla User Group London, 16. März 2021.
Auf dieser Seite listen wir empfohlene Erweiterungen auf, um VSCode zu konfigurieren, um PHP und Joomla zu unterstützen.
Dies ist eine Liste von Erweiterungen, um PHP auf VSCode zu unterstützen:
- PHP Debug felixfbecker.php-debug. Debug-Unterstützung für PHP mit XDebug.
- phpcs ikappas.phpcs. PHP CodeSniffer für Visual Studio Code.
- PHP Intelephense bmewburn.vscode-intelephense-client. PHP-Code-Intelligenz für Visual Studio Code. Alternative: PHP IntelliSense felixfbecker.php-intellisense
- PHPUnit emallin.phpunit. Führen Sie PHPUnit-Tests aus VSCode aus.
- phpfmt kokororin.vscode-phpfmt. Die fehlende phpfmt-Erweiterung für Visual Studio Code. phpfmt formatter kann sogar eine PHP-Datei der Version 4 parsen und formatieren, falls nötig.
- php cs fixer junstyle.php-cs-fixer: Wenn Sie sich für den PSR-2: Code Style Guide entscheiden. PHP CS Fixer-Erweiterung für VS Code, php Formatter, php Code Beautifier-Tool, formatieren Sie HTML.
- PHP Namespace Resolver MehediDracula.php-namespace-resolver: Der PHP Namespace Resolver kann Ihre Klasse importieren und erweitern. Sie können Ihre importierten Klassen auch nach Zeilenlänge oder in alphabetischer Reihenfolge sortieren.
- PHP Phan (Analyzer) tysonandre.php-phan. Phan - statischer Analysator für PHP zur Minimierung von Fehlalarmen.
- phpmd linyang95.phpmd. VS Code-Erweiterung für PHP, die phpmd verwendet.
Das Git-Protokoll wird in VSCode nativ unterstützt. Es gibt jedoch Erweiterungen, um die Verwaltung von Code und Repositorys zu verbessern. Hier ist eine Liste der empfohlenen Erweiterungen für diese Aufgabe:
- Git History donjayamanne.githistory: Git Historie, Suche und mehr (einschließlich git log).
- GitHub KnisterPeter.vscode-github: Diese VSCode-Erweiterung integriert sich mit GitHub.
- GitHub Pull Requests and Issues GitHub.vscode-pull-request-github: Überprüfen und verwalten Sie Ihre GitHub-Pull-Anfragen und -Probleme direkt in VS Code.
- gitignore codezombiech.gitignore: Eine Erweiterung für Visual Studio Code, die Ihnen bei der Arbeit mit .gitignore-Dateien hilft.
- Visual Studio Code Commitizen Support KnisterPeter.vscode-commitizen: Diese VSCode-Erweiterung fügt Commitizen-Unterstützung hinzu.
Hier ist eine Liste von Erweiterungen, um Joomla auf VSCode zu unterstützen:
- Joomla Snippets anibalsanchez.vs-code-joomla-snippets. Snippets für Joomla, einschließlich Joomla 3.x und Joomla 4 Snippets.
- PHP Getters & Setters phproberto.vscode-php-getters-setters. Erstellen Sie PHP-Getter und Setter aus Klassenattributen.
Dies ist eine Liste von Erweiterungen zur Unterstützung der Remote-SSH-Entwicklung:
- Remote - SSH ms-vscode-remote.remote-ssh: Die Remote - SSH-Erweiterung ermöglicht es Ihnen, jede Remote-Maschine mit einem SSH-Server als Entwicklungsumgebung zu nutzen. Dies kann die Entwicklung und Fehlersuche in einer Vielzahl von Situationen erheblich vereinfachen. Weitere Informationen: Remote-Entwicklung über SSH
- Live Share MS-vsliveshare.vsliveshare: Visual Studio Live Share ermöglicht es Ihnen, in Echtzeit kollaborativ zu bearbeiten und zu debuggen, unabhängig davon, welche Programmiersprachen Sie verwenden oder welche Anwendungstypen Sie erstellen. Sie können Ihr aktuelles Projekt sofort und sicher freigeben und bei Bedarf Debugging-Sitzungen, Terminalinstanzen, lokale Web-Apps, Sprachanrufe und mehr freigeben.
Dies ist eine Liste von nützlichen Erweiterungen, die dringend empfohlen werden, um die Entwicklung zu erleichtern:
- EditorConfig for VS Code editorconfig.editorconfig EditorConfig-Unterstützung für Visual Studio Code
- change-case wmaurer.change-case: Ändern Sie schnell den Fall (camelCase, CONSTANT_CASE, snake_case usw.) der aktuellen Auswahl oder des aktuellen Wortes
- Project Manager alefragnani.project-manager: Es hilft Ihnen, problemlos auf Ihre Projekte zuzugreifen, egal wo sie sich befinden. Verpassen Sie diese wichtigen Projekte nicht mehr.
PHP-Debug-Konfiguration
Die Erweiterung unterstützt die gängigsten Konfigurationen von PHP XDebug. Sie integriert alle VSCode-Funktionen vollständig, um PHP-Skripte zu debuggen.
Um die Erweiterung zu konfigurieren, besuche die offizielle Dokumentation.
Als Beispielkonfiguration für das Debuggen mit VSCode ist dies eine übliche launch.json:
{
// Verwende IntelliSense, um mehr über mögliche Attribute zu erfahren.
// Fahre mit der Maus über ein Attribut, um dessen Beschreibung zu sehen.
// Weitere Informationen findest du unter: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Auf XDebug warten",
"type": "php",
"request": "launch",
// Server Remote XDebug Port - 9000 ist der Standard-XDebug-Port
"port": 9000,
// Server Remote-Pfad -> Lokaler Projektpfad
"pathMappings": {
"/app/www": "${workspaceRoot}/www"
}
},
{
"name": "Aktuell geöffnetes Skript starten",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
// Lokaler XDebug-Port - 9000 ist der Standard-XDebug-Port
"port": 9000
}
]
}
Im Zusammenhang mit der launch.json-Konfiguration, die felixfbecker/vscode-php-debug erfordert, handelt es sich um die Konfiguration von PHP XDebug selbst.
Zu diesem Zeitpunkt könnte deine Entwicklungsumgebung xdebug-2 oder xdebug-3 verwenden. Sie unterscheiden sich in den benötigten Parametern. Um PHP XDebug zu konfigurieren, sind dies die häufigsten Einstellungen für die php.ini.
XDebug 2 Konfiguration
[XDebug]
;;;;;;;;;;;;;;;;;;;
; xdebug-2.9.8
;;;;;;;;;;;;;;;;;;;
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
; xdebug.remote_port = 9000
XDebug 3 Konfiguration
[XDebug]
;;;;;;;;;;;;;;;;;;;
; xdebug-3.0.0
; https://xdebug.org/docs/upgrade_guide
;;;;;;;;;;;;;;;;;;;
xdebug.mode = debug
xdebug.start_with_request = yes
xdebug.discover_client_host = true
; xdebug.client_port = 9000
Um mehr darüber zu erfahren, wie XDebug intern arbeitet, um sich mit dem Editor zu verbinden, siehe die [Dokumentation](Xdebug 3 — Documentation).
phpcs-Konfiguration
Um die Erweiterung zu konfigurieren, besuchen Sie die offizielle Dokumentation. Die Erweiterung unterstützt die gängigsten Konfigurationen von PHP_CodeSniffer.
PHP_CodeSniffer kommt standardmäßig mit mehreren Kodierungsstandards. Sobald die Erweiterung installiert ist, funktioniert sie mit PSR2.
"phpcs.standard": "PSR2",
Um die Erweiterung so zu konfigurieren, dass sie die Joomla! Coding Standards anwendet, installieren Sie die Regeln gemäß dem offiziellen Leitfaden. Sobald die Joomla! Coding Standards installiert sind, konfigurieren Sie die Benutzereinstellungen nach dieser Beispielkonfiguration:
"phpcs.standard": "/home/IHR-NUTZER/.../Joomla",
Konfiguration von PHP Intelephense
Um die Erweiterung zu konfigurieren, besuche die Intelephense-Dokumentation. Die Erweiterung erfordert keine zusätzliche Konfiguration.
VSCode enthält grundlegende Unterstützung für die PHP-Sprache. Daher ist es wahrscheinlich eine gute Idee, die Standardunterstützung zu deaktivieren, um Konflikte zu vermeiden:
// Grundlegende Vorschläge deaktivieren
"php.suggest.basic": false,
// Um Codevorschläge in Kommentaren zu aktivieren
"editor.quickSuggestions": { "comments": true },
Alternativ dazu gibt es auch eine sehr beliebte Erweiterung: PHP IntelliSense felixfbecker.php-intellisense Erweiterte Autovervollständigung und Refactoring-Unterstützung für PHP.
PHPUnit-Konfiguration
Um die Erweiterung zu konfigurieren, besuchen Sie die vscode PHPUnit-Dokumentation.
Die Erweiterung integriert PHP Unit mit VSCode, sodass alle Funktionen von PHP Unit in VSCode integriert sind und auch parametrisiert werden können, um eine weitere Integration mit der Benutzeroberfläche zu ermöglichen.
Dies ist eine Beispielkonfiguration der Erweiterung:
"phpunit.preferRunClassTestOverQuickPickWindow": true,
"phpunit.driverPriority": [
"Path",
"Command",
"Composer",
"Phar",
"Ssh",
"GlobalPhpUnit"
],
php cs fixer Konfiguration (Nur für PSR2)
Um die Erweiterung zu konfigurieren, besuchen Sie die VSCode php cs fixer Dokumentation. Die Erweiterung integriert PHP-CS-Fixer mit VSCode, sodass alle Funktionen von PHP-CS-Fixer mit VSCode integriert werden und auch parametrisiert werden können, um eine weitere Integration mit der Benutzeroberfläche zu ermöglichen.
Um PHP-CS-Fixer automatisch auf PHP-Dateien anzuwenden, konfigurieren Sie die Benutzereinstellungen folgendermaßen:
"[php]": {
"editor.defaultFormatter": "junstyle.php-cs-fixer",
},
"php-cs-fixer.onsave": true,
PHP Phan (Analyzer) Konfiguration
Um die Erweiterung zu konfigurieren, besuchen Sie die offizielle Dokumentation. Dies ist eine Beispielkonfiguration der Erweiterung:
"phan.phpExecutablePath": "/usr/bin/php",
"phan.analyzedFileExtensions": [
"php"
],
phpmd Konfiguration
Um die Erweiterung zu konfigurieren, besuchen Sie die offizielle Dokumentation. Die Erweiterung erfordert keine zusätzliche Konfiguration.
Dies ist eine Beispielkonfiguration der Erweiterung:
"phpmd.command": "php /home/IHR-BENUTZER/.../phpmd/phpmd.phar",
"phpmd.rules": "/home/IHR-BENUTZER/.../phpmd-rulesets/phpmd_config.xml",
EditorConfig für VS Code konfigurieren
EditorConfig ist ein Dateiformat und eine Sammlung von Texteditor-Plugins zur Aufrechterhaltung konsistenter Codierungsstile zwischen verschiedenen Editoren und IDEs.
Um den Editor nach Ihren Wünschen zu konfigurieren, erstellen Sie eine Datei .editorconfig:
; EditorConfig hilft Entwicklern, konsistente
; Codierungsstile zwischen verschiedenen Editoren und IDEs zu definieren und zu pflegen.
; Für mehr Informationen besuchen Sie http://editorconfig.org.
root = true
; Wählen Sie zwischen lf oder rf für die Eigenschaft "end_of_line"
[*]
charset = utf-8
end_of_line = lf
indent_size = 2
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true
# editorconfig-tools kann keine langen Zeichenketten oder URLs ignorieren
max_line_length = null
[*.html]
indent_style = tab
# PSR-2
# [*.php]
# indent_size = 4
# indent_style = space
# Joomla! Coding Standards
[*.php]
indent_size = 4
indent_style = tab
[*.md]
trim_trailing_whitespace = false
[*.yml]
indent_style = space
indent_size = 2
Übersetzt von openai.com