For all the automation objects provided to you by the Visual Studio Design-Time Extensibility object model (DTE), you are limited by what it can do (it's the code that implements the functionality you're trying to use). So, persisting information is up to you. You have control - using the DTE object model - to select text, display objects (you can display tooltips; just search this site or http://google.com[^] for keywords like "DTE" and "tooltip", but it works much differently than with the .NET assemblies; they're entirely different classes implemented by entirely different platforms), and persist data. For example, you could persist the line numbers when lines are changed (there are events for when lines change) and store a diff (or just a comment similar to what you'd see in Word's tracking feature) to a persist file. When the file changes, update your persisted data accordingly. As the user scrolls you must track the position of where this data is to be displayed. It's all possible, but probably not in the way you're expecting. You're going to have to provide the implementation to persist and display these changes, but the code to catch changes, displays UI adornments, interact with the text editor, and more are provided to you through the DTE object model. This posting is provided "AS IS" with no warranties, and confers no rights. Software Design Engineer Developer Division Sustained Engineering Microsoft [My Articles] [My Blog]