mirror of
https://github.com/danbulant/Cosmos
synced 2026-05-19 20:39:01 +00:00
147 lines
5.2 KiB
HTML
147 lines
5.2 KiB
HTML
<p>
|
|
Projects that provide Visual Studio IDE support.</p>
|
|
<h2>
|
|
Debugging</h2>
|
|
<p>
|
|
Debugging VS packages can be a royal PITA. The hive can be used but install.bat
|
|
often requires it to be reset each time.</p>
|
|
<p>
|
|
Hive: </p>
|
|
<p>
|
|
Cosmos.VS.Package is setup for debugging via a second (non hive) instance but
|
|
the path is set for the default directory on x64.</p>
|
|
<p>
|
|
Hive:<br />
|
|
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe<br />
|
|
<a href="file:///D:/source/Cosmos/source/Cosmos.sln">
|
|
D:\source\Cosmos\source\Cosmos.sln</a> /ranu /rootsuffix Exp</p>
|
|
<p>
|
|
Non hive:<br />
|
|
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe<br />
|
|
<a href="file:///D:/source/Cosmos/source/Cosmos.sln">D:\source\Cosmos\source\Cosmos.sln</a></p>
|
|
<h2>
|
|
Resources</h2>
|
|
<h3>
|
|
VSIX</h3>
|
|
<ul>
|
|
<li><a href="http://msdn.microsoft.com/en-us/library/ff363239.aspx">MSDN: VSIX
|
|
Deployment</a></li>
|
|
<li><a href="http://superuser.com/questions/73675/how-do-i-install-a-vsix-file-in-visual-studio">
|
|
How do I deploy a VSIX file?</a></li>
|
|
</ul>
|
|
<h3>
|
|
MEF</h3>
|
|
<ul>
|
|
<li>MSDN<ul>
|
|
<li><a href="http://code.msdn.microsoft.com/vsx">Visual Studio 2010 Editor
|
|
Extensibility Samples</a></li>
|
|
<li><a href="http://msdn.microsoft.com/en-us/library/dd885242.aspx">Extending the
|
|
editor</a></li>
|
|
<li><a href="http://msdn.microsoft.com/en-us/library/dd885013.aspx">Managed
|
|
Extensibility Framework in the Editor</a></li>
|
|
<li><a href="http://msdn.microsoft.com/en-us/library/dd885122.aspx">Getting Started
|
|
with Editor Extensions</a></li>
|
|
<li><a href="http://msdn.microsoft.com/en-us/library/dd393694.aspx">Visual Studio
|
|
Extension Deployment</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="http://channel9.msdn.com/blogs/vsipmarketing/vsx212-adding-a-language-service-into-visual-studio-2010">
|
|
How to integrate a language service (Video)</a></li>
|
|
<li><a href="http://channel9.msdn.com/posts/VSIPMarketing/VSX212-Adding-a-Language-Service-into-Visual-Studio-2010/">
|
|
Chris Granger's talk on Language Integration in the 2010 Editor</a></li>
|
|
<li><a href="http://channel9.msdn.com/posts/VSIPMarketing/VSX103-Lighting-up-the-new-Visual-Studio-2010-Editor-with-Rich-Extensions/">
|
|
Chris Granger's talk on Lighting up the editor with extensions</a></li>
|
|
</ul>
|
|
<h2>
|
|
Projects</h2>
|
|
<p>
|
|
Note that some VS parts, the custom VS debugger for example is in \Debug.</p>
|
|
<h3>
|
|
Cosmos.VS.Package</h3>
|
|
<p>
|
|
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?</p>
|
|
<p>
|
|
Provides:</p>
|
|
<ul>
|
|
<li>Support for the .Cosmos project type</li>
|
|
<li>Project configuration dialogs</li>
|
|
<li>X# custom tool generator - Move to Cosmos.VS.XSharp probably</li>
|
|
</ul>
|
|
<h3>
|
|
Cosmos.VS.Windows</h3>
|
|
<p>
|
|
Provides UI for Cosmos debug windows in VS.
|
|
Contains windows, toolbars and menu options. </p>
|
|
<p>
|
|
Separate from other pacakges
|
|
because:</p>
|
|
<ul>
|
|
<li>Threading and hosting issues</li>
|
|
<li>It is a different project
|
|
type.</li>
|
|
<li>Allows external testing by Cosmos.VS.Windows.Test</li>
|
|
</ul>
|
|
<h3>
|
|
Cosmos.VS.Windows.Test</h3>
|
|
<p>
|
|
Testing project for Cosmos.VS.Windows. Not used by VS itself.</p>
|
|
<h3>
|
|
Cosmos.VS.Wizards</h3>
|
|
<p>
|
|
Not VSIX, not MEF, not MPF. Why is this a separate assembly?</p>
|
|
<p>
|
|
Provides:</p>
|
|
<ul>
|
|
<li>Support for creating new Cosmos projects from within Visual Studio.</li>
|
|
</ul>
|
|
<h3>
|
|
Cosmos.VS.XSharp</h3>
|
|
<p>
|
|
MPF project and VS Package.</p>
|
|
<p>
|
|
XSharp Language Service</p>
|
|
<p>
|
|
Provides:</p>
|
|
<ul>
|
|
<li>Syntax coloring for X#.
|
|
</li>
|
|
<li>Code completion / intellisense (future)
|
|
</li>
|
|
</ul>
|
|
<p>
|
|
X# custom tool generator is in Cosmos.VS.Package.</p>
|
|
<h3>
|
|
Comos.Launch.VMware</h3>
|
|
<p>
|
|
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).</p>
|
|
<h3>
|
|
Comos.Debug.VSDebugEngine</h3>
|
|
<p>
|
|
This provides a custom debug engine to Visual Studio to handle tracing,
|
|
breakpoints, stepping, watches, etc.</p>
|
|
<ul>
|
|
<li>AD7.Impl \ AD7Process.cs<ul>
|
|
<li>Launches DebugHost, which then launches
|
|
VMWare etc</li>
|
|
<li>Contains pipes for communicating to VMWare's serial port to DebugStub</li>
|
|
</ul>
|
|
</li>
|
|
<li>BreakpointManager.cs<ul>
|
|
<li>contains notes on breakpoints</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
|
|
<p>
|
|
References</p>
|
|
<ul>
|
|
<li>http://archive.msdn.microsoft.com/debugenginesample/Release/ProjectReleases.aspx?ReleaseId=4149</li>
|
|
</ul>
|
|
|
|
<p>
|
|
</p>
|
|
|