D for Xcode


D for Xcode, 1.2.2 (175 Kb)
Installer package for D for Xcode. March 28, 2011.
March 16, 2013: this installer package is no longer capable of downloading DMD.
Source code, 1.2.2 (173 Kb)
Source code for building the plugin on your own.

You can track the development of this project using the Git repository mirror accessible from git.michelf.ca.

To Xcode 4 users: D for Xcode is only partially working with Xcode 4 currently; version 3 of Xcode is fully supported.


D for Xcode makes it easy to develop tools, libraries, and applications in the D programming language using Apple’s Xcode IDE. The plugin does the following things:


Note: Support for Xcode 2.5 does not include the outline menu in the editor’s navigation bar.


Download and open the provided installer package. The installer package will automatically download and install the DMD 2.x and 1.x compilers (only on Intel Macs). Here is a detailed description of what is installed for each subpackage:

Both DMD 2.x and DMD 1.x contains an executable called dmd. Symbolic links installed in /usr/local/ are named respectively dmd2 and dmd1 so you can easily invoke a specific version of the compiler using one of these commands. The dmd symbolic link points to dmd2 by default, but you can change this using setdmd like this:

sudo setdmd 1

You can later install a newer version of DMD by running again the installer package. Alternatively, you can drop a freshly unpacked dmd or dmd2 folder at /Library/Compilers/, but then you should make sure the file permissions are correctly setup (zip files coming from Digital Mars tend to miss a few executable bits).


Known Issues

Module Dependencies

The compiler and the dependency checker assumes the directory your project file is located in is where you’re editing modules. This means that a module named mypackage.mymodule must be located at PROJECT_DIR/mypackage/mymodule.d. You can add other module directories (if you want to include libraries for instance), but the dependency graph doesn’t take them into account and your files depending on them won’t be recompiled automatically if you change them (you’ll need to clean the target first). Let me know if this is a problem for you.

Bug Reports

If you find a problem, whether it’s crashing Xcode or not, I’d like to know about it. Please give me any relevant information (such as Xcode version, and a crash logs if Xcode crashes) and the appropriate steps, or files, to replicate the problem (so I can debug it locally). You can send bug reports at this address: michel.fortin@michelf.ca.


D for Xcode is available under the GNU General Public License, version 2 or later.

Version History

D for Xcode 1.2.1 (16 Jan 2011)

D for Xcode 1.2 (21 Mar 2010)

D for Xcode 1.1b2 (21 Sep 2008)

D for Xcode 1.1b1 (31 May 2008)

D for Xcode 1.0.1 (November 23, 2007)

D for Xcode 1.0 (November 20, 2007)

  • © 2003–2016 Michel Fortin.