Documenting my progress... zero experience with non-iOS Cocoa development.
- 7/27/2014
- Looks like someone got there first... check out GitDiff!
- 4/22/2014
- Added
AWRulerView
to the right of the line numbers. Next: try to figure out how to use the NSRuler properly (hooking up itsclientView
property to the source code view).
- Added
- 4/14/2014
- Swizzled some methods of
DVTTextSidebarView
to see what can be modified. Doesn't look like I can do much, next steps: retry to add a new view (NSRuler) next to the original gutter. - Found Xcode Explorer, could be useful
- Swizzled some methods of
- 4/7/2014
- Tried to move the editorScrollView to the right to make room for a new sibling view (a new gutter), the frame seems to be tied to the editorContainerView, changing scrollview's frame changes the containerview's frame for some reason. Looked at SCMiniMapView.m's show/hide methods to see how they do it
- 4/6/2014
- Used SCXodeMiniMap as reference to see how they added stuff
- Development is annoying... build > quit Xcode > restart Xcode > look at the system log to view print statements
- Use
tail -f /var/log/system.log
to view NSLog's from the plugin... seems like there's no other way to debug - Poked around by printing out/traversing the view hierarchy, printing out the methods and properties that the classes contain. Trying to find the left gutter element.
- Found the gutter, it's a
DVTTextSidebarView
:NSRulerView
. Looks like it has a lot of properties. Was able to change the font of the line numbers in the gutter successfully. - Next steps: try to add a new
NSRulerView
to the right of the existing one - Other useful links:
- 4/5/2014
- Initialized with template for Xcode5 plugins
- Installed UI Browser to try to inspect Xcode's "DOM" (as if I were inspecting Firefox's chrome), not too helpful, but learned that the gutter is a "ruler" element
- Found some info about
class-dump
to reverse engineer Apple's code