Okay, here is the summary of what I'd like for a C# Code Explorer.
I don't know all the groups of items that Code Explorer can display. However, I
did some experimenting with C++ files, and I think I have a good feel for the
groups C# should have.
Below are the Code Explorer groups and how to create them for C#.
Let me know if this is not clear.
BTW, is there any way in Code Explorer to set the default sort order to be
alphabetical?
=Class Group=
Search for the case-sensitive word "class". The next word is the class name.
Examples:
/* comment */ public class Test1 { };
sealed partial class Test2 { };
// Derived class
abstract class Test3: Test1 { };
// Paramaterized type
class Test4<T> { };
// Innner class
class Test5
{
class Test6 { };
};
=Method Group=
This grouping is equivalent to the Function group for C++. However, "Method" is
a more correct name for C#.
I think the way you find functions in C++ should work for C#. To me, it seems
hard to detect the difference between a method definition and a method
invocation. Maybe you have a good trick for telling the difference.
Examples:
public class Test1
{
// Constructor
Test1() { }
// Constructor
public Test1(int parm1) { }
public void Method1(int parm1) { }
private string Method2()
{
// Call Method1
Method1(4);
return "rc";
}
};
=Define Group=
These are simpler versions of C++ defines. In C#, you can only define or
undefine a symbol. You can't give the symbol a value or make it a macro.
Examples:
// This is as complex as it gets
#define DEBUG_ON1
// Whitespace between the '#' and 'define'
# define DEBUG_ON2
=Region=
Regions are part of C#, but not C++. However, syntactically they are basically
identical Defines.
Examples:
#region PropertiesRegion1
# region PropertiesRegion2
--
<http://forum.pspad.com/read.php?2,43935,44071>
PSPad freeware editor http://www.pspad.com