forked from CosmosOS/Cosmos
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cosmos.VS.ReadMe.html
147 lines (144 loc) · 5 KB
/
Cosmos.VS.ReadMe.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
<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.ProjectSystem 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.ProjectSystem</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 XSharp.VS 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.ProjectSystem.</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>