|
|
 |

 |
|
Inside Microsoft® Visual Studio® .NET 2003
|
|
 |
Author |
 |
Brian Johnson, Craig Skibo, Marc Young
|
 |
|
Pages |
576
|
|
Disk |
N/A
|
|
Level |
Int/Adv
|
|
Published |
02/12/2003
|
|
ISBN |
9780735618749
|
|
ISBN-10 |
0-7356-1874-7
|
|
Price(USD) |
$49.99
To see this book's discounted price, select a reseller below.
|
|
|
|
|
 |
|
|
Index
Symbols
* (asterisk), 91, 446
# (pound sign), 91
? (question mark), 86, 91, 446
[ ] (wildcard), 91
[!] (wildcard), 91
A
AbsoluteCharOffset property, 354
abstract classes, 495
access modifiers, 493, 499, 501, 503, 508
Acme Setup, 398
ActivePane property, 343
ActivePoint property, 355, 358
ActiveWindow property, 351
ActiveX controls
shim controls, 325-328
Toolbox, adding to, 301-303
Add-in Manager
displaying add-ins, 157
defined, 135
list population, 157
OnAddInsUpdate events, 159
Add-in Wizard
access privileges, 127
advantages of, 125-126
Class Library project creation, 127
debugging settings, 136
disappearing interface problem, 197-198
files generated by, 127
host applications, 126
loading at startup, 127
loading options, 134
menu item creation, 127
naming add-ins, 127
opening, 126
placing commands in menus, 194
programming language selection, 126
solution add-ins using, 223
unattended build safety, 127
using statements generated by, 132
.vsz file storage, 265
add-ins
AboutBox registry values, 178-180
access privileges, 127
Add-in Manager, 135, 157, 159
AddIns collection, 166, 169
administrative, 157
advantages of, 25-26, 125
Assembly Registry utility with, 155
automatic loading of, 171
automation object model, interaction with, 133
Basic.cs example, 152
calls to, 158
Class Library projects for, 127
class required for, 151
classes, accessing, 163
CLSIDs, 154-155
COM compatibility, 153-155, 161
command creation, 186-188
command handlers, finding, 191
CommandLineSafe registry value, 175-176
CommandLoad registry value, 171-174
compiling, 152-153
Connect.cs sample file, 128-132
connection statuses, determining, 169
connectMode parameter, 165
creating from scratch, 151-153, 161-162
custom actions, 203-205
debugging, 136-137
deleting commands, 203-206
Description registry value, 178
disappearing command problem, 197-198
DLL nature of, 127
DTE interface types, accessing, 164
DTE references, 138
entry point for code, 152
EnvDTE namespace, 163-165
events, 142-144, 158-162
ext_DisconnectMode values, 171
Extensibility namespace, 153
files generated for, 127
FriendlyName registry value, 178
FUIDs, 155-156
GUIDs, 155-156
host applications, 136
IDTExtensibility2 interface. See IDTExtensibility2 interface
Installer Class, 203-204
installing, 134
LifeCycle.cs example, 160-162
LoadBehavior registry value, 174-175
loading, 127, 134-135, 171
LoadUnload.cs, 167-170
localization, 176-178
macros, building from, 118-120
Macros IDE, debugging in, 136
memory leaks, 144
menu creation, 127, 133-134
MSI files, 134
namespaces for, 132, 162
naming, 127
OnAddInsUpdate event, 158, 160, 166-170
OnBeginShutdown method, 170
OnConnection method, 133, 144, 158, 164-165
OnDisconnection method, 170-171
OnStartupComplete method, 165
performance issues, 202
persisting data to solution files, 257-258
PreloadAddinState registry value, 171-174
preloading, 172-174
ProgIDs, 155, 157, 171
registering, 153-158
registering with solution files, 224
registry entries for, 153, 155-157
registry named values, 171-180
samples, location of, 25
satellite DLLs, 176-178
sequence of events, 158
setup project, deleting, 223
solutions containing, 223-224
startup, loading at, 127
unattended build safety, 127
uninstalling, 203-206
unsubscribing from events, 144
user, 157
Add Item wizards, 284
Add Macro Project dialog box, 101
Add methods
Access parameter, 508
AddAttribute method, 512
AddBase method, 513-514
AddClass method, 509-510
AddDelegate method, 510
AddEnum method, 512
AddFunction method, 511
AddImplementedInterface method, 514
AddInterface method, 510
AddMember method, 515
AddNamespace method, 509
AddParameter method, 515
AddProperty method, 511
AddStruct method, 509-510
AddVariable method, 512
defined, 389
Location parameter, 508
Name parameter, 507
namespaces, 492
Position parameter, 508
tables of, 485-486
Type parameter, 507
Variant1 vs. Variant2, 508
Add New Item dialog box, 230
Add New Item wizards
ContextParams argument, 262
defined, 260
directory structure for, 267-268
GUIDs, 262
raw templates, 274-275
AddAttribute method, 512
AddBase method, 513-514
AddClass method, 509-510
AddDelegate method, 510
AddEnum method, 512
AddFunction method, 511
AddImplementedInterface method, 514
AddInterface method, 510
AddMember method, 515
AddNamespace method, 509
AddParameter method, 515
AddProperty method, 511
AddStruct method, 509-510
AddVariable method, 512
administrative add-ins, 157
Administrative Install branch, 414
aliases
Command Window with, 87-88
creating, 77
macros, launching, 88
AnchorPoint property, 355, 358
AND operator, 445
API of Visual Studio .NET. See code model
Application folder, 401
application installation. See setup projects
architecture of .NET, 4-5
arrays
CreateArrayType method, 515-516
dimensions of, 506
assemblies
macros containing, 112-113
macros for testing, 112
project dependencies settings, 56
references to, 232
Assembly Registry utility, 155
AtEndOfDocument property, 354
AtEndOfLine property, 354
ATL functionality, 9
AtStartOfDocument property, 354
AtStartOfLine property, 354
attributes
AddAttribute method, 512
CodeAttribute objects, 501-502
CodeType object, property of, 493
creating for variables, 500
Delete method, 502
returning for variables, 499
AutoHideAll command, 13
automation events
add-ins, connecting to, 142-144
build events, 142
connecting to, 140
delegates for, 142-143
DTE.Events object, 139
DTE.Events property, 140-142
event handler creation, 143
filtered events, 146-148
language specific events, 140, 149
late-bound events, 149
macro event handlers, 144-146
memory leaks, 144
project-specific, 149
signatures for, 142-143
subscribing to, 142
unfiltered vs. filtered, 148
unsubscribing from, 144-145
variables, defining, 145-146
wiring up the event handlers, 143-144
automation mechanisms, types of, 24
automation object model
collections, 139
DTE object, 138-139
events. See automation events
flexibility of, 137
focus, setting, 140
guidelines for objects, 139-140
macros with, 106
objects in, 138
root object of, 163
top node of, 138
types of objects in, 138
window visibility, 140
B
BannerBitmap property, 413
BannerText property, 413
base classes, AddBase method, 513-514
base types, 493
BASIC programming language. See Visual Basic .NET
Basic.cs add-in example, 152
Batch Build dialog box, 58
bitmaps, 196-197
bootstrapping program, 433
BottomPoint property, 355, 358
brace matching, 84-85
breaking the build, 480
buffer overrun checks, 7-8
build configurations
Activate method, 245
BuildDependency objects, 249-251
ConfigurationManager object, 251-253
creating new, 253
cyclic dependency, 248
debug, 244, 254
finding project configurations, 252-253
Multiple Startup Projects option button, 247
naming solution configurations, 244
OnBuildProjConfigBegin event, 255
platforms supported, 251
project configurations, 244, 251-255
project dependencies, 247-251
project properties, 254-255
propagating solution configurations, 244
release, 244, 254
root object for, 243
selecting by name, 245
setup projects, 253
ShouldBuild property, 246
solution settings, 244-251
SolutionConfiguration objects, 244-246
SolutionContexts property, 245
startup projects, 246-247
builds
Batch Build dialog box, 58
breaking, 480
build events, 255-257
/build switch, 464
cleaning output files, 58
configurations. See build configurations
/doc, 46
events, adding, 48-49
Incremental Build, 46
project output types, 402
scenarios, configuring for, 57-58
Visual C++ options, 47
buttons
adding to command bars, 194-196
bitmaps for, 187, 196-197
text for, 186-187
C
C programming language
build events, adding, 48-49
formatting, braces, 72-73
slanted style, 72
C++. See Visual C++; Visual C++ .NET
C#
code comments, adding, 84
compiling add-ins, 153
configuration properties, 44-46
debugging settings, 45
DLL offsets, 46
formatting, braces, 72-73
Output Path property, 44
project events, 243
project user option files, 54
tab formatting default, 71
VSProject. See VSProject projects
case sensitivity, 486
CDs, setup, 436
chaining Custom wizards, 277-279
ChangeSourceControl command (VSS), 478
Checkbox dialog boxes for installation, 415
class libraries
Visual C++ .NET, 8-9
custom action, 422
Class Name combo box, 61
Class View window
opening, 63
defined, 16
classes
AddBase method, 513-514
AddClass method, 509-510
CodeClass objects, 494-495
generating with code model, 392-393
methods for, 495
ClassIDs, 264
/clean switch, 465
cleaning up source control, 478
CleanSolution command, 465
Clipboard Ring, 66, 298
Close method
Document, 352
UndoContext, 362
closing documents, 352
CLR (common language runtime)
advantages of, 5
interoperability, 10
purpose of, 4
CLS (Common Language Specification), 5
CLSIDs, 154-155
code analysis tools, 303
code discovery
child elements, 386
CME add-in, 385-387
code hierarchy, navigating, 378-387
CodeElement objects, 376-389
CodeType interfaces, 382-384
defined, 375
iterating through CodeElements collection, 380-382
point objects for, 388-389
querying CodeElement objects, 379
source file constructs, 375-377
TestCodeElement macros, 388-389
top-level elements, 378
Code Editor
Class Name combo box, 61
Code Panes, 61
colors, syntactic, 73-76
components of, 60, 62
importance of, 15, 59, 63
line numbering, 77
Margin Indicator Bar, 62
MDI view, 62
Members drop-down list, 61
Method Name combo box, 61
Navigation Bar, 61
new features, 60
outlining feature, 61, 79, 81
selection margin, 61
shortcuts, 64-69
tabbed view, 62
Text Editor, compared to, 60
Types drop-down list, 61
code formatting. See formatting
code generation
Access parameter, 508
Add methods, 389, 485-486, 492
AddAttribute method, 512
AddBase method, 513-514
AddClass method, 509-510
AddDelegate method, 510
AddEnum method, 512
AddFunction method, 511
AddImplementedInterface method, 514
AddInterface method, 510
AddMember method, 515
AddNamespace method, 509
AddParameter method, 515
AddProperty method, 511
AddStruct method, 509-510
AddVariable method, 512
bugs in, 393
building source files, 389-393
child element creation, 390-391
class creation, 392-393
common parameters, 507-508
CreateArrayType method, 515-516
Delete method, 516
element creation, 390
enumeration creation, 391
function type parameter, 392
goals of, 389, 507
interface creation, 391
Location parameter, 508
Name parameter, 507
namespace creation, 390
Position parameter, 508
Remove method, 516
RemoveBase method, 517
RemoveInterface method, 517
RemoveMember method, 517
RemoveParameter method, 518
structure creation, 391
Type parameter, 507
code model
access modifiers, 493, 499, 501, 503, 508
Add methods, 389, 485, 486, 492, 509-515
AddAttribute method, 512
AddBase method, 513-514
AddClass method, 509-510
AddDelegate method, 510
AddEnum method, 512
AddFunction method, 511
AddImplementedInterface method, 514
AddInterface method, 510
AddMember method, 515
AddNamespace method, 509
AddParameter method, 515
AddProperty method, 511
AddStruct method, 509-510
AddVariable method, 512
arrays, 506, 515-516
attributes, 501-502, 512
base class for, 488
base classes, 513-514
bugs in code generation, 393
child element creation, 386, 390-391, 488-489
classes, 392-393, 494-495, 509-510
CME add-in, 385-387
CodeAttribute objects, 501-502
CodeClass objects, 494-495
CodeElement objects, 376-389, 484-485, 488-491
CodeFunction objects, 502-505
CodeInterface objects, 496
CodeModel objects, 483, 485-487, 508
CodeNamespace interfaces, 379, 383
CodeNamespace objects, 492
CodeParameter objects, 505
CodeProperty objects, 500-501
CodeType interfaces, 382-384
CodeType objects, 486, 487, 493-494
CodeTypeRef objects, 487, 506, 515-516
CodeVariable objects, 498-500
comments, 491-492
common properties, 491
creating code. See code generation
defined, 375
delegates, 497-498, 510
Delete method, 516
deleting code elements, 485
document comments, 491
element creation, 390
entryways into, 483
enumeration objects, 391, 496-497, 512
extender objects, 488, 490
FileCodeModel object, 483-485
function type parameter, 392
functions, 502-505, 511
generating code. See code generation
GetEndPoint method, 490
GetStartPoint method, 490
goals of, 375
InfoLocation property, 489, 490
interactive feature creation, 388
interface creation, 391
interface management, 382-384
interfaces, 379, 496, 510, 514, 517
iterating through CodeElements collection, 380-382
members, 515, 517
methods, CodeElement, 490-491
names of elements, 488, 489
namespaces, 492, 509
navigation of hierarchy, 378-387
parameters, 505, 515, 518
Parent property, 491
point objects, retrieving from, 388-389
project assignment requirement, 485
project level, 485
properties, 511
properties, common, 491
properties of CodeElement, 488-490
properties of CodeModel, 485-486
properties of CodeProperty, 500-501
querying with object interfaces, 379
Remove method, 516
RemoveBase method, 517
RemoveInterface method, 517
RemoveMember method, 517
RemoveParameter method, 518
removing code elements, 485, 487, 516-517
source file constructs, 375-377
structures, 391, 494-495, 509
sub procedures, 502-505
top-level creation methods, 485
top-level elements, 378, 484
type creation, 493-494
type representation, 506
variables, 498-500, 512
Visual C++ idiosyncrasies, 489
vsCMAccess enumeration, 493
vsCMInfoLocation constants, 489-490
vsCMPart enumeration values, 490-491
vsCMTypeRef enumeration, 487
Code Model Explorer (CME) add-in, 385-387
CodeAttribute objects, 501-502
CodeClass objects, 494-495
CodeDelegate objects, 497-498
CodeElement objects, 376-390, 484, 488-491
CodeEnum objects, 496-497
CodeFunction objects, 502-505
CodeInterface objects, 496
CodeModel objects, 483, 485-487, 508
CodeNamespace objects, 492
CodeParameter objects, 505
CodeProperty objects, 500-501
CodeStruct objects, 494-495
CodeType methods, 494
CodeType objects, 493-494
CodeTypeRef objects, 506, 515-516
CodeVariable objects, 498-500
coding
Code Editor. See Code Editor
generating code. See code generation
Text Editor. See Text Editor
collections
automation object model, 139
Windows, 287-290
coloring for code, 73-76
COM compatibility
add-ins requiring, 153-155, 161
EnvDTE namespace, 164
references to COM objects, 233
command bars
bitmaps for, 196-197
button objects, 192
buttons, adding to, 194-196
controls, adding to, 194-196
controls collection, 192-193
deleting commands, 203-206
indexes of controls, 195
main menu bar item collection, 193-194
main menu bar object collection, 194
main point of access to objects, 192
new, creating, 195-196
object model, 192-193
popup controls, 193
re-creating commands, 199-202
saving, 197-198
separators, 195
Command command, creating, 23
command line
building projects and solutions, 463-470
CommandLineSafe values, 175-176
Devenv. See Devenv.exe
environmental variables for builds, 22
GUI options, 468
references, adding, 153
registry values for builds, 175-176
settings, 45
VSIP options, 470
command prompt
Find combo box for, 88
placement of, 23
command state, 189-191
/command switch, 466
Command Window
aliases with, 87-88
Command Mode, 86-87
defined, 19-20
expression evaluation with, 86
GUID constant for, 291
help searches from, 448
Immediate Mode, 86-87
modes of operation, 86
named commands in, 87
object type of, 291
question mark (?), 86
searches with, 94-95
CommandLineSafe values, 175-176
commands
add-in commands, creating, 186-188
add-on programs, routing to, 181
aliases, 77
buttons, adding to command bars, 194-196
collection for, 182-183
Command Windows execution of, 185
creating add-in commands, 186-188
custom. See commands, custom
custom keyboard shortcuts for, 67-69
defined, 181
deleting, 203-206
determining command state, 190
disabling, 189-191
disappearing interface problem, 197-198
DTE.ExecuteCommand method, 185
editing, 66
enabling, 189-191
enumerating, 182
execution methods, 185
file operations, 64-65
GUIDs of, 182-183, 187
handling custom, 188-189, 191
identification of, 182
IDs of, 182-183, 187
independence from user interface, 182
invoking, 185
Item method, 183
keyboard shortcuts for, 207-211
latched state, 189-191
line for entering. See command line
listing in Options box, 184
locating, 182-183
macro names as, 98
macros for executing, 185-186
nameless, 185
names of, 183-185
notification method, 181
passing data to, 189
printing list of shortcuts, 211-212
prompt for. See command prompt
QueryStatus method, 189-190
registration, resetting, 199-202
restoring, 197-202
routing, 181-182
running, 185
state of, 189-191
switching command bars for, 202
transposition, 66-67
user interface. See command bars
commands, custom
add-in handlers, finding, 191
AddNamedCommand method, 186-187
availability state, 187
button text for, 186-187
buttons for, 194-196
deleting, 203-206
demand loading of, 188
disappearing problem, 197-198
error loading message, 191
Exec method arguments, 188-189
graphic for button, 187
GUIDs of, 187
handling, 188-189
IDs of, 187
interface for invoking, 188
invoking, 188
keyboard shortcuts for, 207-211
naming, 186
parameters of, 206-207
passing data to, 189
performance issues, 202
placing in command bars, 194
registration, resetting, 199-202
restoring, 197-202
state of, 189-191
target for, 186
tooltip for, 187
Commands collection
enumerating, 182
Item method, 183
comments
returning for elements, 491-492
searching with Task List, 312-315
common file shortcuts, 64-65
Common Files folder, 399
common language runtime. See CLR
Common Language Specification (CLS), 5
Common Properties folder, 34-35, 42, 44
Common User Accessibility (CUA) shortcuts, 64
compiling
add-ins, 152-153
buffer overrun checks, 7-8
builds, configuring, See build configurations
/GL switch, 7
/GS switch, 7-8
options, 7-8
/RTCn switch, 8
run-time error checks, 8
setting options, 8
Visual C++ .NET options, 7-8
condition algebra, 426-428
Condition property, 430
Configuration Manager, 42, 57
configuration properties
for projects, 42, 44-50
for solutions, 35
Configuration Properties folder, 44-50
ConfigurationManager object, 251-253
configurations
builds. See build configurations
project. See project configuration
solutions, 35
configuring application installation. See setup projects
Connect.cs sample add-in code, 128-132
console application custom actions, 422
constants, 499
content files (project output type), 402
Context tag (XML Help Provider Service), 453
controls
command bar type, 192
finding existing in forms, 320-321
finding properties, 321
forms, adding to, 319-320
Parent property, 320
properties collection, 320
shim controls, 325-328
Toolbox, adding to, 301-303
CreateArrayType method, 515-516
CreateEditPoint method, 353, 357
CUA (Common User Accessibility) shortcuts, 64
CurrentTab property, 344
CurrentTabObject property, 344
custom actions during installation, 421-425
custom commands
add-in handlers, finding, 191
AddNamedCommand method, 186-187
availability state, 187
button text for, 186-187
buttons for, 194-196
deleting, 203-206
demand loading of, 188
disappearing problem, 197-198
error loading message, 191
Exec method arguments, 188-189
graphic for button, 187
GUIDs of, 187
handling, 188-189
IDs of, 187
interface for invoking, 188
invoking, 188
keyboard shortcuts for, 207-211
naming, 186
parameters of, 206-207
passing data to, 189
performance issues, 202
placing in command bars, 194
registration, resetting, 199-202
restoring, 197-202
state of, 189-191
target for, 186
tooltip for, 187
custom tool windows
add-in sponsor for, 323
bitmaps for tabs, 329
captions, 323
CreateToolWindow method, 323-325
GUIDs, 323
parent window requirements, 324
ProgID of control, 323
programmable objects, 323
Properties window with, 329-330
purpose of, 322
shim controls, 325-328
tab-linking of, 329
VSMediaPlayer sample project, 323-325
Web servers for user controls, 328
Custom wizards
calling, 276
chaining, 277-279
context parameters, 276, 278-279
creating, 276
defined, 260
GUIDs, 276
LaunchWizard method, 276-277
purpose of, 275
running programmatically, 276-277
throwaway wizards, 278-279
Customer Information, collecting at installation, 417
cyclic dependencies, 248
D
data entry dialog boxes for installation, 416
debug symbols (project output type), 402
/debugexe switch, 467
debugging
add-ins, 136-137
custom actions, 425
delegates
AddDelegate method, 510
automation events, 142-143
CodeDelegate objects, 497-498
vsCMPrototype enumeration, 497-498
Delete method, 516
dependencies
dependency graphs, 248
including in installation, 402
project, 34, 247-251
/deploy switch, 466
deployment. See setup projects
derived types, 493
Design Time Extensibility (DTE), 164
designers, 15-16
desktop folder, 400
development of Visual Studio .NET, 3-4
Devenv.exe
accessing, 23
command-line options, 463-468
GUI options, 468
/setup switch, 198
VSIP options, 470
dialog boxes
main windows as parents, 292
showing during installation, 413-421
discovering code
child elements, 386
CME add-in, 385-387
code hierarchy, navigating, 378-387
CodeElement objects, 376-389
CodeType interfaces, 382-384
defined, 375
iterating through CodeElements collection, 380-382
point objects for, 388-389
querying CodeElement objects, 379
source file constructs, 375-377
TestCodeElement macros, 388-389
top-level elements, 378
distributed Internet environment, 4
DLLs
compiling add-ins as, 153
offset property, 46
satellite DLLs, 176-178
for setup projects, 431
/doc option, 46
Dockable property, 60
docking tool windows, 60
document windows
defined, 11, 59
NewWindow method, 350
tabbed windows, 59
tool windows as, 60
documentation files, 402
documents
ActiveWindow property, 351
comments, returning, 491
Document objects, 348-352
Document property, 349
inserting text, 108
macros for text manipulation, 107-108
NewWindow method, 350
ReadOnly property, 351
Redo method, 351
Save method, 352
SaveAll method, 352
Saved property, 352
TextDocument objects, 107, 353
TextPoint objects, 107
Undo method, 351
windows for. See document windows
DTE objects
code model, returning with, 488
DTE.Documents collection, 349
DTE.Events properties, 140-142, 147
DTE.ExecuteCommand method, 185
DTE.Windows property, 287
extensibility of, 24
macros, references from, 138
Solution property, 213
Dynamic Help, 85-86, 449-454
E
Edit.Find command, 87-88, 94-95
editing text
Document objects, 348-352
documents, 348-353
editor windows, 341-347
EditPoint objects, 357-360
HTMLWindow objects, 343
LineChanged event, 366-372
multiple handlers for, 371-372
point objects, 353-357
shortcuts for, 66
stack linkage, 365
TextDocument objects, 353
TextPane objects, 345-347
TextPoint objects, 353
TextSelection objects, 357-360
TextWindow, 343
undo contexts, 360-365, 368
VirtualPoint objects, 354-356
Window objects, 342
editors. See Code Editor; Text Editor
EditPoint objects, 357-360, 388
EndPoint property, 353-354
enumerations
AddEnum method, 512
CodeEnum objects, 496-497
EnvDTE namespace
add-ins, objects used in, 163-165
COM compatibility, 164
Events properties, 140-142
IDTWizard interface, 260
Solution object, 213
Environment folder, 73, 75, 84
environmental variables, 22-23
Equals method, 333-335
EqualTo method, 354
event handlers
automation events, 143-144
macros, for, 113-115
events
add-ins called by, 158-162
automation object model. See automation events
build events, 255-257
filtered, 146-148
garbage collector problem, 222
handling. See event handlers
late-bound, 149
LifeCycle.cs example, 160-162
LoadUnload.cs example, 167-170
lost, 222
macros, firing with, 113-116
OnAddInsUpdate, 166-170
OnBeginShutdown, 170
OnBuild events, 255-256
OnDisconnection, 170-171
OnStartupComplete, 165
projects firing, 241-243
security with macros, 116
solution events, 217-222
SolutionEvents.cs, 218-222
Task List, 310-312
evolution of Visual Studio .NET, 3-4
Explorer windows. See UI hierarchy windows
ext_DisconnectMode values, 171
extender objects, 488, 490
extensibility
add-ins, 25-26
API for, 11
DTE object, 24
IDE folder shortcut, creating, 22
macros, 24
objects, calling, 297
wizards, 26
Extensibility namespace, 153
Extensibility.IDTExtensibility2 interface. See IDTExtensibility2 interface
F
F1 key, 81, 448
Favorites folder, 400
Favorites window, GUID for, 289
file associations, assigning, 411-413
file command shortcuts, 64-65
file management utility projects, 238-241
File Search installer property, 428
File System editor
installation folder, choosing, 399
project output, 401-403
File Types editor, 411-413
FileCodeModel object, 483-485
files
creating new, 65
default paths for, 21
management utilities, 238-241
project, arrangement of, 225
under source control, 470-480
Filtered By option, 444
filtered events, 146-148
filters for help searches, 446
Find command, 87-88, 94-95
Find dialog box
command lines in, 88
regular expressions in, 92-94
searches with, 89-90
wildcards, 90-92
Find In Files dialog box, 90
finding. See searching
finding code. See code discovery
/fn switch, 469
folders
installation, 399
projects with, 225
fonts
Fonts And Colors page, 73, 75, 84
Fonts folder, 400
formatting options with, 74
Form Layout window, 321-322
formatting
Block option, 70
braces options, 72-73
colors by syntax, 73-76
fonts, 74
Formatting page, 71
language specific, 71, 73
None option, 70
options, setting, 70-71
overall look, 74
printer output, 75-76
saving settings in Registry, 76-77
Smart option, 70
tabs vs. spaces, 71
white space, viewing, 71
Forms designer
Control objects for, 318-319
control properties collection, 320
controls, adding to forms, 319-320
controls, Parent property, 320
finding control properties, 321
finding existing controls, 320-321
Form Layout example, 321-322
IDesignerHost interface, 318-319
macro incompatibility, 319
object model for, 318
object type of, 291
purpose of, 318
System.Windows.Forms assembly, 318
/fs switch, 469
FUIDs, add-ins with, 155-156
FullName property, 488-489
functions
abstract, 504
AddFunction method, 511
CodeFunction methods, 504
CodeFunction objects, 502-505
shared, 504
vsCMFunction enumeration, 503-504
G
GAC (global assembly cache), 401
garbage collector, 222
generating code
Access parameter, 508
Add methods, 389, 485-486, 492
AddAttribute method, 512
AddBase method, 513-514
AddClass method, 509-510
AddDelegate method, 510
AddEnum method, 512
AddFunction method, 511
AddImplementedInterface method, 514
AddInterface method, 510
AddMember method, 515
AddNamespace method, 509
AddParameter method, 515
AddProperty method, 511
AddStruct method, 509-510
AddVariable method, 512
bugs in, 393
building source files, 389-393
child element creation, 390-391
class creation, 392-393
common parameters, 507-508
CreateArrayType method, 515-516
Delete method, 516
element creation, 390
enumeration creation, 391
function type parameter, 392
goals of, 389, 507
interface creation, 391
Location parameter, 508
Name parameter, 507
namespace creation, 390
Position parameter, 508
Remove method, 516
RemoveBase method, 517
RemoveInterface method, 517
RemoveMember method, 517
RemoveParameter method, 518
structure creation, 391
Type parameter, 507
GetEndPoint method, 490
GetLatestVersion command (VSS), 476
GetStartPoint method, 490
/GL switch, 7
global assembly cache (GAC), 401
GreaterThan method, 354
/GS switch, 7-8
GUI option, Devenv.exe, 468
GUIDs
add-ins using, 155-156
Custom wizards using, 276
of programming languages, 484, 486
of windows objects, 289-290
of wizards, 262, 267, 276
H
HACK tokens, 313
help features
brace matching, 84-85
Dynamic Help, 85-86
F1 key, 81, 448
IntelliSense, 81-85
member lists, 82-83
parameter information, 83
statement completion, 81-83
ToolTips, 84
word completion, 84
Help system
custom filters, 446
custom help files, 455-462
Dynamic Help Window, customizing, 449-454
navigating, 441-448
searching, 443-448
wildcards and logical operators, 445
Highlight Search Hits option, 444
History command, 477
history of Visual Studio .NET, 3-4
HTML designer, 291
HTMLWindow objects, 343-344
I
Icon Browser utility, 180
icons, adding to Task List, 306-308
IDEs (integrated development environments)
advantages of .NET, 10
folder for, 22
interoperability, 10
macros. See Macros IDE
windows, 11
IDL-style attributes, 9
IDTExtensibility2 interface
add-ins, required for, 151
Connect.cs example, 128-132
connectMode parameter, 165
custom parameters, 165
EnvDTE namespace, 163-165
events, calling, 158, 160
LifeCycle.cs example, 160
methods of, 127, 164-171
OnAddInsUpdate method, 127, 166-170
OnBeginShutdown method, 127, 170
OnConnection method, 127, 164-165
OnDisconnection method, 127, 170, 171
OnStartupComplete method, 127, 165
purpose of, 127, 162
Immediate mode, 19
Imports statements
macros, within, 112
VSProject.Imports, 235, 237
Incremental Build option, 46
incremental searching, 95-96
Initial Directory, setting, 23
inline functions, 7
Install branch, 414
installer properties, 406-410, 428-431
installing
add-ins, 134
default folder for, 21
.NET Framework, 432-438
projects. See installing projects
VSS (Visual SourceSafe), 471
installing projects
CDs for, 436
condition algebra, 426-428
creating setup projects, 397-439
custom actions, 421-424
debugging, 425
File System editor for, 399-403
File Types editor for, 411-413
installation folder, choosing, 399
installer properties, 406-410, 428-431
Launch Conditions editor, 425-431
merge modules, 431
.NET programs, 432-438
project output, 401-403
Registry editor for, 404-410
setup projects, creating, 397-439
User Interface editor for, 413-421
User/Machine Hive, 405
Windows Installer, 397
integrated development environments. See IDEs
IntelliDoc files, 402
IntelliSense, 81-85, 231
Interface Definition Language (IDL)-style attributes, 9
interfaces
AddImplementedInterface method, 514
AddInterface method, 510
CodeClass property for returning, 495
CodeInterface objects, 496
generating with code model, 391
RemoveInterface method, 517
removing, 495
interoperability of programming languages
CLR for, 6, 10
code model for. See code model
designers, 15
IDE for, 10
Is operator, 333-335
IsActiveEndGreater property, 358
IsEmpty method, 358
IsOpen property, 362
Item Foreground color, 74
Item method, Solution object, 215
ItemOperations object
Add methods, 228-230
creating documents with, 349
PromptToSave property, 214
Next
Last Updated: January 28, 2003
|