There are a number of extension points that need to be implemented when creating a Language Addin for MonoDevelop.
Create a project with an addin manifest defining the ID, dependencies, etc.
Define mimetypes for new file types using /MonoDevelop/Core/MimeTypes
Register any icons you need using /MonoDevelop/Core/StockIcons
Define file filters for "open" dialog using /MonoDevelop/Ide/FileFilters
Register project extension, MSBuild imports and type GUID using /MonoDevelop/ProjectModel/MSBuildItemTypes
Implement IDotNetLanguageBinding and register at /MonoDevelop/ProjectModel/LanguageBindings, and implement the IDotNetLanguageBinding. Not all the members need to be implemented at this point.
Register parameters/configuration settings classes used by your language binding at /MonoDevelop/ProjectModel/SerializableClasses
Write file and project templates and register at /MonoDevelop/Ide/FileTemplates /MonoDevelop/Ide/ProjectTemplates
At this point you should be able to create/save/load/compile/run projects for your language.
Implement options panels for editing your language-specific settings classes and register at /MonoDevelop/ProjectModel/Gui/ItemOptionPanels
Write a syntax definition for your source files' mimetypes and register at /MonoDevelop/SourceEditor2/SyntaxModes
A parser provides type information to the MonoDevelop type system, automatically enabling the class pad, the document outline, the class member breadcrumbs, and the go-to-type commands. It's used by code completion fby projects that reference the current project. It also provides code folding and error undelrining information.
Implement the parser and register at /MonoDevelop/ProjectModel/DomParser
Ambiences format type information shown in info tooltips, the document outline, and so on.
Implement an ambience class and register at /MonoDevelop/ProjectModel/Ambiences
Implement a CompletionTextEditorExtension subclass and register at /MonoDevelop/Ide/TextEditorExtensions.
There are further extension points that can be implemented to add more features and integrate further -
| Images 0 | ||
|---|---|---|
| No images to display in the gallery. |