I wanted to get the full file path when the caret in visual studio is at object Creation or referring a method of some other class.

Something like

Class CurrentClass
{
   Class2 object1=new Class2();

   object1.method1();

}

Can I get the complete file path like c:\ProjectLocation\Class2.cs.

When I get this line in visual studio.

Class2 object1=new Class2();
1

There are 1 answers

2
Alex Skorkin On BEST ANSWER

You can resolve the active expression (object creation expression, type reference expression, method reference expression), and get the file name with resolved declaration, using code like this:

  Expression activeExpression = CodeRush.Source.Active as Expression;
  if (activeExpression!= null)
  {
    IElement declaration = activeExpression.Resolve(new SourceTreeResolver());
    if (declaration != null)
    {
      string fileName = declaration.FirstFile.Name;
      // use the fileName...
    }
  }