Fin 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 à 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 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
etbeans]
@="URL:Netbeans Protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT
etbeans\shell]
@="open"
[HKEY_CLASSES_ROOT
etbeans\shell\open]
@="Netbeans IDE"
[HKEY_CLASSES_ROOT
etbeans\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


Le même principe peut être appliqué à IntelliJ ou à Eclipse, voire même à Notepad++.
Autocompletion 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.



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.

