Class IO shows class relationships with its interfaces and parent class in a non-obstructive way. Class IO is an alternative to ClassLens.
Unlike ClassLens, Class IO is not a CodeLens provider and therefore it does not require CodeLens to be enabled.
- any class member that is an implementations of the class's interfaces.
- any class member that overrides base class's member.
There are two ways to quickly navigate to parents:
Go To Definition: Class IO also allows you to quickly navigate to the parent member by provide extra definition to above marked members. To navigate to parent members, use Go To Definition and choose the parent member in the peak definition popup.
Context menu or keyboard shortcut: Class IO also provide a command and a context menu item to navigate to parent: while cursor is on the child member, right click mouse and choose "Go To Parent", or click the default key binding: Alt+Shift+G
Change the mark up symbols and color with the following configuration:
// The symbol will be attached to before interface implementation members. "classio.implementationSymbol": "i ", // The color of attached implementation symbol. "classio.implementationSymbolColor": "rgba(128,128,128,1)", // The symbol will be attached to before override member. "classio.overrideSymbol": "o ", // The color of attached override symbol. "classio.overrideSymbolColor": "rgba(128,128,128,1)" // How long the user should idle for before Class IO start updating. "classio.timeOut": 500
Class IO builds up a database alike cache as you develop your project. Therefore it will cost you hardly anything after it has seen all of your class structures.
Caches will be saved to workspace state and each time you open vscode, Class IO will recover the cache from workspace state.
To clear workspace cache:
CTRL/CMD + P: then search for "Class IO: Clear Cache".
Note: Reset cache when Class IO is updated and it is not fully working on files opened before.
Really enjoying Class IO?
In a giving mood?
Your support is greatly appreciated!