[MonoDevelop] Improving organization of extension points
Lluis Sanchez
lluis at ximian.com
Fri Jan 20 13:25:48 EST 2006
Hi,
I plan to reorganize the extension point hierarchy so it is more
coherent with the new assembly organization. I'm showing first of all
the current organization, then the structure I propose and an example of
the resulting extension point tree.
Comments are welcome.
Lluis.
These are the extensions points we have now (shown per assembly):
MonoDevleop.Core.dll
--------------------
/Workspace/Services
/SharpDevelop/Workbench/ExecutionHandlers
MonoDevleop.Core.Gui.dll
------------------------
/SharpDevelop/Workbench/StockIcons
MonoDevleop.Projects.dll
------------------------
/SharpDevelop/Workbench/Ambiences
/SharpDevelop/Workbench/ProjectBindings
/SharpDevelop/Workbench/ProjectFileFormats
MonoDevleop.Projects.Gui.dll
----------------------------
/SharpDevelop/Workbench/ProjectOptions/GeneralOptions
/SharpDevelop/Workbench/CombineOptions/GeneralOptions
/SharpDevelop/Workbench/CombineOptions/ConfigurationProperties
MonoDevleop.Ide.dll
-------------------
/SharpDevelop/Commands
/SharpDevelop/Views/ProjectBrowser/ContextMenu/CombineBrowserNode
/SharpDevelop/Views/ProjectBrowser/ContextMenu/ResourceFolderNode
/SharpDevelop/Views/ProjectBrowser/ContextMenu/ReferenceFolderNode
/SharpDevelop/Views/ProjectBrowser/ContextMenu/ReferenceNode
/SharpDevelop/Views/ProjectBrowser/ContextMenu/DefaultFileNode
/SharpDevelop/Views/ProjectBrowser/ContextMenu/ProjectFileNode
/SharpDevelop/Views/ProjectBrowser/ContextMenu/SystemFileNode
/SharpDevelop/Views/ProjectBrowser/ContextMenu/DefaultDirectoryNode
/SharpDevelop/Views/ProjectBrowser/ContextMenu/ProjectBrowserNode
/SharpDevelop/Views/ProjectBrowser/NodeBuilders
/SharpDevelop/Workbench/FileFilter
/SharpDevelop/Workbench/Pads
/SharpDevelop/Workbench/Contexts
/SharpDevelop/Workbench/DisplayBindings
/SharpDevelop/Workbench/Combine/FileFilter
/SharpDevelop/Workbench/ToolBar
/SharpDevelop/Workbench/MainMenu
/SharpDevelop/Dialogs/OptionsDialog
/SharpDevelop/DefaultEditor/SearchAndReplace/WildcardHelpPath
/SharpDevelop/CompletionDatabaseWizard
Ok, the new organization I propose is the following:
MonoDevelop.Core.dll
--------------------
/Runtime/Services
/Runtime/Applications
/Services/Execution/ExecutionHandlers
MonoDevelop.Core.Gui.dll
------------------------
/Gui/StockIcons
MonoDevelop.Projects.dll
------------------------
/Services/Projects/Ambiences
/Services/Projects/ProjectBindings
/Services/Projects/ProjectFileFormats
/Services/Projects/LanguageBindings
MonoDevelop.Projects.Gui.dll
----------------------------
/Services/Projects/Gui/ProjectOptions/GeneralOptions
/Services/Projects/Gui/ProjectOptions/ConfigurationProperties
/Services/Projects/Gui/CombineOptions/GeneralOptions
/Services/Projects/Gui/CombineOptions/ConfigurationProperties
MonoDevelop.Ide.dll
-------------------
/Applications/Ide/Commands
/Applications/Ide/Workbench/DisplayBindings
/Applications/Ide/Workbench/Pads
/Applications/Ide/Workbench/Pads/MonoDevelop.Ide.Gui.Pads.ProjectPad
/Applications/Ide/Workbench/Pads/MonoDevelop.Ide.Gui.Pads.ProjectPad/ContextMenus/Combine
/Applications/Ide/Workbench/Pads/MonoDevelop.Ide.Gui.Pads.ProjectPad/ContextMenus/ResourceFolder
/Applications/Ide/Workbench/Pads/MonoDevelop.Ide.Gui.Pads.ProjectPad/ContextMenus/ReferenceFolder
/Applications/Ide/Workbench/Pads/MonoDevelop.Ide.Gui.Pads.ProjectPad/ContextMenus/Reference
/Applications/Ide/Workbench/Pads/MonoDevelop.Ide.Gui.Pads.ProjectPad/ContextMenus/DefaultFile
/Applications/Ide/Workbench/Pads/MonoDevelop.Ide.Gui.Pads.ProjectPad/ContextMenus/ProjectFile
/Applications/Ide/Workbench/Pads/MonoDevelop.Ide.Gui.Pads.ProjectPad/ContextMenus/SystemFile
/Applications/Ide/Workbench/Pads/MonoDevelop.Ide.Gui.Pads.ProjectPad/ContextMenus/DefaultDirectory
/Applications/Ide/Workbench/Pads/MonoDevelop.Ide.Gui.Pads.ProjectPad/ContextMenus/Project
/Applications/Ide/Workbench/Pads/MonoDevelop.Ide.Gui.Pads.ClassPad
/Applications/Ide/Workbench/Contexts
/Applications/Ide/Workbench/ToolBar
/Applications/Ide/Workbench/MainMenu
/Applications/Ide/OptionsDialog
/Applications/Ide/Workbench/Combine/FileFilter
/Applications/Ide/FileFilter
/Applications/Ide/SearchAndReplace/WildcardHelpPath
/Applications/Ide/FileTemplates
/Applications/Ide/ProjectTemplates
/Applications/Ide/Extensions
MonoDevelop.MonoDevelop.SourceEditor.dll
----------------------------------------
/Applications/Ide/Extensions/SourceEditor/ContextMenu
/Applications/Ide/Extensions/SourceEditor/EditActions
The resulting tree would be more or less like this:
Runtime
Services
Applications
Services
Execution
Projects
Ambiences
ProjectBindings
ProjectFileFormats
LanguageBindings
SerializableClasses
Gui
ProjectOptions
GeneralOptions
ConfigurationProperties
CombineOptions
GeneralOptions
ConfigurationProperties
...
Gui
StockIcons
...
Applications
Ide
Commands
Workbench
DisplayBindings
Pads
MonoDevelop.Ide.Gui.Pads.ProjectPad
ContextMenu
Combine
Project
ResourceFolder
ReferencesFolder
Reference
DefaultFile
ProjectFile
SystemFile
DefaultDirectory
NodeBuilder
...
MonoDevelop.Ide.Gui.Pads.ClassPad
...
Contexts
ToolBar
MainMenu
OptionsDialog
FileFilter
FileTemplates
ProjectTemplates
SearchAndReplace
WildcardHelpPath
Extensions
SourceEditor
ContextMenu
EditActions
...
More information about the Monodevelop-list
mailing list