Fin de vieFin de vie
Je n'utilise plus Netbeans, mais IntelliJ: cette page ne sera plus mise à jour.
Auto-complétion Netbeans,
PROCEDURE
et DELIMITER
Un bogue NetBeans
bloque l'auto-complétion après les IF|WHILE|...
dans les
PROCEDURE
si un DELIMITER
est présent.
La seule solution est de supprimer le DELIMITER
et de lancer le script via un terminal externe (il n'est plus exécutable directement dans l'IDE).
DROP PROCEDURE IF EXISTS `assert`$$
CREATE PROCEDURE `assert`(IN `asserting` TINYINT(1) UNSIGNED, IN `code` INT UNSIGNED)
LANGUAGE SQL
DETERMINISTIC
CONTAINS SQL
SQL SECURITY INVOKER
BEGIN
IF NOT(`asserting`) THEN
CALL throw('UserException', `code`, '{}');
END IF;
END$$
$file = $argv[1];
$mysql = "L:\\InstalledOn7\\wamp64\\bin\\mysql\\mysql5.7.14\\bin\\mysql.exe";
$command = "$mysql --port=3306 --user=\"...\" --password=\"...\" --database=isometry --delimiter=$$ < \"$file\"";
Platform::exec($command);
exit(0);
php -f "E:\Projets\Web\misc\common\sources\shell\run-sql-file.php" "$CURRENT_FILE$"
Lier XDebug à NetBeansLier XDebug à NetBeans
Si vous utilisez WAMP, XDebug est déjà fournit (sinon, vous devrez le télécharger et enregistrer sa DLL dans le répertoire des extensions PHP). Vous n'avez alors plus qu'à configurer le plugin PHP via le fichier php.ini, directement accessible depuis l'icône de WAMP.
[xdebug]
zend_extension_ts="C:/xamp/plugins/php_xdebug.dll"
xdebug.remote_enable=1
xdebug.auto_start=1
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.idekey=netbeans-xdebug
xdebug.auto_trace=0
xdebug.trace_format=0
xdebug.show_mem_delta=1
xdebug.trace_output_dir="C:/xamp/log/xdebug"
xdebug.trace_output_name=%p.%t.trace
xdebug.profiler_output_dir="C:/wamp/log/xdebug"
xdebug.profiler_output_name=%p.%t.cachegrind
xdebug.coverage_enable=1
xdebug.collect_vars=1
xdebug.collect_params=4
xdebug.collect_return=1
xdebug.show_local_vars=1
Ce tutoriel vous aidera si vous coincez sur une étape.
Ouvrir la stack trace de XDebug avec NetBeansOuvrir la stack trace de XDebug avec NetBeans
Lors d'une erreur, XDebug vous fournit un rapport détaillé donnant la pile d'exécution complète ayant
amené à l'erreur. Mais il est fastidieux de devoir ouvrir chaque des fichiers de cette pile un à un,
pour aller sur la ligne indiqué par Xdebug. Pour éviter cela, ajoutez le paramètre
xdebug.file_link_format="netbeans://%f:%l"
dans votre php.ini, puis ajoutez le protocole netbeans:// à Windows
et faites-le pointer sur un .bat qui ouvrira le fichier PHP dans NetBeans.
xdebug.file_link_format="netbeans://%f:%l"
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\netbeans]
@="URL:Netbeans Protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\netbeans\shell]
@="open"
[HKEY_CLASSES_ROOT\netbeans\shell\open]
@="Netbeans IDE"
[HKEY_CLASSES_ROOT\netbeans\shell\open\command]
@="E:\\Projets\\Web\\misc\\common\\sources\\netbeans\\protocol\\netbeans-protocol.bat \"%1\""
@echo off
Setlocal EnableDelayedExpansion
SET ARG=%1
REM Remove the quotes
SET UNQUOTED=!ARG:"=!
REM Remove the protocol
SET URI=%UNQUOTED:~11%
REM remove trailing slash at end
if "%URI:~-1%" == "/" SET URI=%URI:~,-1%
REM remove protocol "netbeans://"
REM SET PROTOCOL_LESS=%uri:~11%
SET FORWARD_SLASHED=!URI:%%5C=/!
"C:/Program Files/NetBeans 8.1/bin/netbeans64.exe" --nosplash --console suppress --open "%FORWARD_SLASHED%"
Rajoutez les entrées registre du second code à Windows
Sauvez le troisième code dans un fichier .bat correspondant
![Rapport d'erreur avec des liens](/code/netbeans/xdebug-netbeans-2.png?h=024c2c4a45775aff200714e2c1e33cda)
![Le fichier PHP dans NetBeans](/code/netbeans/xdebug-netbeans-3.png?h=97fbe559f43a7dae08e765fb8655b7d3)
Le même principe peut être appliqué à IntelliJ ou à Eclipse, voire même à Notepad++.
Autocompletion XSL, SVG, HTML (etc) dans NetBeansAutocompletion XSL, SVG, HTML (etc) dans NetBeans
Pour obtenir l'autocomplétion dans n'importe quel langage XML (SVG, HTML, XSL, MathML, ...), il vous suffit de rajouter la DTD ou la XSD du langage à la liste des définitions XML de Netbeans, en associant le namespace XML au fichier XSD/DTD (local ou distant). L'auto-complétion XML correspondante sera alors présente dans NetBeans, si vous déclarez ce namespace dans votre document XML.
![Menu 'Tools', 'DTD and XML Schema'](/code/netbeans/netbeans-xsd-add.png?h=b22987c80cffd6fffbab57b523b6a117)
![Sélectionnez 'User Catalog' puis cliquez 'Add local DTD/Schema'](/code/netbeans/netbeans-xsd-add-to-catalog.png?h=77019a2f7b04f929eb9cc5795f42ede5)
![Cochez 'System ID' et entrez le namespace, puis sélectionnez la XSD dans le champ 'File'](/code/netbeans/netbeans-xsd-add-file.png?h=1187c488207a771961f65f1d3c8f1369)
Attention à bien vérifier que NetBeans n'est pas allé mettre en cache une autre XSD. Pour cela, vérifiez qu'il n'existe pas de fichier nbproject/private/retriever/catalog.xml ni nbproject/private/retriever/le.namespace/ajoute/index dans votre dossier de projet. S'ils existent, supprimez-les.
![Supprimez le cache du project si besoin](/code/netbeans/netbeans-cached-xsd.png?h=58de653271c903b188023c0405fc6fdd)
![Le résultat final: une auto-complétion fonctionnelle](/code/netbeans/netbeans-xsd-nested.png?h=70a84a4ba19b97cc8f244b4cd4b38ec3)