D pour Xcode
Téléchargement
- D pour Xcode, 1.2.2 (175 Ko)
- Paquet d’installation de D pour Xcode, le 28 mars 2011.
16 mars 2013 : ce paquet d’installation n’est plus en mesure de télécharger DMD. - Code source, 1.2.2 (173 Ko)
- Code source vous permettant de construire le plugin vous-même.
Vous pouvez suivre le développement de ce projet sur un miroir de mon dépôt git accessible depuis git.michelf.ca.
Aux utilisateurs de Xcode 4: D pour Xcode ne fonctionne que partiellement avec Xcode 4 pour l’instant; Xcode 3 est pleinement supporté.
Introduction
D pour Xcode simplifie le développement d’outils, de libraries et d’applications dans le language de programmation D à l’aide de l’environnement de développement Xcode d’Apple. Ce plugin fait les choses suivantes:
Il ajoute à Xcode le support pour les compilateurs D DMD et GDC de façon à ce que les fichiers source D soit reconnus et traités tout comme les fichiers C, C++ et Objective-C. Après avoir ajouté un fichier source D à un projet ou à une cible, des options spécifiques au compilateur D apparaîtrons dans les réglages de construction (build settings).
Il permet à Xcode de traquer les dépendances entre les fichiers (en regardant les directives
import
) et recompile automatiquement les fichiers quand une de leur dépendance est modifié.Il permet un coloriage syntaxique pour les fichiers source D.
Il remplis le menu des fonctions dans la barre de navigation au dessus de la zone d’édition en ajoutant les fonctions, les classes et les autres éléments qui se trouvent dans votre fichier source (seulement avec Xcode 3.x).
Il donne un icône au fichiers .d et .di dans le Finder et ailleurs dans le système, et il permet aux fichiers D de s’ouvrir dans Xcode par défaut.
Configuration requise
- Xcode 2.5 ou plus récent, Xcode 3 recommandé
Note: Le support pour Xcode 2.5 n’inclus pas le menu des fonctions dans la barre de navigation de l’éditeur.
Installation
Téléchargez et ouvrez le paquet d’installation fourni. Le paquet d’installation télécharega et installera automatiquement les compilateurs DMD 2.x et 1.x (seulement sur les Mac Intel). Voici une description détaillée de chaque sous-paquet:
D plugin for Xcode
Installe le plugin pour Xcode dans /Library/Application Support/Developer/Shared/Xcode/Plugins/Xcode File & Project Templates Installe les patrons de fichier et de projet pour Xcode dans /Library/Application Support/Developer/Shared/Xcode/
DMD 2.x Download (Note : ne fonctionne plus)
Télécharge la dernière version de DMD 2.x et l’installe à /Library/Compilers/dmd2. Ajoute les liens symboliques nécessaires à l’utilisation par la ligne de commande dans /usr/local/.DMD 1.x Download (Note : ne fonctionne plus)
Télécharge la dernière version de DMD 1.x et l’installe à /Library/Compilers/dmd. Ajoute les liens symboliques nécessaires à l’utilisation par la ligne de commande dans /usr/local/.
DMD 2.x et DMD 1.x incluent tous les deux un exécutable appelé dmd
. Les liens symboliques installés dans /usr/local/ sont nommés dmd2
et dmd1
de façon à pouvoir facilement invoquer le compilateur désiré. Le lien symbolique dmd
point sur dmd2
par défaut, mais il est possible de changer ça avec setdmd
comme ceci:
sudo setdmd 1
Vous pouvez par la suite mettre à jour DMD en lançant à nouveau le paquet d’installation. Ou encore vous pouvez glisser une nouvelle version du dossier « dmd » ou « dmd2 » fraîchement décompressé dans le dossier /Library/Compilers/, mais assurez-vous que les permissions de fichier sont réglées correctement (les fichiers zip fournis par Digital Mars ont tendance à manquer quelque permissions d’exécution).
Copies d’écran
Problèmes connus
Le support du déboggeur est déficient. Vous pourrez voir la pile d’appel avec les noms de fonctions décorés, mais le débogeur GNU ne va pas plus loin avec les exécutables compilés par DMD.
L’indentation en fonction de la syntaxe est parfois incorrecte pour des éléments qui ne sont pas présent en C++/Objective-C, tel que
foreach
. Vous pouvez désactiver l’indentation en fonction de la syntaxe dans les préférences de Xcode.La complétion automatique n’est pas faite de façon très intelligente en ce moment. Elle ne proposera que des mot clés et les identifiants présents dans le document en édition.
Aucun indexage n’est effectué sur les fichiers source D. Il n’est donc pas possible de sauter à la définition ou d’utiliser des commandes similaires.
Dépedences des modules
Le compilateur et le scanner de dépendance assument que le répertoire des modules dans lequel vous travaillez est le dossier dans lequel se trouve votre projet. Ceci veux dire qu’un module nommé paquet.monmodule
doit se trouver à PROJECT_DIR/paquet/monmodule.d
. Vous pouvez ajouter d’autres répertoires de module (pour utiliser une librairie par exemple), mais le graphe des dépendances ne les prendra pas en compte et vos fichiers qui en dépendent ne seront pas recompilées automatiquement (vous devrez nettoyez la cible d’abord (Clean Target)). Laissez-le moi savoir si ça devient un problàme.
Bogues
Si vous trouvez un problème, que Xcode plante ou pas, j’aimerais que vous m’en fassiez part. Donnez-moi toute information pertinente (tel qu’un « crash log » de Xcode) et les étapes appropriées, ou les fichiers, pour répliquer le problème (pour que je puisse tester localement). Vous pouvez envoyez vos rapports de bogue à cette adresse: michel.fortin@michelf.ca.
Licence
D pour Xcode est distribué sous la GNU General Public License version 2 ou plus récente.
Historique
D for Xcode 1.2.2 (28 Mar 2011)
- Réglage d’un problème relié au nom des dossiers de DMD 2.052.
D pour Xcode 1.2.1 (16 Jan 2011)
Réglage d’un problème où le linker se plaignait d’un librairie « druntime » manquante sur certain systèmes.
Support préliminaire et plutôt incomplet de Xcode 4 beta.
D pour Xcode 1.2 (21 Mar 2010)
Ajout d’un paquet d’installation. Une installation par défaut téléchargera et installera la dernière version du compilateur DMD 2.x et 1.x dans /Library/Compilers/.
Le paquet d’installation ajoutera les liens symboliques appropriés dans /usr/local/ de façon à ce que DMD fonctionne correctement à la ligne de commande sans toucher à votre variable d’environnement
PATH
. La commandedmd2
invoque DMD 2.x alors quedmd1
invoque DMD 1.x.dmd
pointe sur l’un des deux (dmd2
par défaut, mais vous pouvez changer ça avecsetdmd
).Mise à jour de la liste des mot créés pour le coloriage de la syntaxe, amélioration du pliage de code (code folding), et d’autre améliorations au scanner de code.
Ajout d’un scanner spécial pour les chaînes de caractères et les commentaires dans Xcode 3. Les commentaires imbriqués
/++/
et tous les types de chaînes de caractères sont maintenant coloriés correctement.Les fichiers D sont maintenant reconnus correctement par défaut dans Xcode 3. Précédemment, ils était assignés au type sourcecode.dtrace (qui partage la même extension); maintenant sourcecode.d est utilisé quand les fichiers sont ajoutés au projet. Vous pouvez changer manuellement le type de fichier à partir du panneau d’information du fichier dans Xcode.
Réglage de la création de l’arbre des dépendances dans Xcode 3.1.
Élimination du DMD front end pour la coloration syntaxique. Un nouveau parseur est utilisé pour trouver les dépendances et un scanner spécialisé est utilisé pour la coloration syntaxique dans Xcode 2.5.
Élimination du support pour le menu des fonctions dans Xcode 2.5 qui dépendait du DMD front end qui nécessitait trop de maintenance pour le garder à jour. Le menu reste disponible avec Xcode 3 en se basant sur le nouveau scanner de code source.
D pour Xcode 1.1b2 (21 Sep 2008)
Amélioration du pliage de code.
Réparation d’un problème où la commande de l’éditeur de lien était incorrecte sous Xcode 3.1.
D pour Xcode 1.1b1 (31 mai 2008)
Mis à jour le processus de construction et les autres partis du plugin pour Xcode 3 sur Leopard. Le plugin fonctionne toujours avec les versions de Xcode supportés précédemment (2.4.1 et 2.5).
Création d’un nouvel ensemble de règles pour la coloration syntaxique pour Xcode 3 supportant le pliage de code.
D pour Xcode 1.0.1 (23 novembre 2007)
- Le plugin enregistre maintenant son appplication de lancement quand il est chargé par Xcode. Auparavant, il fallait compter sur le Finder pour l’enregister, mais ce n’était pas toujours fiable; maintenant nous avons un plan de secours.
D pour Xcode 1.0 (20 novembre 2007)
- Première version non-beta.