Projects that provide Visual Studio IDE support.

Debugging

Debugging VS packages can be a royal PITA. The hive can be used but install.bat often requires it to be reset each time.

Hive:

Cosmos.VS.Package is setup for debugging via a second (non hive) instance but the path is set for the default directory on x64.

Hive:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe
D:\source\Cosmos\source\Cosmos.sln /ranu /rootsuffix Exp

Non hive:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe
D:\source\Cosmos\source\Cosmos.sln

Resources

VSIX

MEF

Projects

Note that some VS parts, the custom VS debugger for example is in \Debug.

Cosmos.VS.Package

MPF project. Does not appear to be a VS Package. So what is it? This was our first package from very old VS, might be old crapp COM model?

Provides:

Cosmos.VS.Launch

This is a separate asm because it allows us to build stand alone utilities which reference it and also eaiser testing outside of VS.

Cosmos.VS.Windows

Provides UI for Cosmos debug windows in VS. Contains windows, toolbars and menu options.

Separate from other pacakges because:

Cosmos.VS.Windows.Test

Testing project for Cosmos.VS.Windows. Not used by VS itself.

Cosmos.VS.Wizards

Not VSIX, not MEF, not MPF. Why is this a separate assembly?

Provides:

Cosmos.VS.XSharp

MPF project and VS Package.

XSharp Language Service

Provides:

X# custom tool generator is in Cosmos.VS.Package.

Comos.Launch.VMware

VS debugger requires a process that starts paused, and is then later started. To do this and to unify the process that is used, we use a proxy process which then controls the actual execution environment (VMWare, QEMU, etc).

Comos.Debug.VSDebugEngine

This provides a custom debug engine to Visual Studio to handle tracing, breakpoints, stepping, watches, etc.

References