Search code examples
c#visual-studio-sdkcheckin-policy

Make VS jump to line x in editor


Im writing a policy plugin for VS which checks several issues with the code. If an issue occurs it will be displayed in the policy warnings tab. Now I want to jump to the line where the issue occurs in the editor when I double click it in the policy warning tab. How can I do that?

namespace PolicyPlugin
{
    [Serializable]
    public class MyPolicyPlugin : PolicyBase
    {
        //...

        //called if the user clicks on a policy warning
        public override void Activate(PolicyFailure failure)
        {
            // make jump to line x
        }
    }
}

Thanks!


Solution

  • You could try to get DTE automation object first:

    EnvDTE.DTE dte = (EnvDTE.DTE)Package.GetGlobalService(typeof(EnvDTE.DTE));
    

    or use alternative ways to get it.

    An then execute standard command (that's what happens when you press CTRL+G in Visual Studio)

    DTE.ExecuteCommand("Edit.Goto", "1234")
    

    Note: I'm not sure about exact ExecuteCommand method signature. Also you can manipulate IDE the same way for other commands.