Difference between revisions of "Mono-D"

From D Wiki
Jump to: navigation, search
(Initial edit)
 
m
Line 32: Line 32:
 
int myCodes;
 
int myCodes;
 
//endregion</pre>
 
//endregion</pre>
** Obligatory <abbreviated title="Abstract Syntax Tree">AST</abbreviated> outlining <small>for easy access of stuff declared in a D source file</small>
+
** Obligatory <tt title="Abstract Syntax Tree">AST</tt> outlining <small>for easy access of stuff declared in a D source file</small>
 
** Intelligent code indentation
 
** Intelligent code indentation
 
** Basic code formatting support <small>which reorganizes all kinds of code elements, not only line beginnings</small>
 
** Basic code formatting support <small>which reorganizes all kinds of code elements, not only line beginnings</small>
 
** Invoking a project's unit tests via pressing Ctrl+T
 
** Invoking a project's unit tests via pressing Ctrl+T
 
** ...
 
** ...

Revision as of 11:37, 11 July 2014

Mono-D is an Addin for XamarinStudio/MonoDevelop that brings D support to those IDEs.

Features

  • D Project management
    • Managing files & resources
    • Managing inter-project dependencies in a solution
    • Build projects and prepare them for being deployed
  • Ad hoc dub support. Despite the dub.json file not being a native format that is supported by the Mono/.Net facilities, there's still a bunch of things wrapped for being used within MD.
    • Read-only opening dub.json files as projects
    • Resolving package dependencies and subpackages and opening all of them as projects, too
    • Build support
    • ...
  • Basic Visual-D project format support
  • dmd, gdc, ldc2, rdmd, dub, make toolchain support
  • Rich editing & refactoring facilities:
    • Halfway™ decent auto code completion including pre-compile time
      • template deduction & evaluation,
      • mixins & mixin expression,
      • expression value as well as
      • compiler traits,
      • op overload evaluation & deduction that is used to provide extremely more accurate information about which symbols could be accessed or typed in a particular code context
    • Obligatory things like definition lookup,
    • Code symbol reference highlighting,
    • Semantic type identifer highlighting,
    • Optional diff-based syntax highlighting,
    • Diet template file highlighting.
    • Mixin expression pre-compilation to see what a mixin will look like when being compiled
    • Code declaration foldings
    • User-generated foldings via

//region My Region int myCodes; //endregion

    • Obligatory AST outlining for easy access of stuff declared in a D source file
    • Intelligent code indentation
    • Basic code formatting support which reorganizes all kinds of code elements, not only line beginnings
    • Invoking a project's unit tests via pressing Ctrl+T
    • ...