From 52d17906629b3208d1007a7299dd4efc783c3199 Mon Sep 17 00:00:00 2001 From: Ryan Walpole Date: Fri, 3 Mar 2023 08:58:05 +1100 Subject: [PATCH 01/31] Update Install Script [Issue #115] Update the install script to run program and end of setup as current user (elevated) to fix issue #115 Co-Authored-By: Ryan Walpole <69621127+RyanWalpole@users.noreply.github.com> --- version/Install Scripts/SDV_InstallerScript_295CWR.iss | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/version/Install Scripts/SDV_InstallerScript_295CWR.iss b/version/Install Scripts/SDV_InstallerScript_295CWR.iss index 97ee4446..da2abd01 100644 --- a/version/Install Scripts/SDV_InstallerScript_295CWR.iss +++ b/version/Install Scripts/SDV_InstallerScript_295CWR.iss @@ -2,7 +2,7 @@ ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! #define MyAppName "Stardew Valley Mod Manager" -#define MyAppVersion "230301" +#define MyAppVersion "230302" #define MyAppPublisher "RWE Labs" #define MyAppURL "https://rwe.app/labs/sdvmm" #define RWELabsURL "https://rwelabs.github.io/" @@ -67,5 +67,5 @@ Root: HKA; Subkey: "Software\Classes\Applications\{#MyAppExeName}\SupportedTypes Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" [Run] -Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent +Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: runascurrentuser nowait postinstall skipifsilent From 05877bbce86a380e57f63c5e67a52298116fbc68 Mon Sep 17 00:00:00 2001 From: Ryan Walpole Date: Fri, 3 Mar 2023 08:58:35 +1100 Subject: [PATCH 02/31] Update Setup Update the setup executable with changes made to the install script to fix issue #115 Co-Authored-By: Ryan Walpole <69621127+RyanWalpole@users.noreply.github.com> --- version/Latest/StardewModManagerSetup.exe | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/version/Latest/StardewModManagerSetup.exe b/version/Latest/StardewModManagerSetup.exe index 1bd59fc3..4c147f7b 100644 --- a/version/Latest/StardewModManagerSetup.exe +++ b/version/Latest/StardewModManagerSetup.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1c718353872fa3b952016e5b3dbf1394b76c2af3228123c5a328584442e02079 -size 25767040 +oid sha256:dbe4c877558b3f9557a03563be0c79f78e28f6beafa72cc47f272d41909be8c1 +size 25763888 From efa87bc2049e944041426377764f55a27e85429f Mon Sep 17 00:00:00 2001 From: Ryan Walpole Date: Fri, 3 Mar 2023 08:59:11 +1100 Subject: [PATCH 03/31] Push Release Objects (v230302) Push release objects for version 230302 Co-Authored-By: Ryan Walpole <69621127+RyanWalpole@users.noreply.github.com> --- ...gnTimeResolveAssemblyReferencesInput.cache | Bin 24797 -> 23231 bytes ... Mod Manager.csproj.GenerateResource.cache | Bin 3661 -> 3661 bytes .../obj/Release/Stardew Mod Manager.exe | 2 +- .../obj/Release/Stardew Mod Manager.pdb | Bin 337408 -> 337408 bytes 4 files changed, 1 insertion(+), 1 deletion(-) diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache index 8914276b007f3438d0852b6620268242da1aa737..f7bc128cfde62c7d6e337c98058b28c2db2d8c0e 100644 GIT binary patch delta 1188 zcmZuwOKcKR6y*^mriw*uZHLbcGfWHpP1~r6trmndA;gkUu_VyU>b; zY^rwE+=Z63fRNvlRZ?=UC`+ZqlF4o`7?$;{_GWh{x=)zL+Ie6W&t6he`J9A5CKfaA zVSJ&wYFRd-%X*PDp{mlwL{3S|#gfU58CQtbE9(xkgbUM3#w6k_)m`u4(F4*U-6^1o z&a?!u01!P5;)c&^iIxj$R+iLU#^lAoT~Zh7;?OFIY7Db;l%V|>ZRE6<-EHU&VH{>y z=vHF{n&Xbk#eBJtl8bYZgpvz}&IFZ0lBh^nh1PlPEV@M$KHD7-WgQN5o#f0;2BH@@ zqJ6`x8$BfGPgX>9(kC2;u92M2)lDO2t2_2JnUT(`8PlQ0(u+I~{<8v)bf;DAqu@f1 zNu;=Y(QQ3qn^X#Nx*!+NkrgHyE4&j~bd!|L_Sj*dKRp~3(4O@=(G7z7JvK0_=BZb# zcz2)rK>59p&|2K0tT zY_Rl~5f?=Bqb_;?XVcQbMCw9WB|FFP&SV#R6Cgj=c)gp;m~u@Fsp!MN$~2 vUVS@KcW7y%90R delta 1553 zcmZ`(O-~b16y+IHMT|ixg=vR&rX9c`SV z6OAUu=Le|xLEIS=lg7Ak0s1H0U^MX;=tc<}A5-VOI|*)@+`e0LKpMeT~kn{Uht)MKFY)h@`d7~_oA72pPi`!d=`%8LWD_fduU$K3mhK2_0(gHcX ztQwasA!QT|xl%6rcyj#0J;odRM2zF}jtG?H(HcRMV?d2dO@>n zUyNYxyBK`E)sL9&F29Ig(z7Lh6#oi2U7C|bf?S}W7kynGD{tCFv`i_-0}=F!R!Te9 zG~n3pB^>yF3_WvEk&I>;3ua!k&QB_Od1P!Rb+x29tUkhGc8D5Y?r3C8+|GqTl^ANn zAGt>K#8vKO%DK}Stzc@_1xGhQbSVmd4)W-+%fVA2j#WXZFmBA%Z4G)Zljmb-h0=fX z5{TnYX9PW>XMDJWRUDHh6Pzu|7b`{IFi~dHkRu|P%^IobY;i^q&}*vvLx`iNw7MpC zf>?G(!)VDp<2_wRP17))L{5;#bc%upR8>m4s@R(908bJi?G*L^N0j`fg^K0Ck_5Ks zHpNLP2n?C=R{TwBVy3VeZ^3g18WClLJi^Y)*?I({M3u#3#zheP&MxVH{24{9n;$29 zwog)b6vX?X8?OFDPn2x|Uhm;Rr$Vm;c$>W_7gIM!a>EQ_I^nF-hk=5pp1p??T-SR(E M{mg!CG2ON2FHzt}!~g&Q diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/Stardew Mod Manager.csproj.GenerateResource.cache b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/Stardew Mod Manager.csproj.GenerateResource.cache index f194fcbb062084f3fe01b23712b2a179760e4a94..5db0e998d2b164fad4b219dc6f22fa1bf0e9a45e 100644 GIT binary patch delta 20 ccmX>rb5>@>D!zCG5YfW09aH9%m4rY delta 20 ccmX>rb5>@W6ZWpLz`BEqGE`0VX gMg|53_N3c<){5Vqnl|lv7xw1lr0p_4Sf1zt0GXY7$^ZZW delta 265 zcmZoTBhqk2WP^vELhv((Ef@a(;JCx&HzWMOlWM7#xl?n#{1DRKtJ>5UV#c%4aR%cg z7thU}2LBBe8mFjC%bvK%VHLY#%`;z<0F!^MlNMG#df;@|Y&}~8e;P>frW6AU7Q>63 zE|X2>++fkE3$$+*nAx-CI=Obn5-*J;}ZI}7M@ Date: Fri, 3 Mar 2023 08:59:35 +1100 Subject: [PATCH 04/31] Release test build v230302 Release the test build for v230302 Co-Authored-By: Ryan Walpole <69621127+RyanWalpole@users.noreply.github.com> --- .../bin/Release/Stardew Mod Manager.exe | 4 ++-- .../Release/Stardew Mod Manager.exe.config | 2 +- .../bin/Release/Stardew Mod Manager.pdb | Bin 337408 -> 337408 bytes 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe index 9da77b4b..1190dea0 100644 --- a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe +++ b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:85e2821e905190fa262f32f74fc16f6f898351e44a8467f1f00caf8d1ec2f2c6 -size 8269672 +oid sha256:e095d5a5682c660353346dc97c8ac6155c12779a61c800185207a2af9fe67519 +size 8269664 diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe.config b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe.config index 8cf3e318..ea2e83ae 100644 --- a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe.config +++ b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe.config @@ -71,7 +71,7 @@ - 230301 + 230302 TRUE diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.pdb b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.pdb index ca013cb248738f60afe222419fe8fda2cc0569bc..3ff24ac731b614084caf32c5d1d7094c38f21bd9 100644 GIT binary patch delta 265 zcmZoTBhqk2WP^vE!eul2?95FY)(d|=^=n6(;@%%6_x=m(TbTVRbW-Ab+aJEsaR%cg z7thU}2LBBe7QSOzzn-gg!5`-sR?(~XUg-FLDZg1+_TGKd;b}%uapfSzn^FucSl*~! znKRjB&JC8(Hn&a90(091<}v~?({_Qm%og*hZRrBW?Holc8f>W6ZWpLz`BEqGE`0VX gMg|53_N3c<){5Vqnl|lv7xw1lr0p_4Sf1zt0GXY7$^ZZW delta 265 zcmZoTBhqk2WP^vELhv((Ef@a(;JCx&HzWMOlWM7#xl?n#{1DRKtJ>5UV#c%4aR%cg z7thU}2LBBe8mFjC%bvK%VHLY#%`;z<0F!^MlNMG#df;@|Y&}~8e;P>frW6AU7Q>63 zE|X2>++fkE3$$+*nAx-CI=Obn5-*J;}ZI}7M@ Date: Fri, 3 Mar 2023 08:59:46 +1100 Subject: [PATCH 05/31] Update Readme Update broken link in readme Co-Authored-By: Ryan Walpole <69621127+RyanWalpole@users.noreply.github.com> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 529f4e95..d2217cbe 100644 --- a/README.md +++ b/README.md @@ -114,7 +114,7 @@ Download the most recent version of Stardew Valley Mod Manager by visiting our r - [View All Releases](https://github.com/RyanWalpoleEnterprises/Stardew-Valley-Mod-Manager/releases) #### Need Help? -If you're running into any issues with downloading or installing the application, see [download and installation help](#download-and-install.) +If you're running into any issues with downloading or installing the application, see [download and installation help](https://rwe-labs.gitbook.io/sdvmm/getting-started/setup-and-configuration/downloading-the-application) ## Branches From b50e9cf253a24862bffd5842fd4ff62bbf743dd4 Mon Sep 17 00:00:00 2001 From: Ryan Walpole Date: Fri, 3 Mar 2023 09:00:06 +1100 Subject: [PATCH 06/31] Update Version Number Update the version number of the application to 230302. Co-Authored-By: Ryan Walpole <69621127+RyanWalpole@users.noreply.github.com> --- .../Stardew Mod Manager/Properties/AssemblyInfo.cs | 4 ++-- .../Stardew Mod Manager/Properties/Settings.Designer.cs | 2 +- .../Stardew Mod Manager/Properties/Settings.settings | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Properties/AssemblyInfo.cs b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Properties/AssemblyInfo.cs index 40d756f3..3cfc1fb9 100644 --- a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Properties/AssemblyInfo.cs +++ b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Properties/AssemblyInfo.cs @@ -33,6 +33,6 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("23.01.00.02")] -[assembly: AssemblyFileVersion("23.01.00.02")] +[assembly: AssemblyVersion("23.03.00.02")] +[assembly: AssemblyFileVersion("23.03.00.02")] [assembly: NeutralResourcesLanguage("en-AU")] diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Properties/Settings.Designer.cs b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Properties/Settings.Designer.cs index 7b30037d..deda107b 100644 --- a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Properties/Settings.Designer.cs +++ b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Properties/Settings.Designer.cs @@ -145,7 +145,7 @@ public string IsNetworkConnected { [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("230301")] + [global::System.Configuration.DefaultSettingValueAttribute("230302")] public string Version { get { return ((string)(this["Version"])); diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Properties/Settings.settings b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Properties/Settings.settings index 960b70eb..37047e73 100644 --- a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Properties/Settings.settings +++ b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Properties/Settings.settings @@ -33,7 +33,7 @@ - 230301 + 230302 TRUE From 2941dbf02a70617f390b2598e837bea12be684ef Mon Sep 17 00:00:00 2001 From: Ryan Walpole Date: Fri, 3 Mar 2023 09:00:16 +1100 Subject: [PATCH 07/31] Update Project Files Update suo file. Co-Authored-By: Ryan Walpole <69621127+RyanWalpole@users.noreply.github.com> --- .../.vs/Mod Manager/v17/.suo | Bin 253440 -> 244736 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/source-code/Mod Manager (Facelift Development)/.vs/Mod Manager/v17/.suo b/source-code/Mod Manager (Facelift Development)/.vs/Mod Manager/v17/.suo index 5864ab92f3d5b9712e65973d4fe43e1e9e0340d1..5da77467e3e2628b43ebdb25277590f02ce96786 100644 GIT binary patch delta 7119 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 a5r+^7dcVwnDIEuJMm?jka98fu9rQoPx>k?? From 7271fc7c337b4be5c669f7bb1942da2a94e20b84 Mon Sep 17 00:00:00 2001 From: Ryan Walpole Date: Wed, 26 Apr 2023 13:54:35 +1000 Subject: [PATCH 08/31] Update Version Set update version to indev (build 260423_149P) for update targeting 230401 or 230501 depending on time to implement update features. Co-Authored-By: Ryan Walpole <69621127+RyanWalpole@users.noreply.github.com> --- .../Stardew Mod Manager/Properties/Settings.Designer.cs | 4 ++-- .../Stardew Mod Manager/Properties/Settings.settings | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Properties/Settings.Designer.cs b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Properties/Settings.Designer.cs index deda107b..f5ff8ea0 100644 --- a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Properties/Settings.Designer.cs +++ b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Properties/Settings.Designer.cs @@ -12,7 +12,7 @@ namespace Stardew_Mod_Manager.Properties { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.3.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.5.0.0")] internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); @@ -145,7 +145,7 @@ public string IsNetworkConnected { [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("230302")] + [global::System.Configuration.DefaultSettingValueAttribute("indev_260423_149P")] public string Version { get { return ((string)(this["Version"])); diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Properties/Settings.settings b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Properties/Settings.settings index 37047e73..850f556e 100644 --- a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Properties/Settings.settings +++ b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Properties/Settings.settings @@ -33,7 +33,7 @@ - 230302 + indev_260423_149P TRUE From 4de2458906abde0eed4d687255bfe6d7e8ee52fc Mon Sep 17 00:00:00 2001 From: Ryan Walpole Date: Wed, 26 Apr 2023 13:58:55 +1000 Subject: [PATCH 09/31] Update Telemetry Onboarding Update the telemetry onboarding to add the SDV Mod Manager version to the example file, also made the window smaller and moved UI elements so there was less white space. Co-Authored-By: Ryan Walpole <69621127+RyanWalpole@users.noreply.github.com> --- .../Forms/TelemetryOnboarding.Designer.cs | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Forms/TelemetryOnboarding.Designer.cs b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Forms/TelemetryOnboarding.Designer.cs index 407ef4e3..31a001f7 100644 --- a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Forms/TelemetryOnboarding.Designer.cs +++ b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Forms/TelemetryOnboarding.Designer.cs @@ -44,7 +44,7 @@ private void InitializeComponent() // pictureBox1 // this.pictureBox1.Image = global::Stardew_Mod_Manager.Properties.Resources.SDVTelemetryTask; - this.pictureBox1.Location = new System.Drawing.Point(24, 22); + this.pictureBox1.Location = new System.Drawing.Point(16, 22); this.pictureBox1.Name = "pictureBox1"; this.pictureBox1.Size = new System.Drawing.Size(152, 133); this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; @@ -55,7 +55,7 @@ private void InitializeComponent() // this.label1.AutoSize = true; this.label1.Font = new System.Drawing.Font("Segoe UI Semibold", 15.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label1.Location = new System.Drawing.Point(202, 22); + this.label1.Location = new System.Drawing.Point(194, 22); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(379, 30); this.label1.TabIndex = 1; @@ -64,9 +64,9 @@ private void InitializeComponent() // label2 // this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F); - this.label2.Location = new System.Drawing.Point(204, 65); + this.label2.Location = new System.Drawing.Point(196, 65); this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(401, 58); + this.label2.Size = new System.Drawing.Size(377, 58); this.label2.TabIndex = 2; this.label2.Text = "RWE Labs can benefit by seeing how you use the Stardew Valley Mod Manager and it\'" + "s features. This data can help show us what features we should focus on and what" + @@ -76,7 +76,7 @@ private void InitializeComponent() // this.label3.AutoSize = true; this.label3.Font = new System.Drawing.Font("Segoe UI Semibold", 10.75F, System.Drawing.FontStyle.Bold); - this.label3.Location = new System.Drawing.Point(203, 135); + this.label3.Location = new System.Drawing.Point(195, 124); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(360, 20); this.label3.TabIndex = 3; @@ -85,17 +85,17 @@ private void InitializeComponent() // richTextBox1 // this.richTextBox1.Enabled = false; - this.richTextBox1.Location = new System.Drawing.Point(207, 170); + this.richTextBox1.Location = new System.Drawing.Point(199, 150); this.richTextBox1.Name = "richTextBox1"; this.richTextBox1.ReadOnly = true; - this.richTextBox1.Size = new System.Drawing.Size(374, 164); + this.richTextBox1.Size = new System.Drawing.Size(374, 182); this.richTextBox1.TabIndex = 4; this.richTextBox1.Text = resources.GetString("richTextBox1.Text"); // // label4 // this.label4.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F); - this.label4.Location = new System.Drawing.Point(204, 343); + this.label4.Location = new System.Drawing.Point(196, 343); this.label4.Name = "label4"; this.label4.Size = new System.Drawing.Size(377, 97); this.label4.TabIndex = 5; @@ -107,7 +107,7 @@ private void InitializeComponent() this.AllowTelemetry.CanApplyTheme = false; this.AllowTelemetry.CanOverrideStyle = true; this.AllowTelemetry.Font = new System.Drawing.Font("Segoe UI Semibold", 9F); - this.AllowTelemetry.Location = new System.Drawing.Point(464, 450); + this.AllowTelemetry.Location = new System.Drawing.Point(456, 455); this.AllowTelemetry.Name = "AllowTelemetry"; this.AllowTelemetry.Size = new System.Drawing.Size(117, 28); this.AllowTelemetry.Style.BackColor = System.Drawing.Color.RoyalBlue; @@ -127,7 +127,7 @@ private void InitializeComponent() // this.DenyTelemetry.AccessibleName = "Button"; this.DenyTelemetry.Font = new System.Drawing.Font("Segoe UI Semibold", 9F); - this.DenyTelemetry.Location = new System.Drawing.Point(341, 450); + this.DenyTelemetry.Location = new System.Drawing.Point(333, 455); this.DenyTelemetry.Name = "DenyTelemetry"; this.DenyTelemetry.Size = new System.Drawing.Size(117, 28); this.DenyTelemetry.TabIndex = 7; @@ -137,7 +137,7 @@ private void InitializeComponent() // ViewTelemetryPolicy // this.ViewTelemetryPolicy.AutoSize = true; - this.ViewTelemetryPolicy.Location = new System.Drawing.Point(45, 173); + this.ViewTelemetryPolicy.Location = new System.Drawing.Point(37, 173); this.ViewTelemetryPolicy.Name = "ViewTelemetryPolicy"; this.ViewTelemetryPolicy.Size = new System.Drawing.Size(110, 13); this.ViewTelemetryPolicy.TabIndex = 8; @@ -150,7 +150,7 @@ private void InitializeComponent() this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.Color.White; - this.ClientSize = new System.Drawing.Size(614, 504); + this.ClientSize = new System.Drawing.Size(610, 510); this.Controls.Add(this.ViewTelemetryPolicy); this.Controls.Add(this.DenyTelemetry); this.Controls.Add(this.AllowTelemetry); From e104c46fafe20375f22306b238b0831800d05fa7 Mon Sep 17 00:00:00 2001 From: Ryan Walpole Date: Wed, 26 Apr 2023 13:59:21 +1000 Subject: [PATCH 10/31] Update Telemetry Dummy File Update the dummy data for the example telemetry file to include the version of the application. Co-Authored-By: Ryan Walpole <69621127+RyanWalpole@users.noreply.github.com> --- .../Stardew Mod Manager/Forms/TelemetryOnboarding.resx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Forms/TelemetryOnboarding.resx b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Forms/TelemetryOnboarding.resx index 67e1bf97..1df02c5f 100644 --- a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Forms/TelemetryOnboarding.resx +++ b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Forms/TelemetryOnboarding.resx @@ -124,6 +124,10 @@ "boolean": "true", "TelemetryData": "Check for Updates Enabled" }, + { + "string": "230302", + "TelemetryData": "SDV Mod Manager Version" + }, { "boolean": "false", "TelemetryData": "Check for SMAPI Updates Enabled" From 10ab23d830a827e38ab75da5763f9eac1b1583ab Mon Sep 17 00:00:00 2001 From: Ryan Walpole Date: Wed, 26 Apr 2023 13:59:46 +1000 Subject: [PATCH 11/31] Update Release Objects Update release objects for latest test build. Co-Authored-By: Ryan Walpole <69621127+RyanWalpole@users.noreply.github.com> --- .../obj/Release/Interop.Shell32.dll | Bin 38912 -> 38912 bytes ...Mod Manager.csproj.AssemblyReference.cache | Bin 39244 -> 39875 bytes ...ew Mod Manager.csproj.FileListAbsolute.txt | 1 + ... Mod Manager.csproj.GenerateResource.cache | Bin 3661 -> 3661 bytes ...d Manager.csproj.ResolveComReference.cache | Bin 375 -> 375 bytes .../obj/Release/Stardew Mod Manager.exe | 4 ++-- .../obj/Release/Stardew Mod Manager.pdb | Bin 337408 -> 339456 bytes ...anager.Forms.TelemetryOnboarding.resources | Bin 11980 -> 12068 bytes .../Properties.Resources.Designer.cs.dll | Bin 16896 -> 17408 bytes 9 files changed, 3 insertions(+), 2 deletions(-) diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/Interop.Shell32.dll b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/Interop.Shell32.dll index d2dd5469a93f9867db130f16f5b9ec2758336d00..df52935251a8157ba5f1235a515968d987ad2669 100644 GIT binary patch delta 39 vcmZqJz|^pTX+j4J+f0v?jXf$&09XlG%Kq$w3qV9EJ`9 delta 39 vcmZqJz|^pTX+j5!^Sl4a8+%lm1it@tc58~8>N+b-L9>hfg~{dvO%9>}W@r&= diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/Stardew Mod Manager.csproj.AssemblyReference.cache b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/Stardew Mod Manager.csproj.AssemblyReference.cache index a857c0d5f6e18c31ef009ba8ff0954468f7e6c5c..5b02756ec3d52f8202e4432f5339569634af39d0 100644 GIT binary patch delta 121 zcmX@JiRtimCJr`6Qw9bG#`wvFX~7$#g*(}!4UCGUoNjL}?cB`Bmbxr;J&$14N!IWc|S6Nv|GZ%($%fZDTliL(I*bH$}}VA=?h PU>mcCm@EOaFpJgrb5>@>CJx`H!!kqVf&dFIqlZwEzC2y0M|GTHUIzs diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/Stardew Mod Manager.csproj.ResolveComReference.cache b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/Stardew Mod Manager.csproj.ResolveComReference.cache index 1ca1f73a0680647cf09043be512d0a7e920b6be5..f8550d6c188fce1f0785e4648b926fbf08257440 100644 GIT binary patch delta 18 acmey)^qpygI3wE>u^)$xttZPeMgagtGzOml delta 18 Zcmey)^qpygI3t^UyU%7uk;$@*Q2;#L1%?0s diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/Stardew Mod Manager.exe b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/Stardew Mod Manager.exe index dba48d89..0fcbeb42 100644 --- a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/Stardew Mod Manager.exe +++ b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/Stardew Mod Manager.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4f52f2d416d718495d0da7e2fb78a7154f27b73f8428f470978e621aa42b4116 -size 8259072 +oid sha256:edd0314b042111a981f94ac50a62f7af0d52ca7c097bc46f23cc883cd2a7b8f9 +size 8260608 diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/Stardew Mod Manager.pdb b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/Stardew Mod Manager.pdb index 3ff24ac731b614084caf32c5d1d7094c38f21bd9..1c7aeb865bbd73850e7a9c1dc3b61c800a690c7a 100644 GIT binary patch delta 56846 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 delta 55824 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 RI5R(Q@;zO#&Gx#zi~zgF6{P?G delta 18 acmZ1ycP4hjNgc+<$)|KmH&55?Wds0K?+8`^ diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/TempPE/Properties.Resources.Designer.cs.dll b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/TempPE/Properties.Resources.Designer.cs.dll index e26ac0851e59612fa1ce72d5807cf115b47139b9..3948dadadfbc6110e7e745012c14b15fc0411b22 100644 GIT binary patch literal 17408 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�z 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 literal 16896 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 Date: Wed, 26 Apr 2023 14:09:27 +1000 Subject: [PATCH 12/31] Update MainPage Update the feedback link, add a voluntary telemetry submission button, add version number to telemetry data file on save. Co-Authored-By: Ryan Walpole <69621127+RyanWalpole@users.noreply.github.com> --- .../Stardew Mod Manager/Forms/MainPage.cs | 29 ++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Forms/MainPage.cs b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Forms/MainPage.cs index c073e0d1..39aa8041 100644 --- a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Forms/MainPage.cs +++ b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Forms/MainPage.cs @@ -546,6 +546,10 @@ private void DoApplicationSettingSave() FileWrite.AppendText(" \"TelemetryData\": \"Check for Updates Enabled\"" + Environment.NewLine); FileWrite.AppendText(" }," + Environment.NewLine); FileWrite.AppendText(" {" + Environment.NewLine); + FileWrite.AppendText(" \"string\": \"" + Properties.Settings.Default.Version.ToLower() + "\"," + Environment.NewLine); + FileWrite.AppendText(" \"TelemetryData\": \"SDV Mod Manager Version\"" + Environment.NewLine); + FileWrite.AppendText(" }," + Environment.NewLine); + FileWrite.AppendText(" {" + Environment.NewLine); FileWrite.AppendText(" \"bool\": \"" + Properties.Settings.Default.CheckSMAPIUpdateOnStartup.ToLower() + "\"," + Environment.NewLine); FileWrite.AppendText(" \"TelemetryData\": \"Check for SMAPI Updates Enabled\"" + Environment.NewLine); FileWrite.AppendText(" }," + Environment.NewLine); @@ -1017,11 +1021,13 @@ private void TabControl_SelectedIndexChanged(object sender, EventArgs e) { TelemetryOptInOut.Text = "Opt-Out"; TelemetrySettingStatus.Text = "You are currently sharing telemetry data with RWE Labs"; + VolunteerTelemetry.Enabled = true; } else if (Properties.Settings.Default.DoTelemetry == "FALSE") { TelemetryOptInOut.Text = "Opt-In"; TelemetrySettingStatus.Text = "You are not currently sharing telemetry data with RWE Labs"; + VolunteerTelemetry.Enabled = false; } if (Properties.Settings.Default.IgnoreWebsiteWarning == "FALSE") { @@ -1284,7 +1290,7 @@ private void GiveFeedbackLink_LinkClicked(object sender, LinkLabelLinkClickedEve MainTabs.TabPages.Add(Tab_Feedback); this.MainTabs.SelectedTab = Tab_Feedback; GiveFeedbackLink.Enabled = false; - //FBView.Url = new Uri("https://labs.ryanwalpole.com/feedback/sdvmm/"); + //FBView.Url = new Uri("https://rwelabs.github.io/sdvmm/feedback.html"); } } @@ -1771,5 +1777,26 @@ private void WebToolsWarningEnabled_CheckStateChanged(object sender, EventArgs e Properties.Settings.Default.IgnoreWebsiteWarning = "TRUE"; } } + + private void VolunteerTelemetry_Click(object sender, EventArgs e) + { + try + { + DialogResult DR = MessageBox.Show("Are you sure you'd like to voluntarily submit your telemetry file? You should only do this if you've been instructed to by RWE Labs or a representative from RWE Labs.","Voluntary Submission | RWE Labs Telemetry",MessageBoxButtons.YesNo,MessageBoxIcon.Question); + if(DR == DialogResult.Yes) + { + DoTelemetricChecks.RunWorkerAsync(); + MessageBox.Show("Thank you for sending your data. We encourage you to not use this voluntary submission for the next 7 days unless otherwise instructed.","Voluntary Submission | RWE Labs Telemetry"); + } + else + { + //do nothing + } + } + catch(Exception ex) + { + MessageBox.Show("We ran into an issue sending your telemetry data to RWE Labs.", "Voluntary Submission | RWE Labs Telemetry"); + } + } } } From 5e2e71b84731b3ceaa5acb8d61dec7e735bbf633 Mon Sep 17 00:00:00 2001 From: Ryan Walpole Date: Wed, 26 Apr 2023 14:09:47 +1000 Subject: [PATCH 13/31] Update MainPage (Settings) Add voluntary telemetry button to the settings page Co-Authored-By: Ryan Walpole <69621127+RyanWalpole@users.noreply.github.com> --- .../Forms/MainPage.Designer.cs | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Forms/MainPage.Designer.cs b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Forms/MainPage.Designer.cs index bab3fa49..7c89f82e 100644 --- a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Forms/MainPage.Designer.cs +++ b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Forms/MainPage.Designer.cs @@ -74,6 +74,7 @@ private void InitializeComponent() this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); this.Tab_Settings = new Syncfusion.Windows.Forms.Tools.TabPageAdv(); this.groupBox3 = new System.Windows.Forms.GroupBox(); + this.VolunteerTelemetry = new Syncfusion.WinForms.Controls.SfButton(); this.ViewTelemetryPolicy = new System.Windows.Forms.LinkLabel(); this.TelemetrySettingStatus = new System.Windows.Forms.Label(); this.label19 = new System.Windows.Forms.Label(); @@ -694,6 +695,7 @@ private void InitializeComponent() // // groupBox3 // + this.groupBox3.Controls.Add(this.VolunteerTelemetry); this.groupBox3.Controls.Add(this.ViewTelemetryPolicy); this.groupBox3.Controls.Add(this.TelemetrySettingStatus); this.groupBox3.Controls.Add(this.label19); @@ -701,15 +703,26 @@ private void InitializeComponent() this.groupBox3.Font = new System.Drawing.Font("Segoe UI", 8.25F); this.groupBox3.Location = new System.Drawing.Point(21, 616); this.groupBox3.Name = "groupBox3"; - this.groupBox3.Size = new System.Drawing.Size(539, 101); + this.groupBox3.Size = new System.Drawing.Size(539, 127); this.groupBox3.TabIndex = 39; this.groupBox3.TabStop = false; this.groupBox3.Text = "Telemetry"; // + // VolunteerTelemetry + // + this.VolunteerTelemetry.AccessibleName = "Button"; + this.VolunteerTelemetry.Font = new System.Drawing.Font("Segoe UI", 9F); + this.VolunteerTelemetry.Location = new System.Drawing.Point(272, 59); + this.VolunteerTelemetry.Name = "VolunteerTelemetry"; + this.VolunteerTelemetry.Size = new System.Drawing.Size(238, 28); + this.VolunteerTelemetry.TabIndex = 43; + this.VolunteerTelemetry.Text = "Volunteer Single Time Telemetry"; + this.VolunteerTelemetry.Click += new System.EventHandler(this.VolunteerTelemetry_Click); + // // ViewTelemetryPolicy // this.ViewTelemetryPolicy.AutoSize = true; - this.ViewTelemetryPolicy.Location = new System.Drawing.Point(410, 74); + this.ViewTelemetryPolicy.Location = new System.Drawing.Point(18, 96); this.ViewTelemetryPolicy.Name = "ViewTelemetryPolicy"; this.ViewTelemetryPolicy.Size = new System.Drawing.Size(115, 13); this.ViewTelemetryPolicy.TabIndex = 42; @@ -743,7 +756,7 @@ private void InitializeComponent() this.TelemetryOptInOut.Font = new System.Drawing.Font("Segoe UI", 9F); this.TelemetryOptInOut.Location = new System.Drawing.Point(19, 59); this.TelemetryOptInOut.Name = "TelemetryOptInOut"; - this.TelemetryOptInOut.Size = new System.Drawing.Size(295, 28); + this.TelemetryOptInOut.Size = new System.Drawing.Size(238, 28); this.TelemetryOptInOut.TabIndex = 39; this.TelemetryOptInOut.Text = "OptInOut"; this.TelemetryOptInOut.Click += new System.EventHandler(this.TelemetryOptInOut_Click); @@ -801,7 +814,7 @@ private void InitializeComponent() // this.SettingsResetButton.AccessibleName = "Button"; this.SettingsResetButton.Font = new System.Drawing.Font("Segoe UI", 9F); - this.SettingsResetButton.Location = new System.Drawing.Point(261, 736); + this.SettingsResetButton.Location = new System.Drawing.Point(261, 757); this.SettingsResetButton.Name = "SettingsResetButton"; this.SettingsResetButton.Size = new System.Drawing.Size(233, 28); this.SettingsResetButton.TabIndex = 38; @@ -812,7 +825,7 @@ private void InitializeComponent() // this.LegacySettings.AccessibleName = "Button"; this.LegacySettings.Font = new System.Drawing.Font("Segoe UI", 9F); - this.LegacySettings.Location = new System.Drawing.Point(19, 736); + this.LegacySettings.Location = new System.Drawing.Point(19, 757); this.LegacySettings.Name = "LegacySettings"; this.LegacySettings.Size = new System.Drawing.Size(236, 28); this.LegacySettings.TabIndex = 37; @@ -1891,5 +1904,6 @@ private void InitializeComponent() private Syncfusion.WinForms.Controls.SfButton TelemetryOptInOut; private System.Windows.Forms.LinkLabel ViewTelemetryPolicy; private System.Windows.Forms.CheckBox WebToolsWarningEnabled; + private Syncfusion.WinForms.Controls.SfButton VolunteerTelemetry; } } \ No newline at end of file From 23021eedbd690a1189987d3a160e82181f00c1bd Mon Sep 17 00:00:00 2001 From: Ryan Walpole Date: Wed, 26 Apr 2023 14:10:13 +1000 Subject: [PATCH 14/31] Update Settings (Deprecated) Adjust the sizing of the deprecated settings window. Co-Authored-By: Ryan Walpole <69621127+RyanWalpole@users.noreply.github.com> --- .../Stardew Mod Manager/Forms/Settings.Designer.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Forms/Settings.Designer.cs b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Forms/Settings.Designer.cs index d7d7af2f..12fcb388 100644 --- a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Forms/Settings.Designer.cs +++ b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Forms/Settings.Designer.cs @@ -83,7 +83,7 @@ private void InitializeComponent() this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScroll = true; - this.ClientSize = new System.Drawing.Size(414, 149); + this.ClientSize = new System.Drawing.Size(414, 145); this.Controls.Add(this.SettingsReset); this.Controls.Add(this.label4); this.Controls.Add(this.label2); @@ -94,7 +94,6 @@ private void InitializeComponent() this.Name = "Settings"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "Settings | Stardew Valley Modded Framework"; - //this.Load += new System.EventHandler(this.Settings_Load); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); this.ResumeLayout(false); From ef22b4e3e04250f24b4ec72135ed5e4a5945b359 Mon Sep 17 00:00:00 2001 From: Ryan Walpole Date: Wed, 26 Apr 2023 14:10:33 +1000 Subject: [PATCH 15/31] Update Test Build Push the latest test build for testing in Windows Co-Authored-By: Ryan Walpole <69621127+RyanWalpole@users.noreply.github.com> --- .../bin/Release/EnvDTE.dll | Bin 255912 -> 255936 bytes .../bin/Release/EnvDTE.xml | 11779 ++++++++++++++++ .../bin/Release/Stardew Mod Manager.exe | 4 +- .../Release/Stardew Mod Manager.exe.config | 5 +- .../bin/Release/Stardew Mod Manager.pdb | Bin 337408 -> 339456 bytes .../bin/Release/stdole.dll | Bin 16384 -> 25464 bytes 6 files changed, 11785 insertions(+), 3 deletions(-) create mode 100644 source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/EnvDTE.xml diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/EnvDTE.dll b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/EnvDTE.dll index 2f967d99d04930fc43f7d563f1b854afb190a9ac..ce84e9c91f00a723a6242fff02eea73e8cb534cc 100644 GIT binary patch delta 3610 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 delta 3562 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 KA; + + + EnvDTE + + + + Refer to for this functionality. Do not instantiate from this class. + + + Refer to for this functionality. Do not instantiate from this class. + + + Refer to for this functionality. Do not instantiate from this class. + + + Refer to for this functionality. Do not instantiate from this class. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The debugger events. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The scope. + The action. + + + Microsoft Internal Use Only. + The scope. + The action. + + + Microsoft Internal Use Only. + The name of the project. + The name of the project configuration. + The platform. + The solution configuration. + + + Microsoft Internal Use Only. + The name of the project. + The name of the project configuration. + The name of the platform. + The name of the solution configuration. + Whether or not the task was successful. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The vsBuildScope. + The vsBuildAction. + + + Microsoft Internal Use Only. + The vsBuildScope. + The vsBuildAction. + + + Microsoft Internal Use Only. + The project. + The project configuration. + The platform. + The solution configuration. + + + Microsoft Internal Use Only. + The project. + The project configuration. + The platform. + The solution configuration. + Whether the build was successful. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. +   +   + + + Microsoft Internal Use Only. +   +   + + + Microsoft Internal Use Only. +   +   +   +   + + + Microsoft Internal Use Only. +   +   +   +   +   + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The command bar control. + Whether or not to cancel the default. + + + Microsoft Internal Use Only. + The command bar control. + Whether or not the action was cancelled. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. +   +   +   + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The GUID. + The ID. + Custom input parameters. + Custom output parameters. + + + Microsoft Internal Use Only. + The GUID. + The ID. + Custom input parameters. + Custom output parameters. + Whether or not to cancel. + + + Microsoft Internal Use Only. + The GUID. + The command ID. + Custom input parameters. + Custom output parameters. + + + Microsoft Internal Use Only. + The GUID. + The command ID. + Custom input parameters. + Custom output parameters. + Whether the command has been cancelled. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. +   +   +   +   + + + Microsoft Internal Use Only. +   +   +   +   +   + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The new process. + The new program. + The new thread. + The new stack frame. + + + Microsoft Internal Use Only. + The reason for the action. + The action. + + + Microsoft Internal Use Only. + The reason for the action. + + + Microsoft Internal Use Only. + The reason for the action. + + + Microsoft Internal Use Only. + The name of the exception type. + The name of the exception. + The type of code. + The description. + The exception action. + + + Microsoft Internal Use Only. + The name of the exception type. + The name of the exception. + The type of code. + The description. + The exception action. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler.  + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler.  + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The process. + The new program. + The new thread. + The new stack frame. + + + Microsoft Internal Use Only. + The dbgEventReason. + Th dbgExecutionAction. + + + Microsoft Internal Use Only. + The dbgEventReason. + + + Microsoft Internal Use Only. + The dbgEventReason. + + + Microsoft Internal Use Only. + The exception type. + The name of the exception. + The code. + The description. + The dbgExceptionAction. + + + Microsoft Internal Use Only. + The exception type. + The name of the exception. + The code. + The description. + The dbgExceptionAction. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. +   +   +   +   + + + Microsoft Internal Use Only. +   +   + + + Microsoft Internal Use Only. +   + + + Microsoft Internal Use Only. +   + + + Microsoft Internal Use Only. +   +   +   +   +   + + + Microsoft Internal Use Only. +   +   +   +   +   + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The document. + + + Microsoft Internal Use Only. + The document. + + + Microsoft Internal Use Only. + The document path. + Whether or not the document is read-only. + + + Microsoft Internal Use Only. + The document. + + + Microsoft Internal Use Only. + The document. + + + Microsoft Internal Use Only. + The document. + + + Microsoft Internal Use Only. + The document path. + Whether the document is read-only. + + + Microsoft Internal Use Only. + The document. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. +   + + + Microsoft Internal Use Only. +   + + + Microsoft Internal Use Only. +   +   + + + Microsoft Internal Use Only. +   + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The last mode. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The previous vsIDEMode. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. +   + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The result. + Whether or not the find was cancelled. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The find result. + Whether the find was cancelled. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. +   +   + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The window pane. + + + Microsoft Internal Use Only. + The window pane. + + + Microsoft Internal Use Only. + The window pane. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. +   + + + Microsoft Internal Use Only. +   + + + Microsoft Internal Use Only. +   + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. +   + + + Microsoft Internal Use Only. +   + + + Microsoft Internal Use Only. +   + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The project item. + + + Microsoft Internal Use Only. + The project item. + + + Microsoft Internal Use Only. + The project item. + The old name of the item. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. +   + + + Microsoft Internal Use Only. +   + + + Microsoft Internal Use Only. +   +   + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. +   + + + Microsoft Internal Use Only. +   + + + Microsoft Internal Use Only. +   +   + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The project. + + + Microsoft Internal Use Only. + The project. + + + Microsoft Internal Use Only. + The project. + The old name of the project. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. +   + + + Microsoft Internal Use Only. +   + + + Microsoft Internal Use Only. +   +   + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. +   + + + Microsoft Internal Use Only. +   + + + Microsoft Internal Use Only. +   +   + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The project. + + + Microsoft Internal Use Only. + The project. + + + Microsoft Internal Use Only. + The project. + The old name of the project. + + + Microsoft Internal Use Only. + Whether or not the close was cancelled. + + + Microsoft Internal Use Only. + The old name. + + + Microsoft Internal Use Only. + + + Handles events that are fired before a solution is closed. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The project. + + + Microsoft Internal Use Only. + The project. + + + Microsoft Internal Use Only. + The project. + The old name. + + + Microsoft Internal Use Only. + Whether or not the close was cancelled. + + + Microsoft Internal Use Only. + The old name. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. +   + + + Microsoft Internal Use Only. +   + + + Microsoft Internal Use Only. +   +   + + + Microsoft Internal Use Only. +   + + + Microsoft Internal Use Only. +   + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The task item. + + + Microsoft Internal Use Only. + The task item. + The task list column that was modified. + + + Microsoft Internal Use Only. + The task item. + Whether or not the navigation was handled. + + + Microsoft Internal Use Only. + The task item. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. +   + + + Microsoft Internal Use Only. +   +   + + + Microsoft Internal Use Only. +   +   + + + Microsoft Internal Use Only. +   + + + Microsoft Internal Use Only. + The task item. + + + Microsoft Internal Use Only. + The task item. + The vsTaskListColumn that was modified. + + + Microsoft Internal Use Only. + The task item. + Whether the navigation event was handled. + + + Microsoft Internal Use Only. + The task item. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The start point. + The end point. + The hint. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The start point. + The end point. + The hint. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. +   +   +   + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The window that got the focus. + The window that lost the focus. + + + Microsoft Internal Use Only. + The window. + + + Microsoft Internal Use Only. + The window. + + + Microsoft Internal Use Only. + The window. + The top of the window. + The left side of the window. + The width of the window. + The height of the window. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. +   +   + + + Microsoft Internal Use Only. +   + + + Microsoft Internal Use Only. +   + + + Microsoft Internal Use Only. +   +   +   +   +   + + + Microsoft Internal Use Only. + The window that got focus. + The window that lost focus. + + + Microsoft Internal Use Only. + The window. + + + Microsoft Internal Use Only. + The window. + + + Microsoft Internal Use Only. + The window. + The top of the window. + The left side of the window. + The width of the window. + The height of the window. + + + Refer to for this functionality. Do not instantiate this class. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The document event. + + + The top-level object in the Visual Studio automation object model. Refer to for this functionality. Do not instantiate from this class. + + + Gets the active document. + A object. + + + Gets an array of currently selected projects. + An array of currently selected projects. + + + Returns the currently active window, or the top-most window if no others are active. + A object. Returns Nothing if no windows are open. + + + Gets the collection, which contains all currently available add-ins. + A collection. + + + Microsoft Internal Use Only. + The DTE object. + + + Gets a reference to the development environment's command bars. + A object. + + + Gets a string representing the command line arguments. + A string representing the command line arguments. + + + Returns the collection. + A collection. + + + Gets a collection which allows automation clients to add new attributes to the current selected items in the Dynamic Help window and provide contextual help for the additional attributes. + A collection. + + + Gets the debugger objects. + A object. + + + Gets the display mode, either MDI or Tabbed Documents. + A constant representing the display mode. + + + Gets the collection of open documents in the development environment. + A collection. + + + Gets the top-level extensibility object. + A object. + + + Gets a description of the edition of the environment. + A string representing the description of the environment edition. + + + Gets a reference to the object. + A object. + + + Executes the specified command. + Required. The name of the command to invoke. + Optional. A string containing the same arguments you would supply if you were invoking the command from the Command window. If a string is supplied, it is passed to the command line as the command's first argument and is parsed to form the various arguments for the command. This is similar to how commands are invoked in the Command window. + + + Microsoft Internal Use Only. + The file name. + + + Gets the object that represents global text find operations. + A object. + + + Gets the full path and name of the object's file. + A string representing the full path and name of the object's file. + + + Gets an interface or object that is late-bound to the object and can be accessed by name at run time. + An interface or object that is late-bound to the object. + Required. The name of the object to retrieve. + + + Gets the object that contains values that may be saved in the solution (.sln) file, the project file, or in the user's profile data. + A object. + + + Microsoft Internal Use Only. + true if the file is open, otherwise false. + The kind of view. + The file name. + + + Gets the object. + An object. + + + Runs a wizard with the supplied parameters. + A object. + Required. The .Vsz (wizard) file containing the information required to launch the wizard. + Required. The parameters for the wizard. The first parameter is a GUID that uniquely identifies the launch context as distinct from Add Item or Add Project or a custom GUID. The remaining arguments are user-defined and their number and values depend on the wizard.Wizards (or templates) that come with Visual Studio — such as Visual Basic Windows Application or Visual C# Console Application—have a required set of context parameters that you must pass to them. For details on these, see ContextParams Enum. Wizards that you create can have more or less parameters. + + + Gets the ID of the locale in which the development environment is running. + An integer value representing the ID of the locale in which the development environment is running. + + + Gets the object. + A object. + + + Gets the root of the Macros IDE's automation model. + A object. + + + Gets a object representing the main development environment window. + A object. + + + Gets the mode of the development environment, either debug or design. + A value. + + + Sets or gets the name of the object. + A string representing the name of the object. + + + Gets the object. + A object. + + + Microsoft Internal Use Only. + The window in which the file is open. + The kind of view. + The name of the file. + + + Returns a collection representing all available categories and subcategories contained in the Options dialog box on the Tools menu. + A collection containing all available categories and subcategories in the IDE. + Required. The name of the property category, such as General or Text Editor. + Optional. The name of the property page within the given , such as Keyboard. + + + Closes the environment. + + + Gets a string with the path to the root of the Visual Studio registry settings. + A string representing the path to the root of the Visual Studio registry settings. + + + Returns the computed path to the satellite DLL when given the installation directory and the file name of the DLL containing localized resources. + A string representing the computed path to the satellite DLL. + Required. Specifies the full path to the directory where the main application is installed. + Required. The filename for the satellite DLL, such as "MyProgramUI.DLL." + + + Gets a collection containing the items currently selected in the environment. + A collection. + + + Gets the object that represents all open projects in the current instance of the environment and allows access to the build objects. + A object. + + + Gets a object that allows you to manipulate the source code control state of the file behind the object. + A object. + + + Gets the object, representing the status bar on the main development environment window. + A object. + + + Gets or sets whether UI should be displayed during the execution of automation code. + A Boolean value indicating True if the UI is suppressed, False if not. + + + Gets the global object. + A object. + + + Sets or gets a value indicating whether the environment was launched by a user or by automation. + true if the environment is running under user control; otherwise, false. + + + Gets the host application's version number. + The host application's version number. + + + Gets the collection, representing all available window configurations. + A collection. + + + Gets a collection containing the windows that display in the object. + A collection. + + + Refer to for this functionality. Do not instantiate this class. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + true if the changes are to be autoloaded, otherwise false. + + + Microsoft Internal Use Only. + true if external changes are to be detected, otherwise false. + + + Microsoft Internal Use Only. + true if the find/replace operations are to be initialized from the editor, otherwise false. + + + Microsoft Internal Use Only. + true if find/replace operations are to show message boxes, otherwise false. + + + Microsoft Internal Use Only. + true if the open file operation should be initialized from the current document, otherwise false. + + + Microsoft Internal Use Only. + true if the Miscellaneous Files project is to save the last dirty items, otherwise false. + + + Microsoft Internal Use Only. + true if the document window is to be reused, otherwise false. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + true if animations are used, otherwise false. + + + Microsoft Internal Use Only. + The speed of the animation. + + + Microsoft Internal Use Only. + true if all tabs other than the active one are to be hidden, otherwise false. + + + Microsoft Internal Use Only. + true if Close closes only the active tab, otherwise false. + + + Microsoft Internal Use Only. + The number Most Recently Used items to show.. + + + Microsoft Internal Use Only. + The startup object. + + + Microsoft Internal Use Only. + true if completion should be performed in the command window, otherwise false. + + + Microsoft Internal Use Only. + true if the status bar should be displayed, otherwise false. + + + Microsoft Internal Use Only. + The number of items on a window menu. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + true if Help is external, otherwise false. + + + Microsoft Internal Use Only. + The preferred collection. + + + Microsoft Internal Use Only. + The preferred language. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The keyboard scheme. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The vsSaveChanges object. + + + Microsoft Internal Use Only. + The project location. + + + Microsoft Internal Use Only. + true if the output window should be displayed before a build, otherwise false. + + + Microsoft Internal Use Only. + true if the task list should be displayed after a build, otherwise false. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The comment tokens. + + + Microsoft Internal Use Only. + true if task deletion should display a confirmation message, otherwise false. + + + Microsoft Internal Use Only. + true if there should be a warning if a hidden item is added, otherwise false. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The URL of the home page. + + + Microsoft Internal Use Only. + The URL of the search page. + + + Microsoft Internal Use Only. + true if a default home page should be displayed, otherwise false. + + + Microsoft Internal Use Only. + true if a default search page should be used, otherwise false. + + + Microsoft Internal Use Only. + The source of the external program. + + + Microsoft Internal Use Only. + The vsBrowserViewSource object. + + + Refer to for this functionality. Do not instantiate this class. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The vsFontCharSet object. + + + Microsoft Internal Use Only. + The name of the font family. + + + Microsoft Internal Use Only. + The FontsAndColorsItems object. + + + Microsoft Internal Use Only. + The font size. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The Miscellaneous Files events. + + + Microsoft Internal Use Only. + The solution items events. + + + Refer to for this functionality. Do not instantiate this class. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The output window events. + + + Refer to for this functionality. Do not instantiate this class. + + + Refer to for this functionality. Do instantiate this class. + + + Refer for this functionality. Do not instantiate this class. + + + Represents all projects and solution-wide properties in the integrated development environment (IDE). Refer to for this functionality. Do not instantiate from this class. + + + Adds a project to the solution, based on a project file already stored in the system. + A object. + Required. The full path and file name of the project file. + Optional. Indicates whether the project loads in the current solution or its own; true if the current solution is closed and the project is added to a new solution, false if the project is added to the existing open solution. + + + Copies an existing project file, and any items or subdirectories it contains, to the specified location and adds it to the solution. + A object. + Required. The full path and file name with extension of the template project file. + Required. The full path of the directory in which to copy the contents of . + Required. The name of the project file in the destination directory. This should include the extension. The name displayed is derived from . + Optional. Indicates whether the project loads in the current solution or its own; true if the current solution is closed and the project is added to a new solution, false if the project is added to the existing open solution. + + + Gets an collection, which contains all currently available add-ins associated with the solution. + An collection. + + + Closes the current solution. + Indicates whether to save the solution before closing it; true if the solution should be saved prior to closing it, false if not. + + + Gets a value indicating the number of objects in the collection. + The number of objects in the collection. + + + Creates an empty solution in the specified directory with the specified name. + Required. The directory in which to create the .sln and .suo (solution) files. + Required. The name to display in Solution Explorer. This is also the base name of the .sln and .suo files. + + + Gets the top-level extensibility object. + A object. + + + Gets the requested Extender object if it is available for this object. + An Extender object. + Required. The name of the Extender to return. + + + Gets the Extender category ID (CATID) for the object. + A GUID representing the CATID of the object. + + + Gets a list of available Extenders for the object. + An object containing an automation-compliant array of strings. + + + Microsoft Internal Use Only. + The file name. + + + Locates an item in a project. + A object. + Required. The name of the project item. + + + Gets the full path and name of the object's file. + The full path and name of the object's file. + + + Returns an enumeration for items in a collection. + An enumerator. + + + Gets the that contains add-in values that may be saved in the solution (.sln) file, the project file, or in the user's profile data. + A object. + + + Microsoft Internal Use Only. + true if the solution is dirty; otherwise, false. + + + Determines if a solution is open. + true if a solution is open; otherwise, false. + + + Returns a object in a collection. + A object. + Required. The index of the object to return. + + + Opens the solution in the specified view. + Required. The filename of the file to open. + + + Gets the immediate parent object of a . + A object. + + + Returns the location of project item templates for the specified project type. + The path to the templates of the given project type. + Required. The .vsProjectKind* project template representing the project type. + + + Gets a collection of the projects currently in the solution. + A collection. + + + Gets a collection of all properties that pertain to the . + A collection. + + + Removes the specified project from the solution. + Required. The project to remove from the solution. + + + Saves the solution. + Required. The filename in which to save the solution. If the file exists, it is overwritten. + + + Returns true if the object has not been modified since last being saved or opened. + A Boolean value indicating true (default) if the object has not been modified since last being saved or opened; false if otherwise. + + + Gets the object for the solution, which represents the root of the build automation model at the solution level. + A object. + + + Gets the full path and name of the directory that contains templates for the specified type of project. + The full path and name of the directory that contains templates for the specified type of project. + Required. A GUID that identifies the type of project, from . + + + Refer to for this functionality. Do not instantiate this class. + + + Refer to for this functionality. Do not instantiate this class. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The task list events. + + + Refer to for this functionality. Do not instantiate this class. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + +   + + +   + + +   + + + Refer to for this functionality. Do not instantiate this class. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Add-ins are now deprecated. For more information, see FAQ: Converting Add-ins to VSPackage Extensions. + + + Returns the collection containing the object that supports this property. + An collection. + + + Gets or sets a value indicating whether an add-in is loaded and connected. + A Boolean value indicating whether an add-in is loaded and connected. + + + Gets or sets a string that represents the description for the object. + A string that represents the description for the object. + + + Gets the top-level extensibility object. + A object. + + + Gets the GUID for the object. + A string representing the CLSID of the add-in. + + + Gets the name of the object. + A string representing the name of the object. + + + Sets or gets the object supporting the specified object. + An additional OLE automation object to support other add-ins. + + + Gets the ProgID based on the add-in's registry entry. + A string representing the ProgID. + + + Removes the add-in from the collection of add-ins and makes it unavailable. + + + Gets the location of a DLL containing localized resources, if available. + A string representing the path of a DLL containing localized resources. + + + Contains all known add-ins. + + + Adds an add-in to the collection of add-ins loaded when a particular solution loads. It fails if the collection is the DTE.AddIns collection. + An object. + Required. The ProgID of the add-in to add to the collection. + Required. A description for the add-in to add to the collection. + Required. The name of the add-in to add to the collection. + Required. Indicates whether the add-in is currently loaded. + + + Gets the number of objects in the collection. + The number of objects in the collection. + + + Gets the top-level extensibility object. + The object. + + + Gets an enumerator for items in the collection. + An enumerator. + + + Returns an object in an collection. + A object. + Required. The index of the object to return. + + + Gets the immediate parent object of a collection. + The immediate parent object of a given object. + + + Updates the collection. + + + The object contains the properties and methods used to programmatically manipulate a . + + + Gets a collection of objects contained within this code construct. + A collection. + + + Gets the collection + A collection. + + + Specifies the condition for the breakpoint. + A string representing the breakpoint condition for the property. + + + Indicates whether the condition type will break the program execution when true or break when changed. + A value. + + + Indicates the number of times a breakpoint has been hit during the active debugging session. + An integer representing the number of times this breakpoint has been hit during this debugging session. + + + Deletes the breakpoint. + + + Gets the top-level extensibility object. + A object. + + + Sets or gets the enabled state of this object. + A Boolean value representing whether this T:EnvDTE.Breakpoint object is enabled or not. + + + Gets the name of the file that contains the breakpoint or a declaration of the parent object. + A string representing a file name. + + + Indicates the character location within a line in a file for a file breakpoint. + An integer that represents the character location within a line in a file that contains the breakpoint. + + + Indicates the line location within a file for a breakpoint. + An integer that represents the line number in the source code, measured from the start of the function, at which the breakpoint is set. + + + Indicates the column offset from the name of a function breakpoint. + An integer value representing the column offset from the name of a function breakpoint. + + + Indicates the line offset from the name of a function breakpoint. + An integer value representing the line offset from the name of a function breakpoint. + + + Gets the name of the function where the breakpoint is set. + A string that represents the name of the function. + + + Gets the hit count target for any type of breakpoint. Interpreted based on the hit count type. + An integer value representing the hit count target for any type of breakpoint. + + + Describes how to interpret a hit count. + A value. + + + Gets the language associated with the name or conditional breakpoint. + A constant. + + + Indicates the location type this breakpoint represents. + A value. + + + Sets or gets the name of the Breakpoint. + A string representing the name of the Breakpoint. + + + Gets the immediate parent object of a object. + A object. + + + Gets a reference to a object. + A reference to a object. + + + Resets the current number of hits. + + + Sets or gets a user-defined string identifying the Breakpoint. + A string value representing the Breakpoint. + + + Gets a constant indicating the type. + A constant, specifying the type of breakpoint. + + + Provides a list of pending breakpoints. + + + Creates and enables a new breakpoint. + A collection. + Optional. A function breakpoint. The name of the function on which the breakpoint is set. + Optional. A file breakpoint. The name and optional path of the file in which the breakpoint is set. + Optional. A file breakpoint. The source-code line number, measured from the start of the function, at which the breakpoint is set. If this value is 1, the breakpoint is set at the start of the function. + Optional. A file breakpoint. The character at which the breakpoint is set. In most cases, you can leave this value set to 1, which sets the breakpoint at the start of the line. + Optional. The breakpoint . Use with . + Optional. The condition type. A value. Use with . + Optional. The programming language in which the function is written. + Optional. A data breakpoint. If the breakpoint is set on a variable, you can specify the name of the variable. You can use the context operator to specify a variable outside the current scope. + Optional. A data breakpoint. If the breakpoint is set on a variable, and if the variable is an array or dereferenced pointer, this value specifies the number of elements to watch. + Optional. An address breakpoint. The memory address where the breakpoint is set, in decimal or hexadecimal format. + Optional. The Hit Count property for the breakpoint. If you specify no hit count, program execution breaks each time the breakpoint is hit. If you specify a hit count, program execution breaks only on the specified number of hits. + Optional. The hit count type. A value. + + + Returns a value indicating the number of objects in the collection. + An integer value representing the number of objects in the collection. + + + Returns the top-level extensibility object. + A object. + + + Gets an enumerator. + An enumerator. + + + Returns a object in a collection. + A object. + Required. The index of the object to return. + + + Returns the parent object of a given collection. + A object. + + + Represents all of the projects that the specified project depends on. + + + Returns a value indicating the number of objects in the collection. + An integer value representing the number of objects in the collection. + + + Gets the top-level extensibility object. + A object. + + + Gets an enumerator for items in the collection. + An enumerator. + + + Gets an indexed member of a collection. + A object. + Required. The index of the item to return. + + + Gets the immediate parent object of a collection. + A object. + + + Represents all of the projects that the specified project depends on to complete a build. + + + Adds a project to the list of projects that must be built first. + Required. The name of the project from the property to add as a dependency. + + + Returns the collection containing the object that supports this property. + A collection. + + + Gets the top-level extensibility object. + A object. + + + Gets the associated with the object. + A object. + + + Removes all projects from the list of projects that must be built first. + + + Removes a project from the list that specifies the order in which projects are built. + Required. The name of the project from the property to add as a dependency. + + + Gets a list of the projects that must be built before the BuildDependency.Project project is built. + + returns a SafeArray of dependent projects. + + + Provides a list of events for solution builds. Use this object for functionality and refer to for this object’s documentation. + + + Refer to for this functionality. Do not instantiate from this class. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Occurs before the solution builds, before a batch build begins, or just before a project begins to build. + + + Occurs after a solution build completes. + + + Occurs when a project configuration build begins. + + + Occurs after a project configuration build completes. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Allows manipulation of a code element's attribute. + + + Returns a collection of objects contained within this code's construct. + A collection. + + + Gets the collection containing the object supporting this property. + A collection. + + + Removes the current . + + + Gets the top-level extensibility object. + A object. + + + Gets the text point that is the location of the end of the code item. + A object. + + + Returns the requested Extender object. + An Extender. + Required. The name of the Extender to return. + + + Gets the Extender category ID (CATID) for the object. + A string value representing a CATID in GUID format. + + + Gets a list of available Extenders for the object. + An object containing an automation-compliant array of strings. + + + Gets the full path and name of the object's file. + A string containing the full path and name of the object's file. + + + Returns a object that marks the end of the code element definition. + A object. + Optional. A constant specifying the portion of the code to retrieve. + + + Returns a that specifies the beginning of the code element definition. + A object. + Optional. A constant specifying the portion of the code to retrieve. + + + Describes the capabilities of the code model. + A constant value. + + + Indicates whether or not a object can be obtained from this object. + A Boolean value indicating true if a object can be obtained, otherwise returned false. + + + Gets an enumeration indicating the type of object. + A value. + + + Gets the programming language used to author the code. + A constant. + + + Sets or gets the name of the CodeAttribute. + A string representing the name of the CodeAttribute. + + + Gets the immediate parent object of a given object. + A parent object. + + + Gets the associated with the object. + A object. + + + Gets a object that defines the beginning of the code item. + A object. + + + Sets or gets the data value for the object. + A string representing the data value for the object. + + + Represents a class in source code. + + + Sets or gets the access attributes of the object. + A value. + + + Creates a new attribute code construct and inserts the code in the correct location. + A object. + Required. The name of the new attribute. + Required. The value of the attribute, which may be a list of parameters for a parameterized property, separated by commas . + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means the element should be placed at the end. + + + Adds an item to the list of inherited objects. + A object. + Required. The class from which to derive implementation. For objects, this is either a or a fully qualified type name. Visual C++ requires the colon-separated (::) format for its fully qualified type names. All other languages support the period-separated format. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means the element should be placed at the end. + + + Creates a new class code construct and inserts the code in the correct location. + A object. + Required. The name of the class. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means the element should be placed at the end. + Optional. Default = 0. A SafeArray of fully qualified type names or objects from which the new class inherits its implementations. + Optional. Default = 0. A SafeArray of fully qualified type names or objects, each representing an interface that the new class promises to implement. + Optional. A constant. + + + Creates a new delegate code construct and inserts the code in the correct location. + A object. + Required. The name of the delegate to add. + Required. A constant indicating the data type that the function returns. This can be a object, a constant, or a fully qualified type name. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means the element should be placed at the end. + Optional. A constant. + + + Creates a new enumeration code construct and inserts the code in the correct location. + A object. + Required. The name of the enum to add. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means the element should be placed at the end. + Optional. Default = Nothing. A variant that holds a SafeArray of fully qualified type names or objects that specify the underlying type of the new enum. + Optional. A constant. + + + Creates a new function code construct and inserts the code in the correct location. + A object. + Required. The name of the new function. + Required. The constant indicating the type of function, such as whether the function is a property-get, a method, and so forth. + Required. A constant indicating the data type that the function returns. This can be a object, a constant, or a fully qualified type name. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means the element should be placed at the end. + Optional. A constant. + Optional. The location. + + + Adds an interface to the list of inherited objects. + A object. + Required. The interface the class will implement. This is either a or a fully-qualified type name. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means the element should be placed at the end. + + + Creates a new property code construct and inserts the code in the correct location. + A object. + Required. The name of the function that gets the property's value. + Required. The name of the function that sets the property. + Required. The type of property. This can be a object, a value, or a fully qualified type name. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means the element should be placed at the end. + Optional. The access. A constant value. + Optional. The location. + + + Creates a new structure code construct and inserts the code in the correct location. + A object. + Required. The name of the new structure. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means the element should be placed at the end. + Required. Default value is Nothing. A variant that holds a SafeArray of fully qualified type names or objects from which the new interface derives. + Required. Default value is Nothing. A SafeArray of fully qualified type names or objects, each representing interfaces that the new class promises to implement. + Optional. A constant. + + + Creates a new variable code construct and inserts the code in the correct location. + A object. + Required. The name of the new variable. + Required. A constant indicating the data type that the function returns. This can be a object, a constant, or a fully qualified type name. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means the element should be placed at the end. + Optional. A constant. + Optional. The path and file name for the new variable definition. Depending on the language, the file name is either relative or absolute to the project file. The file is added to the project if it is not already a project item. If the file cannot be created and added to the project, then fails. + + + Gets a collection of all of the attributes for the parent object. + A collection. + + + Gets a collection of classes from which this item derives. + A collection. + + + Gets a collection of contained within the object. + A collection. + + + Gets a collection. + A collection. + + + Gets or sets the comment associated with the object. + A string representing the comments associated with the object. + + + Gets a collection of objects derived from this object. Not implemented in Visual C#. + A collection. + + + Sets or gets the document comment for the current code model element. + A string containing special documentation comment or attribute. + + + Gets the top-level extensibility object. + A object. + + + Gets the text point that is the location of the end of the code item. + A object. + + + Gets the requested Extender object. Not implemented in Visual C#. + An Extender. + Required. The name of the Extender to return. + + + Returns the Extender category ID (CATID) for the object. Not implemented in Visual C#. + Returns the GUID representing the CATID of the object as a string. + + + Gets a list of available Extenders for the object. Not implemented in Visual C#. + An object containing an automation-compliant array of strings. + + + Gets the full path and name of the object's source file. + A string representing the full path and name of the object's source file. + + + Returns a object that marks the end of the code element definition. + A object. + Optional. A constant specifying the portion of the code to retrieve. + + + Returns a object that defines the beginning of the code element definition. + A object. + Optional. A constant specifying the portion of the code to retrieve. + + + Gets a collection of interfaces implemented by a object. + A collection. + + + Gets the capabilities of the code model. + A constant value. + + + Sets or gets whether or not an item is declared as abstract. + A Boolean value indicating true if the item is declared as abstract; false otherwise. + + + Gets whether a object can be obtained from this object. + A Boolean value indicating true if a object can be obtained, otherwise returns false. + + + Returns whether a object has another object as a base. + A Boolean value indicating true if a CodeClass object has another object as a base; false if otherwise. + Required. The type to search for in the lineage of this type. + + + Returns an enumeration indicating the type of object. + A value. + + + Gets the programming language used to author the code. + A constant. + + + Gets a collection of items contained by this element. + A collection. + + + Sets or gets the name of the object. + A string containing the name of the object. + + + Gets an object defining the parent namespace. + A object. + + + Gets the immediate parent object of a object. + The immediate parent object of a object. + + + Gets the associated with the given object. + A object. + + + Removes an object from the list of bases. + Required. A or the name of one in the collection. + + + Removes an interface from the list of implemented interfaces. + Required. A or the name of one in the collection. + + + Removes a member code construct. + Required. A object or the name of one in the collection. + + + Gets a that defines the beginning of the code item. + A object. + + + Object representing a delegate in source code. + + + Sets or gets the access attributes of this delegate. + A value. + + + Creates a new attribute code construct and inserts the code in the correct location. + A object. + Required. The name of the new attribute. + Required. The value of the attribute, which may be a list of parameters for a property that has parameters, separated by commas. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If is a Long, then AddAttribute indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means the element should be placed at the end. + + + Adds an item to the list of inherited objects. + A object. + Required. The delegate from which to derive implementation. + Optional. Default = 0. The code element after which to add the new element.If is a Long, then indicates the element after which to add the new delegate.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means the element should be placed at the end. + + + Creates a new parameter for the delegate and inserts the code in the correct location. + A object. + Required. The name of the parameter. + Required. A constant indicating the data type that the function returns. This can be a object, a constant, or a fully qualified type name. + Optional. Default = 0. The code element after which to add the new element. If is a , then the new element is added immediately after it.If is a Long, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means the element should be placed at the end. + + + Gets a collection of all of the attributes for the delegate. + A collection. + + + Gets the class from which this object is derived. + A object. + + + Gets a collection of classes from which this delegate is derived. + A collection. + + + Gets a collection of objects contained within this . + A collection. + + + Returns the collection containing the object supporting this property. + A collection. + + + Gets or sets the comment associated with the . + A string containing comments associated with the . + + + Gets a collection of objects derived from the object. Not implemented in Visual C#. + A collection. + + + Sets or gets the documentation comments for element. + A string containing the documentation comments for the delegate. + + + Gets the top-level extensibility object. + A object. + + + Gets the text point that is the location of the end of the delegate. + A object. + + + Returns the requested Extender object for the delegate. Not implemented in Visual C#. + An Extender. + Required. The name of the Extender to return. + + + Gets the Extender category ID (CATID) for the object. Not implemented in Visual C#. + A string containing the GUID that represents the Extender CATID. + + + Gets a list of available Extenders for the delegate. Not implemented in Visual C#. + An object containing an automation-compliant array of strings, each one the name of an Extender for the delegate. + + + Gets the full path and name of the delegate's file. + A string representing the full path and name of the delegate's file. + + + Returns a object that marks the end of the delegate definition. + A object. + Optional. A constant specifying the portion of the delegate to retrieve. + + + Returns a object that defines the beginning of the delegate definition. + A object + Optional. A constant specifying the portion of the delegate to retrieve. + + + Gets the capabilities of the code model for the delegate. + A constant value. + + + Indicates whether or not a object can be obtained from this delegate. + A Boolean value indicating true if a object can be obtained, otherwise returns false. + + + Indicates whether or not a object has another object as a base. + A Boolean value indicating true if an object has another object as a base; otherwise returns false. + Required. The type to search for in the lineage of this delegate. + + + Gets an enumeration that defines the type of object. + A value. + + + Gets the programming language used to author the code. + A constant. + + + Gets the collection of items this element contains. + A collection. + + + Sets or gets the name of the object. + A string containing the name of the object. + + + Gets an object defining the parent namespace of the delegate. + A object. + + + Gets a collection of parameters for this . + A collection, each element representing a parameter for the delegate.NoteThe values of code model elements such as classes, structs, functions, attributes, delegates, and so forth can be non-deterministic after making certain kinds of edits, meaning that their values cannot be relied upon to always remain the same. For more information, see the section Code Model Element Values Can Change in Discovering Code by Using the Code Model (Visual Basic). + + + Gets the immediate parent object of a object. + The property returns the immediate parent to the object. If you want to get the containing collection, then use the property. + + + Gets the object associated with the object. + A object. + + + Returns a string holding the stub definition of this delegate. + A string holding the stub definition of this delegate. + Optional. A value that indicates what the string contents should be, such as only parameter names, parameter types, whole unique signature, and so forth. All flags are set to Off by default. + + + Removes an object from the list of bases. + Required. A or the name of one in the collection. + + + Removes a member from the delegate. + Required. A object or the name of one in the collection. + + + Removes a parameter from the delegate's argument list. + Required. A object or the name of one in the collection. + + + Gets a object that defines the beginning of the delegate. + A object. + + + Sets or gets an object representing the programmatic type of the delegate. + A object. + + + Represents a code element or construct in a source file. + + + Returns a collection of objects contained within this . + A collection. + + + Gets the collection containing the CodeElement that supports this property. + A collection. + + + Gets the top-level extensibility object. + A object. + + + Gets the text point that is the location of the end of the code item. + A object. + + + Gets the requested Extender if it is available for this CodeElement object. + An Extender. + Required. The name of the Extender to return. + + + Gets the Extender category ID (CATID) for the object. + A string representing the Extender category ID (CATID) for the object. + + + Gets a list of available Extenders for the object. + An object containing an automation-compliant array of strings. + + + Gets a fully-qualified name of the specified code element. + A string containing a fully-qualified name of the specified code element. + + + Returns a object that marks the end of the code element definition. + A object. + Optional. A constant specifying the portion of the code to retrieve. + + + Returns a object that marks the beginning of the code element definition. + A object. + Optional. A constant specifying the portion of the code to retrieve. + + + Gets the capabilities of the code model. + A constant value. + + + Indicates whether or not a object can be obtained from the object. + A Boolean value indicating whether or not a object can be obtained from the object. + + + Gets an enumeration that defines the type of object. + A value. + + + Gets the programming language that is used to author the code. + A string representing a constant. + + + Sets or gets the name of the object. + A string representing the name of the object. + + + Gets the object associated with the object. + A object. + + + Gets a object that defines the beginning of the code item. + A object. + + + A collection of objects representing code constructs in a source file. + + + Gets a value indicating the number of objects in the collection. + An integer value representing the number of objects in the collection. + + + Creates a programmatic identifier that does not collide with other identifiers in the scope and that follows the current language naming rules. + A Boolean value indicating true if the name is a unique identifier; otherwise returns false. + Required. The prefix string or whole name to check to see whether or not it is unique for the collection of code elements. + Optional. If supplied, this returns with a guaranteed unique name. + + + Gets the top-level extensibility object. + A object. + + + Returns an enumerator for items in the collection. + An enumerator. + + + Returns a object in a collection. + A object. + Required. The index of the object to return. + + + Gets the immediate parent object of a collection. + A parent object. + + + Microsoft Internal Use Only. + The element. + + + Object representing an enumeration in source code. + + + Defines the access modifier of this item. + A value. + + + Creates a new attribute code construct and inserts the code in the correct location. + A object. + Required. The name of the new attribute. + Required. The value of the attribute, which may be a list of parameters for a parameterized property, separated by commas. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means that the element should be placed at the end. + + + Adds an item to the list of inherited objects. + A object. + Required. The class from which to derive implementation. For objects, is a variant containing a fully qualified type name or object upon which the new enum is based. For C#, this is the underlying type of enum. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means the element should be placed at the end. + + + Creates a new member code construct and inserts the code in the correct location. + A object. + Required. The name of the new member. + Optional. The of the returned object. It can be passed in either as a string or as an expression object. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means the element should be placed at the end. + + + Gets a collection of all of the attributes for the parent object. + A collection. + + + Gets a collection of classes from which this item derives. + A collection. + + + Gets a collection of objects contained within this . + A collection. + + + Gets the collection containing the object supporting this property. + A collection. + + + Gets or sets the comment associated with the code element. + A string representing the comment associated with the code element. + + + Gets a collection of objects derived from this object. This property is not implemented in Visual C#. + A collection. + + + Gets the document comment for the element. + A string representing the document comment. + + + Gets the top-level extensibility object. + A object. + + + Gets the text point that is the location of the end of the code item. + A object. + + + Returns the requested Extender object if it is available for this object. This property is not implemented in Visual C#. + An Extender. + Required. The name of the Extender to return. + + + Gets the Extender category ID (CATID) for the object. This property is not implemented in Visual C#. + A string representing the CATID of the object as a GUID. + + + Gets a list of available Extenders for the object. This property is not implemented in Visual C#. + An object containing an automation-compliant array of strings. + + + Gets the full path and name of the object's file. + A string representing the full path and name of the object's file. + + + Returns a object that marks the end of the code element definition. + A object. + Optional. A constant specifying the portion of the code to retrieve. + + + A object that defines the beginning of the code element definition. + A object. + Optional. A constant specifying the portion of the code to retrieve. + + + Describes the capabilities of the code model object. + A constant value. + + + Gets values indicating whether or not a object can be obtained from this object. + A Boolean value indicating true if a object can be obtained; otherwise returns false. + + + Specifies whether or not a object has another object as a base. + A Boolean value indicating True if an object has another object as a base; otherwise returns False. + Required. The type to search for in the lineage of this type. + + + Gets an enumeration indicating the type of object. + A value. + + + Gets the programming language used to author the code. + A constant. + + + Gets a collection of items contained by this enumeration. + A collection. + + + Sets or gets the name of the object. + A string representing the name of the object. + + + Gets an object defining the parent namespace. + A object. + + + Gets the immediate parent object of a object. + An object. + + + Gets the object associated with the object. + A object. + + + Removes an object from the list of bases. + Required. A or the name of one in the collection. + + + Removes a member code construct. + Required. A object or the name of one in the collection. + + + Gets a object that defines the beginning of the code item. + A object. + + + An object defining a function construct in a source file. + + + Sets or gets the access modifier of this item. + A value. + + + Creates a new attribute code construct and inserts the code in the correct location. + A object. + Required. The name of the new attribute. + Required. The value of the attribute, which may be a list of parameters for a parameterized property, separated by commas. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means that the element should be placed at the end. + + + Creates a new parameter code construct and inserts the code in the correct location. + A object. + Required. The name of the parameter. + Required. A constant indicating the data type that the function returns. This can be a object, a constant, or a fully qualified type name. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means that the element should be placed at the end. + + + Gets a collection of all attributes for the object. + A collection. + + + Sets or gets whether or not the function can be overridden. + A Boolean value indicating true if the function can be overriden; false if otherwise. + + + Gets a collection of objects contained within this code construct. + A collection. + + + Gets the collection containing the object supporting this property. + A collection. + + + Gets or sets the comment associated with the code element. + A string representing the comment associated with the code element. + + + Gets or sets the document comment for the current code model element. + A string representing the document comment. + + + Gets the top-level extensibility object. + A object. + + + Gets the text point that is the location of the end of the code item. + A object. + + + Returns the requested Extender object if it is available for this object. + An Extender. + Required. The name of the Extender to return. + + + Gets the Extender category ID (CATID) for the object. + A string representing the CATID of the object in GUID form. + + + Gets a list of available Extenders for the object. + An object containing an automation-compliant array of strings. + + + Gets the full path and name of the object's file. + A string representing the full path and name of the object's file. + + + Gets an enumeration describing how a function is used. + A value. + + + Returns a object that marks the end of the code element definition. + A object. + Optional. A constant specifying the portion of the code to retrieve. + + + Returns a object that defines the beginning of the code element definition. + A object. + Optional. A constant specifying the portion of the code to retrieve. + + + Gets the capabilities of the code model object.. + A constant value. + + + Returns whether a object can be obtained from this object. + A Boolean value indicating true if a object can be obtained; otherwise returns false. + + + Gets whether or not a function is overloaded. + A Boolean value indicating true if a function is overloaded; false if otherwise. + + + Sets or gets whether or not the item is statically defined, that is, whether the item is common to all instances of this object type or only to this object specifically. + A Boolean value indicating true if the method is shared; false if otherwise. + + + Returns an enumeration indicating the type of object. + A value. + + + Returns the programming language used to author the code. + A constant. + + + Sets or gets whether or not the item is declared abstract and thus requires an implementation. + A Boolean value indicating true if the method is declared abstract and thus requires an implementation; false if otherwise. + + + Sets or gets the name of the object. + A string representing the name of the object. + + + Gets a collection of overloaded methods for this item. + A collection. + + + Gets a collection of parameters for this item. + A collection. + + + Gets the immediate parent object of a object. + A object. + + + Gets the object associated with the object. + A object. + + + Returns a string holding the stub definition of this object. + A string representing the stub definition of this . + Optional. A value that indicates the contents of the string, such as only parameter names, parameter types, whole unique signature, and so forth. All flags are set to Off by default. + + + Removes a parameter from the argument list. + Required. A object or the name of one in the collection. + + + Gets a object that defines the beginning of the code item. + A object. + + + Sets or gets an object representing the programmatic type. + A object. + + + Object representing an interface in source code. + + + Sets or gets the access modifier of this item. + A value. + + + Creates a new attribute code construct and inserts the code in the correct location. + A object. + Required. The name of the new attribute. + Required. The value of the attribute, which may be a list of parameters for a parameterized property, separated by commas. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means that the element should be placed at the end. + + + Adds an item to the list of inherited objects. + A object. + Required. The class from which to derive implementation. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means that the element should be placed at the end. + + + Creates a new function code construct and inserts the code in the correct location. + A object. + Required. The name of the new function. + Required. The constant indicating the type of function, such as a property-get or a method. + Required. A constant indicating the data type that the function returns. This can be a object, a constant, or a fully qualified type name. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means that the element should be placed at the end. + Optional. A constant. + + + Creates a new property code construct and inserts the code in the correct location. + A object. + Required. The name of the function that gets the property's value. + Required. The name of the function that sets the property. + Required. The type of property. This can be a object, a value, or a fully qualified type name. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means that the element should be placed at the end. + Optional. The access. A constant value. + Optional. The location. + + + Gets a collection of all attributes for the parent object. + A collection. + + + Gets a collection of classes from which this item is derived. + A collection. + + + Gets a collection of objects contained within this . + A collection. + + + Gets the collection containing the object supporting this property. + A collection. + + + Gets or sets the comment associated with the . + A string representing the comment associated with the code element. + + + Gets a collection of objects derived from this object. This property is not implemented in Visual C#. + A collection. + + + Gets or sets the document comment for the current code model element. + A string representing the document comment. + + + Gets the top-level extensibility object. + A object. + + + Gets the text point that is the location of the end of the code item. + A object. + + + Returns the requested Extender object if it is available for this object. This property is not implemented in Visual C#. + An Extender. + Required. The name of the Extender to return. + + + Gets the Extender category ID (CATID) for the object. This property is not implemented in Visual C#. + A string representing the CATID. + + + Gets a list of available Extenders for the object. This property is not implemented in Visual C#. + An object containing an automation-compliant array of strings. + + + Gets the full path and name of the object's file. + A string representing the full path and name of the object's file. + + + Gets a object that marks the end of the code element definition. + A object. + Optional. A constant specifying the portion of the code to retrieve. + + + Gets a object that defines the beginning of the code element definition. + A object. + Optional. A constant specifying the portion of the code to retrieve. + + + Gets the capabilities of the code model object. + A constant value. + + + Gets whether a object can be obtained from this object. + A Boolean value indicating true if a object can be obtained; otherwise returns false. + + + Returns whether an object has another object as a base. + A Boolean value indicating true if an object has another object as a base; false if otherwise. + Required. The type to search for in the lineage of this type. + + + Gets an enumeration indicating the type of object. + A value. + + + Gets the programming language used to author the code. + A constant. + + + Gets a collection of items contained by this element. + A collection. + + + Sets or gets the name of the object. + A string representing the name of the object. + + + Gets an object defining the parent namespace. + A object. + + + Gets the immediate parent object of a object. + An object. + + + Gets the object associated with the object. + A object. + + + Removes an object from the list of bases. + Required. A or the name of one in the collection. + + + Removes a member code construct. + Required. A object or the name of one in the collection. + + + Gets a object that defines the beginning of the code item. + A object. + + + Allows access to programmatic constructs in a source code file. + + + Creates a new attribute code construct and inserts the code in the correct location. + A object. + Required. The name of the new attribute. + Required. The path and file name for the new attribute. Depending on the language, the file name is either relative or absolute to the project file. The file is added to the project if it is not already a project item. If the file cannot be created and added to the project, then fails. + Required. The value of the attribute, which may be a comma-separated list of parameters for a parameterized property. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means that the element should be placed at the end. + + + Creates a new class code construct and inserts the code in the correct location. + A object. + Required. The name of the class. + Required. The path and file name for the new class definition. Depending on the language, the file name is either relative or absolute to the project file. The file is added to the project if it is not already a project item. If the file cannot be created and added to the project, then fails. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means that the element should be placed at the end. + Required. Default = 0. A SafeArray of fully qualified type names or objects from which the new class inherits its implementations. + Required. Default = 0. A SafeArray of fully qualified type names or objects, each representing an interface that the new class promises to implement. + Optional. A constant. + + + Creates a new delegate code construct and inserts the code in the correct location. + A object. + Required. The name of the delegate to add. + Required. The path and file name for the new delegate definition. Depending on the language, the file name is either relative or absolute to the project file. The file is added to the project if it is not already a project item. If the file cannot be created and added to the project, then fails. + Required. A constant indicating the data type that the function returns. This value can be a object, a constant, or a fully qualified type name. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means that the element should be placed at the end. + Optional. A constant. + + + Creates a new enumeration code construct and inserts the code in the correct location. + A object. + Required. The name of the enum to add. + Required. The path and file name for the new enum definition. Depending on the language, the file name is either relative or absolute to the project file. The file is added to the project if it is not already a project item. If the file cannot be created and added to the project, then fails. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means that the element should be placed at the end. + Optional. Default = Nothing. A variant that holds a SafeArray of fully qualified type names or objects that specify the underlying type of the new enum. + Optional. A constant. + + + Creates a new function code construct and inserts the code in the correct location. + A object. + Required. The name of the new function. + Required. The path and file name for the new function definition. Depending on the language, the file name is either relative or absolute to the project file. The file is added to the project if it is not already a project item. If the file cannot be created and added to the project, then fails. + Required. The constant indicating the type of function, such as whether the function is a property-get or a method. + Required. A constant indicating the data type that the function returns. This can be a object, a constant, or a fully qualified type name. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means that the element should be placed at the end. + Optional. A constant. + + + Creates a new interface code construct and inserts the code in the correct location. + A object. + Required. The name of the interface to add. + Required. The path and file name for the new interface definition. Depending on the language, the file name is either relative or absolute to the project file. The file is added to the project if it is not already a project item. If the file cannot be created and added to the project, then fails. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means that the element should be placed at the end. + Optional. Default value is Nothing. A variant that holds a SafeArray of fully qualified type names or objects from which the new interface derives. + Optional. A constant. + + + Creates a new namespace code construct and inserts the code in the correct location. + A object. + Required. The name of the new namespace. + Required. The path and file name for the new namespace definition. Depending on the language, the file name is either relative or absolute to the project file. The file is added to the project if it is not already a project item. If the file cannot be created and added to the project, then fails. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means that the element should be placed at the end. + + + Creates a new structure code construct and inserts the code in the correct location. + A object. + Required. The name of the new structure. + Required. The path and file name for the new structure definition. Depending on the language, the file name is either relative or absolute to the project file. The file is added to the project if it is not already a project item. If the file cannot be created and added to the project, then fails. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means that the element should be placed at the end. + Required. Default value is Nothing. A variant that holds a SafeArray of fully qualified type names or objects from which the new interface derives. + Required. Default value is Nothing. A SafeArray of fully qualified type names or objects representing interfaces that the new class promises to implement. + Optional. A constant. + + + Creates a new variable code construct and inserts the code in the correct location. + A object. + Required. The name of the new variable. + Optional. The path and file name for the new variable definition. Depending on the language, the file name is either relative or absolute to the project file. The file is added to the project if it is not already a project item. If the file cannot be created and added to the project, then fails. + Required. A constant indicating the data type that the function returns. This can be a object, a constant, or a fully qualified type name. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means that the element should be placed at the end. + Optional. A constant. + + + Gets a collection of . + A collection. + + + Returns a code element based on a fully qualified name. + A object. + Required. A fully qualified symbol name, such as Namespace1.Namespace2.Class1.Member1. + + + Returns a object based on the data type indicator passed. + A object. + Required. A constant indicating the data type that the function returns. This can be a object, a constant, or a fully qualified type name. + + + Gets the top-level extensibility object. + A object. + + + Gets whether the current language is case-sensitive. + A Boolean value indicating true if the current language is case-sensitive; false if otherwise. + + + Returns whether a specified name is a valid programmatic identifier for the current language. + A Boolean value indicating True when the identifier is valid; False when it is not, such as when it is a keyword.NoteThe values of code model elements such as classes, structs, functions, attributes, delegates, and so forth can be non-deterministic after making certain kinds of edits, meaning that their values cannot be relied upon to always remain the same. For more information, see the section Code Model Element Values Can Change in Discovering Code by Using the Code Model (Visual Basic). + Required. The name of the identifier to check. + + + Gets the programming language used to author the code. + A constant. + + + Gets the immediate parent object of a object. + A object. + + + Removes the specified code element from the source file. + Required. A object or the name of a code element to remove from the source code. + + + A constant specifying the language used to author the code. + + + Visual C# constant. + + + Microsoft IDL constant. + + + Visual C++ constant. + + + Visual Basic constant. + + + Visual C++ constant. + + + Represents a namespace construct in a source file. + + + Creates a new class code construct and inserts the code in the correct location. + A object. + Required. The name of the class. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means that the element should be placed at the end. + Optional. Default = 0. A SafeArray of fully qualified type names or objects from which the new class inherits its implementations. + Optional. Default = 0. A SafeArray of fully qualified type names or objects, each representing an interface that the new class promises to implement. + Optional. A constant. + + + Creates a new delegate code construct and inserts the code in the correct location. + A object. + Required. The name of the delegate to add. + Required. A constant indicating the data type that the function returns. This can be a object, a constant, or a fully qualified type name. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means that the element should be placed at the end. + Optional. A constant. + + + Creates a new enumeration code construct and inserts the code in the correct location. + A object. + Required. The name of the enumeration to add. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means that the element should be placed at the end. + Optional. Default = Nothing. A variant that holds a SafeArray of fully qualified type names or objects that specify the underlying type of the new enumeration. + Optional. A constant. + + + Creates a new interface code construct and inserts the code in the correct location. + A object. + Required. The name of the new interface. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means that the element should be placed at the end. + Optional. Default value is Nothing. A variant that holds a SafeArray of fully qualified type names or objects from which the new interface derives. + Optional. A constant. + + + Creates a new namespace code construct and inserts the code in the correct location. + A object. + Required. The name of the new namespace. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means that the element should be placed at the end. + + + Creates a new structure code construct and inserts the code in the correct location. + A object. + Required. The name of the new structure. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means that the element should be placed at the end. + Required. Default value is Nothing. A variant that holds a SafeArray of fully qualified type names or objects from which the new interface derives. + Required. Default value is Nothing. A SafeArray of fully qualified type names or objects, each representing interfaces that the new class promises to implement. + Optional. A constant. + + + Returns a collection contained within this . + A collection. + + + GGets the collection containing the object supporting this property or contained within this code construct. + A collection. + + + Gets or sets the comment associated with the . + A string representing a comment associated with this . + + + Gets or sets the document comment for the current code model element. + A string representing the document comment. + + + Gets the top-level extensibility object. + A object. + + + Gets the edit point that is the location of the end of the item. + A object. + + + Returns the requested Extender if it is available for this . + An Extender. + Required. The name of the Extender to return. + + + Gets the Extender category ID (CATID) for the object. + A string in GUID format representing the CATID. + + + Gets a list of available Extenders for the object. + An object containing an automation-compliant array of strings. + + + Gets the fully qualified name of the . + A string representing the full name of the file. + + + Gets a object that marks the end of the code element definition. + A object. + Optional. A constant specifying the portion of the code to retrieve. + + + Gets a object that defines the beginning of the code element definition. + A object. + Optional. A constant specifying the portion of the code to retrieve. + + + Gets the capabilities of the code model. + A constant value. + + + Gets whether a object can be obtained from this object. + A Boolean value indicating true if a object can be obtained, otherwise returns false. + + + Gets an enumeration indicating the type of object. + A value. + + + Gets the programming language used to author the code. + A constant. + + + Gets a collection of items contained by this element. + A collection. + + + Sets or gets the name of the object. + A string representing the name of the . + + + Gets the immediate parent object of a object. + The parent object. + + + Returns the object associated with the given object. + A object. + + + Removes the specified code element from the source file. + Required. A object or the name of a code element to remove from the source code. + + + Gets a object that defines the beginning of the code item. + A object. + + + An object defining a parameter to a function, property, and so on, in a source file. + + + Creates a new attribute code construct and inserts the code in the correct location. + A object. + Required. The name of the new attribute. + Required. The value of the attribute, which may be a comma-separated list of parameters for a parameterized property. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means that the element should be placed at the end. + + + Gets a collection of all attributes for the parent object. + A collection. + + + Gets a collection of objects contained within this code construct. + A collection. + + + Gets the collection containing the object supporting this property. + A collection. + + + Returns the document comment for the current code model element. + A string representing the document comment. + + + Gets the top-level extensibility object. + A object. + + + Gets the edit point that is the location of the end of the code item. + A object. + + + Returns the requested Extender if it is available for the object. + An Extender. + Required. The name of the Extender to return. + + + Gets the Extender category ID (CATID) for the object. + Returns the GUID representing the CATID of the object as a string. + + + Gets a list of available Extenders for the object. + An object containing an automation-compliant array of strings. + + + Gets the full path and name of the object's file. + A string representing the full path and name of the object's file. + + + Gets a object that marks the end of the code element definition. + A object. + Optional. A constant specifying the portion of the code to retrieve. + + + Gets a object that defines the beginning of the code element definition. + A object. + Optional. A constant specifying the portion of the code to retrieve. + + + Gets the capabilities of the code model. + A constant value. + + + Gets whether a object can be obtained from this object. + A Boolean value indicating true if a object can be obtained; otherwise returns false. + + + Gets an enumeration indicating the type of object. + A value. + + + Gets the programming language used to author the code. + A constant. + + + Sets or gets the name of the object. + A string representing the name of the object. + + + Gets the immediate parent object of a object. + A object. + + + Gets the associated with the given object. + A object. + + + Gets a object that defines the beginning of the code item. + A object. + + + Sets or gets an object representing the programmatic type. + A object. + + + An object defining a property construct in a source file. + + + Sets or gets the access modifier of this item. + A value. + + + Creates a new attribute code construct and inserts the code in the correct location. + A object. + Required. The name of the new attribute. + Required. The value of the attribute, which may be a list of parameters for a parameterized property, separated by commas . + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means that the element should be placed at the end. + + + Gets a collection of all of the attributes for the parent object. + A collection. + + + Gets a collection of objects contained within this object. + A collection. + + + Gets the collection containing the object supporting this property. + A collection. + + + Gets or sets the comment associated with the code element. + A string representing the comment associated with the code element. + + + Gets the document comment for the current code model element. + A string representing the document comment. + + + Gets the top-level extensibility object. + A object. + + + Gets the edit point that is the location of the end of the code item. + A object. + + + Gets the requested Extender if it is available for this object. + An Extender. + Required. The name of the Extender to return. + + + Gets the Extender category ID (CATID) for the object. + A GUID string representing the CATID of the object. + + + Gets a list of available Extenders for the object. + An object containing an automation-compliant array of strings. + + + Gets the full path and name of the object's file. + A string representing the full path and name of the object's file. + + + Gets a object that marks the end of the code element definition. + A object. + Optional. A constant specifying the portion of the code to retrieve. + + + Gets a object that defines the beginning of the code element definition. + A object. + Optional. A constant specifying the portion of the code to retrieve. + + + Sets or gets an object defining the code to return a property. + A object. + + + Gets the capabilities of the code model object. + A constant value. + + + Gets whether a object can be obtained from this object. + A Boolean value indicating true if a object can be obtained; otherwise returns false. + + + Gets an enumeration indicating the type of object. + A value. + + + Gets the programming language used to author the code. + A constant. + + + Sets or gets the name of the object. + A string representing the name of the object. + + + Gets the immediate parent object of a object. + A object. + + + Gets the associated with the given object. + A object. + + + Returns a string holding the stub definition of this object. + A string describing the element. + Optional. A value that indicates the contents of the string, such as only parameter names, parameter types, or whole unique signature. All flags are set to Off by default. + + + Sets or gets an object defining the code to set a property. + A object. + + + Returns a object that defines the beginning of the code item. + A object. + + + Sets or gets an object representing the programmatic type. + A object. + + + Object representing a structure in source code. + + + Defines the access modifier of this item. + A value. + + + Creates a new attribute code construct and inserts the code in the correct location. + A object. + Required. The name of the new attribute. + Required. The value of the attribute, which may be a list of parameters for a parameterized property, separated by commas. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means that the element should be placed at the end. + + + Adds an item to the list of inherited objects. + A object. + Required. The class from which to derive implementation. For objects, this is either a or a fully qualified type name. Native Visual C++ requires the colon-separated (::) format for its fully qualified type names. All other languages support the period-separated format.For objects, is a variant containing a fully qualified type name or object upon which the new enum is based. For C#, this is the underlying type of enum. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means that the element should be placed at the end. + + + Creates a new class code construct and inserts the code in the correct location. + A object. + Required. The name of the class. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means that the element should be placed at the end. + Optional. Default = 0. A SafeArray of fully qualified type names or objects from which the new class inherits its implementations. + Optional. Default = 0. A SafeArray of fully qualified type names or objects, each representing an interface that the new class promises to implement. + Optional. A constant. + + + Creates a new delegate code construct and inserts the code in the correct location. + A object. + Required. The name of the delegate to add. + Required. A constant indicating the data type that the function returns. This can be a object, a constant, or a fully qualified type name. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means that the element should be placed at the end. + Optional. A constant. + + + Creates a new enumeration code construct and inserts the code in the correct location. + A object. + Required. The name of the enum to add. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means that the element should be placed at the end. + Optional. Default = Nothing. A variant that holds a SafeArray of fully qualified type names or objects that specify the underlying type of the new enum. + Optional. A constant. + + + Creates a new function code construct and inserts the code in the correct location. + A object. + Required. The name of the new function. + Required. The constant indicating the type of function, such as a property-get or a method. + Required. A constant indicating the data type that the function returns. This can be a object, a constant, or a fully qualified type name. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means that the element should be placed at the end. + Optional. A constant. + Optional. The path and file name for the new definition. Depending on the language, the path to the project file is either relative or absolute. The file is added to the project if it is not already a project item. If the file cannot be created and added to the project, then fails. + + + Adds an interface to the list of inherited objects. + A object. + Required. The interface the class implements. This is either a or a fully-qualified type name. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means that the element should be placed at the end. + + + Creates a new property code construct and inserts the code in the correct location. + A object. + Required. The name of the function that gets the property's value. + Required. The name of the function that sets the property. + Required. The type of property. This can be a object, a value, or a fully qualified type name. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means that the element should be placed at the end. + Optional. The access. A constant value. + Optional. The location. + + + Creates a new structure code construct and inserts the code in the correct location. + A object. + Required. The name of the new structure. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means that the element should be placed at the end. + Required. Default value is Nothing. A variant that holds a SafeArray of fully qualified type names or objects from which the new interface derives. + Required. Default value is Nothing. A SafeArray of fully qualified type names or objects, each representing interfaces that the new class promises to implement. + Optional. A constant. + + + Creates a new variable code construct and inserts the code in the correct location. + A object. + Required. The name of the new variable. + Required. A constant indicating the data type that the function returns. This can be a object, a constant, or a fully qualified type name. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means that the element should be placed at the end. + Optional. A constant. + Optional. The path and file name for the new variable definition. Depending on the language, the path to the project file is either relative or absolute. The file is added to the project if it is not already a project item. If the file cannot be created and added to the project, then fails. + + + Gets a collection of . + A collection. + + + Gets a collection of classes from which this derives. + A collection. + + + Gets a collection of . + A collection. + + + Gets a collection. + A collection. + + + Gets or sets the comment associated with the . + A string representing the comment associated with the . + + + Gets a collection of objects derived from this . Not implemented in Visual C#. + A collection. + + + Gets or sets the document comment for the current . + A string representing the document comment for the current . + + + Gets the top-level extensibility object. + A object. + + + Gets the edit point that is the location of the end of the code item. + A object. + + + Returns the requested Extender object if it is available for this object. Not implemented in Visual C#. + An Extender. + Required. The name of the Extender to return. + + + Gets the Extender category ID (CATID) for the object. This property is not implemented in Visual C#. + A string in GUID format representing the CATID of the object as a string. + + + Gets a list of available Extenders for the object. This property is not implemented in Visual C#. + An object containing an automation-compliant array of strings. + + + Gets the full path and name of the object's file. + A string representing the full path and name of the 's file. + + + Gets a object that marks the end of the code element definition. + A object. + Optional. A constant specifying the portion of the code to retrieve. + + + Gets a object that defines the beginning of the code element definition. + A object. + Optional. A constant specifying the portion of the code to retrieve. + + + Gets a collection of interfaces implemented by this . + A collection. + + + Gets the capabilities of the code model object.. + A constant value. + + + Sets or gets whether or not an item is declared as abstract. + A Boolean value indicating true if the item is declared as abstract; false otherwise. + + + Gets whether a object can be obtained from this object. + A Boolean value indicating true if a object can be obtained; otherwise it returns false. + + + Returns whether a has another object as a base. + A Boolean value indicating true if an object has another object as a base; false if otherwise. + Required. The type to search for in the lineage of this type. + + + Gets an enumeration indicating the type of object. + A value. + + + Gets the programming language used to author the code. + A string representing a constant. + + + Gets a collection of contained by this . + A collection. + + + Sets or gets the name of the . + A string representing the name of the + + + Gets a object defining the parent namespace. + A object. + + + Gets the immediate parent object of a object. + A parent object. + + + Gets the object associated with the object. + A object. + + + Removes an object from the list of bases. + Required. A or the name of one in the collection. + + + Removes an interface from the list of implemented interfaces. + Required. A or the name of one in the collection. + + + Removes a member code construct. + Required. A object or the name of one in the collection. + + + Gets a object that defines the beginning of the code item. + A object. + + + Represents a class construct in a source file. + + + Sets or gets the access attributes of this item. + A value. + + + Creates a new attribute code construct and inserts the code in the correct location. + A object. + Required. The name of the new attribute. + Required. The value of the attribute, which may be a list of parameters for a parameterized property, separated by commas. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means the element should be placed at the end. + + + Adds an item to the list of inherited objects. + A object. + Required. The class from which to derive implementation. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means the element should be placed at the end. + + + Gets a collection of all attributes for the parent object. + A collection. + + + Gets a collection of classes from which this item derives. + A collection. + + + Gets a collection of objects contained within this . + A collection. + + + Gets the collection containing the object supporting this property. + A collection. + + + Gets or sets the comment associated with the . + A string representing the comment associated with the . + + + Gets a collection of objects derived from this object. This property is not implemented in Visual C#. + A collection. + + + Gets or sets the document comment for the element. + A string representing the document comment. + + + Gets the top-level extensibility object. + A object. + + + Gets the edit point that is the location of the end of the code item. + A object. + + + Returns the requested Extender object if it is available for this object. This property is not implemented in Visual C#. + An Extender. + Required. The name of the Extender to return. + + + Gets the Extender category ID (CATID) for the object. This property is not implemented in Visual C#. + A GUID in string format representing the CATID. + + + Gets a list of available Extenders for the object. This property is not implemented in Visual C#. + An object containing an automation-compliant array of strings. + + + Gets the full path and name of the object's file. + A string representing the full path and name of the object's file. + + + Gets a object that marks the end of the code element definition. + A object. + Optional. A constant specifying the portion of the code to retrieve. + + + Gets a object that defines the beginning of the code element definition. + A object. + Optional. A constant specifying the portion of the code to retrieve. + + + Gets the capabilities of the code model object. + A constant value. + + + Gets whether a object can be obtained from this object. + A Boolean value indicating true if a object can be obtained, otherwise returns false. + + + Returns whether an object has another object as a base. + A Boolean value indicating True if an object has another object as a base; False if otherwise. + Required. The type to search for in the lineage of this type. + + + Gets an enumeration indicating the type of object. + A value. + + + Gets the programming language used to author the code. + A constant. + + + Gets a collection of items contained by this element. + A collection. + + + Sets or gets the name of the object. + A string representing the name of the object. + + + Gets an object defining the parent namespace. + A object. + + + Gets the immediate parent object of a object. + A parent object. + + + Gets the object associated with the object. + A object. + + + Removes an object from the list of bases. + Required. A or the name of one in the collection. + + + Removes a member code construct. + Required. A object or the name of one in the collection. + + + Gets a object that defines the beginning of the code item. + A object. + + + An object defining the type of a construct in a source file. + + + Gets the fully qualified name of the object. + A string representing the fully qualified name of the object. + + + Gets a string to use for displaying the object. + A string used for displaying the object. + + + Sets or gets information describing this item's kind of object. + A object. + + + Creates an array of a specified type, and inserts it into the code in the correct location. + A object. + Optional. Default value = 1. The number of dimensions in the type array. + + + Gets the top-level extensibility object. + A object. + + + Sets or gets an object representing the programmatic type. + A object. + + + Gets the immediate parent object of a object. + A parent object. + + + If this item is an array, sets or gets the number of dimensions in this array. + An integer representing the number of dimensions of the array if the is . + + + Gets the base type of the . + A value. + + + An object defining a variable construct in a source file. + + + Defines the access modifier of this item. + A value. + + + Creates a new attribute code construct and inserts the code in the correct location. + A object. + Required. The name of the new attribute. + Required. The value of the attribute, which may be a list of parameters for a parameterized property, separated by commas. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means the element should be placed at the end. + + + Gets a collection of all of the attributes for the parent object. + A collection. + + + Gets a collection of objects contained within this . + A collection. + + + Gets the collection containing the object supporting this property. + A collection. + + + Gets or sets the comment associated with the code element. + A string representing the comment associated with the code element. + + + Gets or sets the document comment for the current code model element. + A string representing the document comment. + + + Gets the top-level extensibility object. + A object. + + + Gets the edit point that is the location of the end of the code item. + A object. + + + Returns the requested Extender object if it is available. + An Extender. + Required. The name of the Extender to return. + + + Gets the Extender category ID (CATID) for the object. + A string GUID representing the CATID. + + + Gets a list of available Extenders for the object. + An object containing an automation-compliant array of strings. + + + Gets the full path and name of the object's file. + A string representing the full path name of the object's file. + + + Returns a object that marks the end of the code element definition. + A object. + Optional. A constant specifying the portion of the code to retrieve. + + + Returns a object that defines the beginning of the code element definition. + A object. + Optional. A constant specifying the portion of the code to retrieve. + + + Gets the capabilities of the code model object. + A constant value. + + + Sets or gets an object defining the initialization code for an element. + An object defining the initialization expression for the code variable. + + + Gets whether a object can be obtained from this object. + A Boolean value indicating true if a object can be obtained, otherwise returns false. + + + Gets or sets whether or not the item is a constant. + A Boolean value indicating true if the item is a constant; false otherwise. + + + Sets or gets whether or not the item is statically defined, that is, whether the item is common to all instances of this object type or only to this object specifically. + A Boolean value indicating true if the method is shared; false if otherwise. + + + Gets an enumeration indicating the type of object. + A value. + + + Gets the programming language used to author the code. + A constant. + + + Sets or gets the name of the object. + A string representing the name of the object. + + + Gets the immediate parent object of a object. + A parent object. + + + Gets the object associated with the object. + A object. + + + Returns a string holding the stub definition of this object. + A string describing the element. + Optional. A value that indicates the contents of the string, such as only parameter names, parameter types, whole unique signature, and so forth. All flags are set to Off by default. + + + Gets a object that defines the beginning of the code item. + A object. + + + Sets or gets an object representing the programmatic type. + A object. + + + Represents the portions of an item that can be colored, such as the foreground and background. + + + Sets or gets the background color of the item. + A unit specifying the color of the item. + + + Sets or gets whether or not the item should appear in bold. + A Boolean value indicating true if the item is bold, false if not. + + + Sets or gets the foreground color of the item. + A unit specifying the color of the item. + + + Sets or gets the name of the object. + A string representing the name of object. + + + Represents a command in the environment. + + + Creates a persistent command bar control for the command. + A object. + Required. A object to which the new command bar control is to be added. + Optional. The index position, starting at one, in the command bar to place the new control. + + + Sets or gets the list of keystrokes used to invoke the command. + A of objects. + + + Gets the collection containing the object. + A collection. + + + Removes a named command that was created with the method. + + + Gets the top-level extensibility object. + A object. + + + Gets the GUID for the given object. + A string representing the command group GUID used to represent the command. + + + Gets the ID within a command group GUID used to represent the command. + An integer representing the command ID. + + + Gets a value indicating whether or not the is currently enabled. + A Boolean value indicating true if the command is currently enabled; otherwise, false. + + + Gets the localized name of the command. + A string representing the localized name of the command. + + + Gets the name of the object. + A string representing the name of the object. + + + Causes a event to occur when a control on the command bar is clicked. Use this object for functionality, and refer to for this object's documentation. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Occurs when the OnAction property for the corresponding CommandBarControl object is set or returned. + + + Microsoft Internal Use Only. + The event handler. + + + Provides command events for automation clients. Use this object for functionality, and refer to for this object's documentation. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Occurs after a command executes. + + + Occurs before a command executes. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Contains all of the commands in the environment, as objects. + + + Microsoft Internal Only. + The GUID of the command. + The command ID. + The control. + + + Creates a command bar that is saved and available the next time the environment is started. + A object. + Required. A name for the new command bar. + Required. A constant that determines the type of command bar: + Optional. An Office object to which the new command bar is to be added. (This is required, however, if is .) + Optional. The index position, starting at one, in the command bar to place the new command bar. + + + Creates a named command that is saved by the environment and made available the next time the environment starts, even if the VSPackage is not loaded on environment startup.Add-ins are now deprecated. For more information, see FAQ: Converting Add-ins to VSPackage Extensions. + A object. + Required. The that adds the new command. + Required. The short form of the name for your new command. uses the preface Addins.Progid. to create a unique name. + Required. The name to use if the command is bound to a button that is displayed by name rather than by icon. + Required. The text displayed when a user hovers the mouse pointer over any control bound to the new command. + Required. Indicates whether the named command's button picture is an Office picture. True = button. If is False, then is the ID of a 16x16 bitmap resource (but not an icon resource) in a Visual C++ resource DLL that must reside in a folder with the language's locale identifier (1033 for English). + Optional. The ID of a bitmap to display on the button. + Optional. A SafeArray of GUIDs that determines which environment contexts (that is, debug mode, design mode, and so on) show the command. See .. + + + Returns the command GUID and ID associated with the given Microsoft.VisualStudio.CommandBars.CommandBar control. + Required. The Microsoft.VisualStudio.CommandBars.CommandBar control associated with the command. + Required. The command's GUID. + Required. The command's ID. + + + Gets a value indicating the number of objects in the collection. + The number of objects in the collection. + + + Gets the top-level extensibility object. + A object. + + + Returns an enumerator for items in the collection. + An . + + + Returns the indexed object. + A object. + Required. An absolute index, GUID string, or the command's full name. + Optional. The command ID in the specified command set. + + + Gets the immediate parent object of a collection. + A object. + + + Executes the specified command. + Required. The command's GUID. + Required. The command's ID. + Required. Arguments in a SafeArray passed in from the OLECommandTarget. + Required. Arguments in a SafeArray passed out to be returned by the OLECommandTarget. + + + Removes a command bar that was created with the method. + Required. The object to remove. + + + Represents the Command window in the environment. + + + Clears all text from the window. + + + Gets the top-level extensibility object. + A object. + + + Sends a text string to the Command window. + Required. The text characters to send to the window. + + + Gets the immediate parent object of a given object. + A object. + + + Sends a line of input to the Command window that is processed as if you typed it. + Required. The command string to send to the Command window. + Required. True means, add a newline character and execute the line of input, False means, do not execute the command line. + + + Gets the for the window or pane. + A object. + + + Represents a project or project item's build configuration dependent properties. + + + Returns the collection containing the object supporting this property. + A collection. + + + Gets the project configuration to be built. + A string representing the name of the project configuration to be built. + + + Gets the top-level extensibility object. + A object. + + + Returns the requested Extender if it is available for this object. + An Extender. + Required. The name of the Extender to return. + + + Gets the Extender category ID (CATID) for the object. + A string GUID representing the CATID. + + + Gets a list of available Extenders for the object. + An object containing an automation-compliant array of strings. + + + Gets whether the project or project item configuration can be built. + A Boolean value indicating true if a project or project item should be built, false if not. + + + Gets whether the project or project item configuration can be deployed. + A Boolean value indicating true if a project or project item can be deployed, false if not. + + + Returns whether the project or project item configuration can be run. + A Boolean value indicating true if a project or project item can be run, false if not. + + + Gets an object that can be accessed by name at run time. + An object that can be accessed by name at run time. + + + Gets a collection of objects that contains the names of the files that are outputs for the project. + A collection. + + + Gets the project or project item for the configuration. + A object. + + + Gets the name of the platform supported by this assignment. + A string representing the name of the platform supported by this assignment. + + + Gets a collection of all properties that pertain to the object. + A collection. + + + Gets a constant indicating the object type. + A constant, specifying the type of configuration. + + + Represents a matrix of objects, one for each combination of configuration name and platform name. + + + Gets the current solution configuration that will be used if a solution build operation occurs. + A object. + + + Creates a new project or project item configuration row based on the object of an existing project or project item configuration row. + A collection. + Required. A unique name for the new project or project item configuration row. + Required. The name of the project or project item configuration row to copy in order to create the new one. + Required. true if the project or project item configuration row should be propagated, false if not. + + + Creates build settings for a new operating system platform based on the object of an existing platform. + A collection. + Required. The name of the new platform as found in the property. + Required. The name of the platform to copy in order to create the new one. + Required. true if the platform should be propagated, false if not. + + + Returns a collection of items representing build configurations for one configuration name, such as "Debug" or "Retail." + A collection. + Required. The name of the project or project item configuration to return. + + + Gets an array of all defined configuration names for the project or project item. + An array of all defined configuration names for the project or project item. + + + Gets a value indicating the number of objects in the collection. + An integer representing the number of objects in the collection. + + + Deletes a row of build configurations, such as for "Debug" or "Retail." + Required. The name of the project/project item configuration row to delete. + + + Removes a column of platform configurations, such as "WinCE PalmSize." + Required. The name of the platform to delete. + + + Gets the top-level extensibility object. + A object. + + + Returns an enumerator for items in the collection. + An enumerator. + + + Returns a object of a collection. + A object. + Required. An absolute index, GUID string, or the name of a configuration. + Optional. The name of the platform. + + + Gets the immediate parent object of a object. + An object. + + + Returns the for this configuration. + A collection. + Required. The name of the platform's settings to return. + + + Gets a list of all available platforms. + An object. + + + Gets a list of platform names that can be added to this project and which may be added to create build configurations. + A SafeArray of strings. + + + Contains a set of objects. Each collection represents a row of objects for a given configuration name and for each platform, or a column of each object for a given platform name, one for each configuration name. + + + Gets a value indicating the number of objects in the collection. + An integer indicating the number of objects in the collection. + + + Gets the top-level extensibility object. + A object. + + + Gets an enumerator for items in the collection. + An enumerator. + + + Returns a object in a collection. + A object. + Required. The index of a object to return. + + + Gets the name of the object. + A string representing the name of the object. + + + Gets the immediate parent object of a collection. + A object. + + + Gets a constant indicating the Configurations type. + A constant, specifying the type of configuration. + + + Constants that are common to all Visual Studio programming languages. + + + Deprecated in Visual Studio. They are available only for backward compatibility with earlier versions of Visual Studio. For details, see the documentation for the previous version. + + + Deprecated in Visual Studio. They are available only for backward compatibility with earlier versions of Visual Studio. For details, see the documentation for the previous version. + + + Deprecated in Visual Studio. They are available only for backward compatibility with earlier versions of Visual Studio. For details, see the documentation for the previous version. + + + Deprecated in Visual Studio. They are available only for backward compatibility with earlier versions of Visual Studio. For details, see the documentation for the previous version. + + + Deprecated in Visual Studio. They are available only for backward compatibility with earlier versions of Visual Studio. For details, see the documentation for the previous version. + + + Deprecated in Visual Studio. They are available only for backward compatibility with earlier versions of Visual Studio. For details, see the documentation for the previous version. + + + Deprecated in Visual Studio. They are available only for backward compatibility with earlier versions of Visual Studio. For details, see the documentation for the previous version. + + + Deprecated in Visual Studio. They are available only for backward compatibility with earlier versions of Visual Studio. For details, see the documentation for the previous version. + + + The GUID that is used for a command when you call . Each command has a GUID and an ID associated with it. + + + The CATID for documents. + + + The CATID for generic projects — that is, projects without a specific object model. + + + The CATID for the miscellaneous files project. + + + The CATID for the miscellaneous files project item. + + + The CATID for the solution. + + + The CATID for items in the Property window when the solution node is selected in Solution Explorer. + + + Indicates that the IDE is in Debugging mode. + + + Indicates that the IDE is in Design view. + + + Indicates that the solution has no projects. + + + Indicates that the view of the integrated development environment (IDE) is full screen. + + + Indicates that a macro is being recorded. + + + Indicates that the Macro Recorder toolbar is displayed. + + + Indicates that the integrated development environment (IDE) has no solution. + + + Indicates that a solution is currently being built. + + + Indicates that the solution contains multiple projects. + + + Indicates that the solution contains only one project. + + + A binary file, opened with a binary file editor. + + + An HTML document. Can get the IHTMLDocument2 interface, also known as the Document Object Model (DOM). + + + A resource file, opened with the resource editor. + + + A text document, opened with a text editor. + + + See . + + + See . + + + See . + + + See . + + + See . + + + See . + + + See . + + + See . + + + See . + + + See . + + + Refers to the Dynamic Help window. + + + Refers to the Immediate window, used to execute commands in Debug mode. + + + See . + + + See . + + + See . + + + See . + + + The Project window, where the solution and its projects display. + + + See . + + + See . + + + See . + + + See . + + + The unique name for the Miscellaneous files project. Can be used to index the Solution.Projects object, such as: DTE.Solution.Projects.Item(vsMiscFilesProjectUniqueName). + + + A project item in the miscellaneous files folder of the solution. + + + A file in the system. + + + A folder in the system. + + + A project item type in the solution. + + + A subproject under the project. If returned by , then returns as a object. + + + Indicates that the folder in the project does not physically appear on disk. + + + A project item located in the miscellaneous files folder of the solution. + + + A collection of items in the solution items folder of the solution. + + + A miscellaneous files project. + + + A solution items project. + + + An unmodeled project. + + + The collection's property returns a GUID identifying the collection of project types that it contains. + + + The unique name for projects in the solution. Can be used to index the object's collection, such as: DTE.Solution.Projects.Item(vsProjectsKindSolution). + + + Use the view that was last used. + + + View in code editor. + + + View in debugger. + + + View in Visual Designer (forms designer). + + + View in default viewer. + + + View in text editor. + + + The Debugger window. + + + The Call Stack window. + + + The Class View window. + + + The Command window. + + + The Document Outline window. + + + The Dynamic Help window. + + + The Find Replace dialog box. + + + The Find Results 1 window. + + + The Find Results 2 window. + + + The Find Symbol dialog box. + + + The Find Symbol Results window. + + + A linked window frame. + + + The Debugger window. + + + The Macro Explorer window. + + + The Visual Studio IDE window. + + + The Object Browser window. + + + The Output window. + + + The Properties window. + + + The Resource Editor. + + + The Server Explorer. + + + The Solution Explorer. + + + The Task List window. + + + The Debugger window. + + + The Toolbox. + + + The Watch window. + + + A Web browser window hosted in Visual Studio. + + + Represents the "AddItem" wizard type. + + + Represents the "AddSubProject" wizard type. + + + Represents the "NewProject" wizard type. + + + Represents a single attribute associated with a global context or window's context in the Dynamic Help window. + + + Gets the collection containing the object supporting this property. + A collection. + + + Gets the top-level extensibility object. + A object. + + + Gets the name of the object. + A string representing the name of object. + + + Removes the attribute from its parent collection. + + + Gets a collection of values for the attribute. + An object representing a SafeArray of strings containing the values of the attribute. + + + Contains all attributes associated with a global context or window's context in the Dynamic Help window. + + + Adds an attribute name/value pair to the collection. + A object. + Required. The name of the new attribute. + Required. The value of the new attribute. + Required. A constant specifying the type of new attribute. + + + Gets the number of objects in the collection. + The number of objects in the collection. + + + Gets the top-level extensibility object. + A object. + + + Returns an enumerator for items in the collection. + An enumerator. + + + Gets the High Priority attributes collection. + A collection. + + + Returns a object that is an item of the collection. + A object. + Required. The index of the object to return. + + + Gets the immediate parent object of a collection. + An object. + + + Refresh the contents of this attribute collection. + + + Gets a constant indicating the object type. + A constant, specifying the context attribute. + + + For conditional breakpoints. Indicates a break when the condition is true, or when it has changed. Used by the property in the object and by the method in the collection. + + + Breaks when the condition has changed. + + + Breaks when the condition is true. + + + The breakpoint location type that is used by the property. + + + Breakpoint is an address. + + + Breakpoint is a data element. + + + Breakpoint is a file. + + + Breakpoint is a function. + + + There is no breakpoint. + + + Indicatesthe type or state of a breakpoint. + + + Breakpoint is at a specific point in code. + + + Breakpoint indicated a set of points in code. + + + The current state of the debugger within the development environment. is used by the property of the object. + + + Break mode specifies that the debugger is running and has stopped at a break point. + + + Design mode specifies changes in code editing. + + + Run mode specifies that the application being debugged is running. + + + Specifies the reason for most debugging events. + + + Attached to program. + + + Breakpoint encountered. + + + Switch in context. + + + Program detached. + + + Program ended. + + + Unhandled exception encountered. + + + Exception thrown. + + + Execution started. + + + Program launched. + + + No reason. + + + Execution step. + + + Debugging stopped. + + + Execution interrupted by user. + + + Specifies the action to take in the event of an exception + + + Halt execution. + + + Continue execution. + + + Perform the default action, either prompt or not. + + + Ignore the exception. + + + Specifies an action to take in a debug session. + + + Perform the default execution action + + + Start execution. + + + Continue execution, stopping at the cursor. + + + Step into the next function. + + + Step out of the current function. + + + Step over the next function + + + Stop debugging. + + + Specifies a hit count condition. + + + Hit count is equal to specified value. + + + Hit count is greater than or equal to the specified value. + + + There are multiple hit count conditions. + + + There is no hit count. + + + The object is used to interrogate and manipulate the state of the debugger and the program being debugged. + + + Gets a collection of bound breakpoints that were last simultaneously hit. + A collection. + + + Causes the given process to pause its execution so that its current state can be analyzed. + Set to true to return only when the debugger has entered break mode. Set to false to break and return immediately. See Breaking Execution for more information. + + + Gets the last breakpoint hit. + A object. + + + Gets a collection of breakpoints. + A collection. + + + Gets the current mode of the debugger within the context of the integrated development environment (IDE). + A value. + + + Sets or gets the active process. + A object. + + + Sets or gets the active program. + The active . + + + Sets or gets the current stack frame. + A object. + + + Sets or gets the current thread being debugged. + A object. + + + Gets the list of processes currently being debugged. + A collection. + + + Detaches from all attached programs. + + + Gets the top-level extensibility object. + A object. + + + Executes the specified statement. If the flag is true, then the string is interpreted as an expression, and output is sent to the Command Window. + The statement to execute. + The timeout period, in milliseconds. + The treat as expression. True if the string is to be interpreted as an expression; otherwise False. + + + Evaluates an expression based on the current stack frame. If the expression can be parsed but not evaluated, an object is returned but will not contain a valid value. + A object. + The expression text to be evaluated. + true if the auto expand rules should be used; otherwise, false. + The timeout period, in milliseconds. + + + Starts executing the program from the current statement. + Set to true if this function call should wait until either Break mode or Design mode is entered before returning. Set to false if you want this call to return immediately after causing the debugger to begin execution. Upon return, the debugger could be in Design, Break, or Run modes. See Execution Control for more information. + + + Gets or sets whether expressions are output in hexadecimal or decimal format. + true if hexadecimal format, otherwise false. + + + Gets or sets whether expressions are evaluated in hexadecimal or decimal format. + true if hexadecimal format, otherwise false. + + + Gets a list of languages that the debugger supports. + A collection. + + + Gets the last reason that a program was broken. If the program is running it returns DBG_REASON_NONE. + A value. + + + Gets the list of processes currently running on this machine. + A collection. + + + Gets the immediate parent object of a object. + A object. + + + Executes the program to the current position of the source file cursor. + Set to true if this function call should wait until either Break mode or Design mode is entered before returning. Set to false if you want this call to return immediately after causing the debugger to begin execution. Upon return the debugger could be in Design, Break, or Run modes.See Stepping for more information. + + + Sets the next instruction to be executed, according to the cursor position in the current source file. + + + Steps into the next function call, if possible. + Set to true if this function call should wait until either Break mode or Design mode is entered before returning. Set to false if you want this call to return immediately after causing the debugger to begin execution. Upon return the debugger could be in Design, Break, or Run modes. + + + Steps out of the current function. + Set to true if this function call should wait until either Break mode or Design mode is entered before returning. Set to false if you want this call to return immediately after causing the debugger to begin execution. Upon return the debugger could be in Design, Break, or Run modes. + + + Steps over the next function call. + Set to true if this function call should wait until either Break mode or Design mode is entered before returning. Set to false if you want this call to return immediately after causing the debugger to begin execution. Upon return the debugger could be in Design, Break, or Run modes. + + + Stops debugging, terminating, or detaching from all attached processes. + Set to true if the debugging session should stop only when it reaches design mode. Set to false if you intend to stop debugging, but you need to perform other tasks in the macro even before the debugger enters Design mode. + + + Terminates all processes. + + + Defines events supported by the debugger. Use this object for functionality and refer to for this object's members' documentation. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Fired whenever the current process, program, thread, or stack has been changed through the user interface or through the automation model. + + + Fired when entering break mode. + + + Fired when leaving run mode or debug mode, and when the debugger establishes design mode after debugging. + + + Fired when the debugger enters run mode. + + + Thrown before . Setting this action allows the handler to affect the development environment's user interface when the handler exits. The parameter is set initially to the value set by any prior handlers. + + + Thrown before . Setting this action allows the handler to affect the developer environment's user interface upon exiting the handler. The parameter is initially set to the value set by any prior handlers. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Represents a document in the environment open for editing. + + + Moves the focus to the current item. + + + Gets the currently active window, or the topmost window if no others are active. Returns Nothing if no windows are open. + A object. + + + Microsoft Internal Use Only. + + + Closes the open document and optionally saves it, or closes and destroys the window. + Optional. A constant that determines whether to save an item or items. + + + Gets the collection containing the object. + A collection. + + + Gets the top-level extensibility object. + A object. + + + Returns the requested Extender if it is available for this object. + An Extender. + Required. The name of the Extender to return. + + + Gets the Extender category ID (CATID) for the object. + A string GUID representing the CATID. + + + Gets a list of available Extenders for the object. + An object containing an automation-compliant array of strings. + + + Gets the full path and name of the object's file. + A string representing the full path and name of the object's file. + + + Microsoft Internal Use Only. + + + Gets a GUID string indicating the kind or type of the object. + A GUID string indicating the kind or type of object. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The text pattern. + The flags. + + + Gets the name of the . + A string representing the file name of the without the path. + + + Creates a new window in which to view the document. + A object. + + + Returns an interface or object that can be accessed at run time by name. + An object. + Optional. The type of data model. The only values used are "TextDocument" and "Document". + + + Gets the path, without file name, for the directory containing the document. + A string representing the path, without file name, for the directory containing the document. + + + Microsoft Internal Use Only. + + + Gets the object associated with the object. + A object. + + + Microsoft Internal Use Only. + + + Re-executes the last action that was undone by the method or the user. + A Boolean value indicating true if there is an undo action to redo, false if not. + + + Microsoft Internal Use Only. + true if the text was replaced, otherwise false. + The text to find. + The replacement text. + Flags from . + + + Saves the document. + A constant indicating whether or not the save was successful. + Optional. The name in which to save the document. Defaults to the path associated with this document. That is, if an empty string is passed, the document is saved with its current name. + + + Returns true if the object has not been modified since last being saved or opened. + A Boolean value indicating true (default) if the object has not been modified since last being saved or opened; false if otherwise. + + + Gets an object representing the current selection on the . + An object representing the current selection on the . + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Reverses the action last performed by the user in the document. + A Boolean value indicating true if the last action can be reversed, false if not. + + + Gets a collection containing the windows that display in the object. + A collection. + + + Provides document events. Use this object for functionality and refer to for this object's documentation. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Occurs just before a document is closed. + + + Occurs after a document is opened. + + + Occurs before a document is opened. + + + Occurs when a document is saved. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Contains all objects in the environment, each representing an open document. + + + Microsoft Internal Use Only. + The document. + The kind of document. + + + Closes all open documents in the environment and optionally saves them. + Optional. A constant representing how to react to changes made to documents. + + + Gets a value indicating the number of objects in the collection. + An integer value indicating the number of objects in the collection. + + + Gets the top-level extensibility object. + A object. + + + Returns an enumerator for items in the collection. + An enumerator. + + + Returns an indexed member of a collection. + A object. + Required. The index of the item to return. + + + Microsoft Internal Use Only. + The document. + The path of the file. + The kind of file. + Whether or not the file is read-only. + + + Gets the immediate parent object of a collection. + A object. + + + Saves all documents currently open in the environment. + + + Microsoft Internal Use Only. + + +   + + +   + + +   + + + Microsoft Internal Use Only. + + +   + + + Microsoft Internal Use Only. + + + + + + + + + Microsoft Internal Use Only. + + +   + + +   + + +   + + + Microsoft Internal Use Only. + + +   + + +   + + + Microsoft Internal Use Only. + + +   + + +   + + + Microsoft Internal Use Only. + + +   + + +   + + +   + + +   + + +   + + +   + + +   + + +   + + +   + + +   + + + Microsoft Internal Use Only. + + +   + + +   + + + The top-level object in the Visual Studio automation object model. The documentation for the type is the most complete. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + For more information on this property, refer to . + The active document. + + + For more information on this property, refer to . + The active solution projects. + + + For more information on this property, refer to . + The active window. + + + For more information on this property, refer to . + The add-ins. + + + For more information on this property, refer to . + The application. + + + For more information on this property, refer to . + The command bars. + + + For more information on this property, refer to . + The command line arguments. + + + For more information on this property, refer to . + The commands. + + + For more information on this property, refer to . + The context attributes. + + + For more information on this property, refer to . + The debugger. + + + For more information on this property, refer to . + The display mode. + + + For more information on this property, refer to . + The documents. + + + For more information on this property, refer to . + The application. + + + For more information on this property, refer to . + The edition. + + + For more information on this property, refer to . + The events. + + + For more information on this method, refer to . + The name of the command. + The command line arguments. + + + For more information on this property, refer to . + The file name. + + + For more information on this property, refer to . + The find object. + + + For more information on this property, refer to . + The full name. + + + For more information on this method, refer to . + The object. + The name of the object. + + + For more information on this property, refer to . + The global variables. + + + For more information on this property, refer to . + true if the file is open, otherwise false. + The kind of view. + The file name + + + For more information on this property, refer to . + The item operations. + + + For more information on this method, refer to . + The wizard result. + The wizard file. + The context parameters + + + For more information on this property, refer to . + The locale ID. + + + For more information on this property, refer to . + The macros. + + + For more information on this property, refer to . + The application for the macros. + + + For more information on this property, refer to . + The main window. + + + For more information on this property, refer to . + The application mode. + + + For more information on this property, refer to . + The name. + + + For more information on this property, refer to . + The object extenders. + + + For more information on this method, refer to . + The window in which the file was opened. + The kind of view. + The file name. + + + For more information on this property, refer to . + The properties. + The category. + The property page. + + + For more information on this method, refer to . + + + For more information on this property, refer to . + The registry root. + + + For more information on this method, refer to . + The path of the satellite dll. + The satellite dll path. + The name of the satellite dll. + + + For more information on this property, refer to . + The selected items. + + + For more information on this property, refer to . + The solution. + + + For more information on this property, refer to . + The source control module. + + + For more information on this property, refer to . + The status bar. + + + For more information on this property, refer to . + true if the UI is not visible, otherwise false. + + + For more information on this property, refer to . + The undo context. + + + For more information on this property, refer to . + The user control. + + + For more information on this property, refer to . + The version. + + + For more information on this property, refer to . + The window configurations. + + + For more information on this property, refer to . + The windows. + + + Provides events relating to the state of the environment. Use this object for functionality and refer to for this object's documentation. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Occurs when the mode of the development environment (build, run, or debug) is changed. + + + Occurs when the development environment is closing. + + + Occurs when the common language runtime resets, clearing all global variable data and losing all event connections. + + + Occurs when the environment has completed initializing. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Allows you to manipulate text as data in text buffers. + + + Gets the one-based character offset of the object. + The one-based character offset from the beginning of the document to the object. + + + Gets a value indicating whether or not the object is at the end of the document. + true if you are at the end of the document; otherwise, false. + + + Gets a value indicating whether or not the object is at the end of a line. + true if you are at the end of a line; otherwise, false. + + + Gets a value indicating whether or not the object is at the beginning of the document. + true if you are at the start of a document; otherwise, false. + + + Gets a value indicating whether or not the object is at the beginning of a line. + true if you are at the start of a line; otherwise, False if otherwise. + + + Changes the case of the selected text. + Required. Either a object or a number of characters. + Required. A constant indicating the case of the text. + + + Moves the edit point the specified number of characters to the left. + Optional. The number of characters to move to the left. The default is 1 character. + + + Moves the edit point the specified number of characters to the right. + Optional. The number of characters to move to the right. The default is one character. + + + Clears any unnamed bookmarks in the current text buffer line. + + + Gets the code element at the location. + A object. + Required. A constant indicating the code element with the specified kind that contains the editor location. + + + Copies the specified range of text to the clipboard. + Required. Either a object or a number of characters. + Optional. Indicates whether to append the selected text to the clipboard. The default is false. + + + Creates and returns an object at the location of the calling object. + A object. + + + Copies the specified range of text to the clipboard and deletes it from the document. + Required. Either a object or a number of characters. + Optional. Indicates whether to append the selected text to the clipboard. The default is false. + + + Deletes the specified range of text. + Required. Represents either a object or a number of characters. + + + Deletes the empty characters (white space) horizontally or vertically around the current location in the text buffer. + Optional. A constant that determines how and where to remove empty spaces. + + + Gets the number of the column number of the object. + The number of the currently displayed column containing the object. + + + Gets the top-level extensibility object. + A object. + + + Moves the edit point to the end of the document. + + + Moves the edit point to the end of the current line in the buffer. + + + Returns a value indicating whether the value of the given point object's is equal to that of the calling object. + true if has the same property value as the calling point object; otherwise, false. + Required. A object to compare to the calling point object. + + + Finds a given matching pattern in the selected text. + true if the pattern is found; otherwise, false. + Required. The text you want to find. + Optional. A constant indicating the type of search to perform. The constant value does not apply to this method because searches all text, including hidden text. + Optional. An object representing the point that is to be moved to the end of the matched pattern. + Optional. If the matched pattern is a regular expression containing tagged subexpressions, then the argument contains a collection of objects, one for each tagged subexpression. + + + Gets a string representing the text between two given lines. + The text between two given lines. + Optional. The first line number to include the text. + Required. The last line number to include the text. + + + Gets the text between the current location and the specified location in the buffer. + A string of text located between the current location and the specified location in the buffer. + Required. Either a object or a number of characters. + + + Returns whether the value of the object's property is greater than that of the given object. + true if has a smaller property value compared to the calling object's property; otherwise, false. + Required. A to compare to the calling point object. + + + Indents the selected lines by the given number of indentation levels. + Optional. A object endpoint for indentation. The default is the current line in the buffer, causing the current line in the buffer to be indented. + Optional. The number of displayed columns to indent the lines. The default value is 1. + + + Inserts the given string at the edit point's current position in the buffer. + Required. The text to insert into the text buffer. Must be a Unicode string. + + + Inserts the contents of the specified file at the current location in the buffer. + Required. The name of the file to insert into the text buffer. + + + Returns whether the value of the called object's is less than that of the given object. + A Boolean value indicating true if has a greater property value compared to the calling point object's property. + Required. A to compare to the calling point object. + + + Gets the object's line number. + The line number of the object. + + + Gets the character offset of the object. + An integer value indicating the character offset of the object. + + + Moves the edit point down the specified number of lines. + Optional. The number of lines to move the edit point. The default is 1. + + + Gets the number of characters in a line. + The number of characters in a line containing the object, excluding the new line character. + + + Moves the edit point up the specified number of lines. + Optional. The number of lines to move the edit point. The default is 1. + + + Moves the active point to the given 1-based absolute character offset. + Required. A character index from the start of the document, beginning at one. + + + Moves the document to the specified line and character offset position in that line. + Required. The line number, starting at one. may also be one of the constants from . + Required. The character index position in the line, starting at one. + + + Moves the active point to the given position. + Required. A object representing the location in which to move the character. + + + Moves to the location of the next bookmark in the document. + true if the insertion point moves to the next bookmark; otherwise, false. + + + Creates an outlining section based on an edit point and the given text point or value. + Required. Either a object or an integer representing the number of characters. + + + Fills the current line in the buffer with empty characters (white space) to the given column. + Required. The number of columns to pad, starting at one. + + + Gets the immediate parent object of the object. + A object. + + + Inserts the clipboard contents at the current location. + + + Moves the edit point to the location of the previous bookmark in the document. + A Boolean value indicating true if the edit point moves to a previous bookmark, false if not. + + + Returns a value indicating whether any of the specified range contains read-only text. + true if the selection contains read-only text; otherwise, false. + Required. Either a object or a number of characters. + + + Finds a pattern in the specified range of text and replaces it with the specified text. + true if replacement occurs successfully; otherwise, false. + Required. The endpoint of the specified range of text. The edit point and are the boundaries for replacement. + Required. The string to find. + Required. The replacement string for . + Optional. A constant indicating the type of search to perform. + Optional. If the matched pattern is a regular expression containing tagged sub-expressions, then contains a collection of objects, one for each tagged subexpression. + + + Replaces the selected text with the given text. + Required. Either a object or an integer that determines the text to replace. + Required. The text to insert. + Required. A constant representing an editor action. + + + Sets an unnamed bookmark on the current line in the buffer. + + + Formats the specified range of text based on the current language. + Required. A object representing the end of the specified range of text. + + + Moves the object to the beginning of the document. + + + Moves the edit point to the beginning of the current line in the buffer. + + + Attempts to display the text point's location. + true if the span of text fits within the current code editor; otherwise, false. + Optional. A constant that determines how the code is displayed. + Optional. The endpoint of the selected range of text to be displayed. It can be either a or an integer. + + + Removes the indent characters from the selected lines by the given number of indentation levels. + Optional. The endpoint. Defaults to the endpoint, causing the current line in the buffer to be outdented. The default value is one indentation level. + Optional. The number of display columns to indent each line. The default is 1. + + + Moves the object the specified number of words to the left. + Optional. Specifies how many words to move the edit point to the left of its current position in the buffer. + + + Moves the object the specified number of words to the right. + Optional. The number of words to move the edit point to the right of its current position in the buffer. + + + Allows access to all events in the extensibility model. Events may also be exposed from specific objects within the extensibility model. + + + Gets the object, which provides events for solution builds. + A object. + + + Gets an object providing events fired when the supplied CommandBarControl object is clicked. + A object. + Required. The CommandBar control that causes the event to fire. + + + Gets the for the specified command. + A object. + Required. The GUID for the command group. If is Null or Nothing, then returns a object representing all commands in the environment. + Required. An index into the command group for the particular command. If is Null or Nothing, then returns a object representing all commands in the group. + + + Gets the object that provides events from the debugger. + A object. + + + Gets the that provides events for the document. + A object. + Optional. Specifies a particular document to provide events for. + + + Gets the that provides events for the development environment. + A object. + + + Gets the for the Find operation. + A object. + + + Gets an interface or object that is late-bound to the object and can be accessed by name at run time. + An object. + Required. The name of the object to retrieve. + + + Gets the for the solution. + A object. + + + Gets the for the window events. + An object. + Optional. The name of an Output windowpane. If is supplied, the object only provides events for that pane. + + + Gets the for the selection. + A object. + + + Gets the object for the solution. + A object. + + + Gets the object for the solution. + A object. + + + Gets the for the development environment. + A object. + Optional. The name of the task category. If Filter is supplied, the TaskListEvents object only provides events for that category. If Filter does not supply a valid category, the property fails. + + + Gets the object for the IDE. + A object. + Optional. A object that serves as the source for the events. + + + Gets the object that provides events for windows in the development environment. + A object. + Optional. If supplied, window events occur only for the specified . + + + The object contains properties used to examine items returned by an expression evaluation. + + + Gets the collection containing the object supporting this property or contained within this code construct. + An collection. + + + If the expression represents a class or a structure, this property gets a list of member variables as an collection. + An collection. + + + Gets the top-level extensibility object. + A object. + + + Indicates whether the specified value in an expression is valid. + A Boolean value. + + + Gets the name of the object. + A string representing the object's name. + + + Gets the immediate parent object of an object. + A object. + + + Gets a constant indicating the object type. + A string constant representing the object type. + + + Sets or gets the data for the object. + A string representing the value of the object. + + + A collection of objects. + + + Gets a value indicating the number of objects in the collection. + An integer indicating the number of objects in the collection. + + + Gets the top-level extensibility object. + A object. + + + Gets an enumeration for items in a collection. + An enumerator. + + + Returns a object in a collection. + An object. + Required. The index of the object to return. + + + Gets the immediate parent object of a collection. + A object. + + + Allows access to programmatic constructs in a source file. + + + Creates a new attribute code construct and inserts the code in the correct location. + A object. + Required. The name of the new attribute. + Required. The value of the attribute, which may be a list of parameters for a parameterized property, separated by commas. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means the element should be placed at the end. + + + Creates a new class code construct and inserts the code in the correct location. + A object. + Required. The name of the class. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means the element should be placed at the end. + Optional. Default = 0. A SafeArray of fully qualified type names or objects from which the new class inherits its implementations. + Optional. Default = 0. A SafeArray of fully qualified type names or objects, each representing an interface that the new class promises to implement. + Optional. A constant. + + + Creates a new delegate code construct and inserts the code in the correct location. + A object. + Required. The name of the delegate to add. + Required. A constant indicating the data type that the function returns. This can be a object, a constant, or a fully qualified type name. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means the element should be placed at the end. + Optional. A constant. + + + Creates a new enumeration code construct and inserts the code in the correct location. + A object. + Required. The name of the enum to add. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means the element should be placed at the end. + Optional. Default = Nothing. A variant that holds a SafeArray of fully qualified type names or objects that specify the underlying type of the new enumeration. + Optional. A constant. + + + Creates a new function code construct and inserts the code in the correct location. + A object. + Required. The name of the new function. + Required. The constant indicating the type of function, such as a property-get, a method, and so forth. + Required. A constant indicating the data type that the function returns. This can be a object, a constant, or a fully qualified type name. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means the element should be placed at the end. + Optional. A constant. + + + Creates a new interface code construct and inserts the code in the correct location. + A object. + Required. The name of the new interface. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means the element should be placed at the end. + Optional. Default value is Nothing. A variant that holds a SafeArray of fully qualified type names or objects from which the new interface derives. + Optional. A constant. + + + Creates a new namespace code construct and inserts the code in the correct location. + A object. + Required. The name of the new namespace. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means the element should be placed at the end. + + + Creates a new structure code construct and inserts the code in the correct location. + A object. + Required. The name of the new structure. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means the element should be placed at the end. + Required. Default value is Nothing. A variant that holds a SafeArray of fully qualified type names or objects from which the new interface derives. + Required. Default value is Nothing. A SafeArray of fully qualified type names or objects, each representing interfaces that the new class promises to implement. + Optional. A constant. + + + Creates a new variable code construct and inserts the code in the correct location. + A object. + Required. The name of the new variable. + Required. A constant indicating the data type that the function returns. This can be a object, a constant, or a fully qualified type name. + Optional. Default = 0. The code element after which to add the new element. If the value is a , then the new element is added immediately after it.If the value is a Long data type, then indicates the element after which to add the new element.Because collections begin their count at 1, passing 0 indicates that the new element should be placed at the beginning of the collection. A value of -1 means the element should be placed at the end. + Optional. A constant. + + + Returns a code element at a specific location in a source file. + A object. + Required. A object representing the editor location for which you want a code element. + Required. A value representing the code element of the specified type that contains the editor location. + + + Gets a collection of code elements. + A collection. + + + Gets the top-level extensibility object. + A object. + + + Gets the programming language used to author the code. + A constant. + + + Gets the immediate parent object of a object. + A object. + + + Removes the specified code element from the source file. + Required. A object or the name of a code element to remove from the source code. + + + Supports general text operations in the environment for documents and files. + + + Gets or sets how to find, such as find next match, find all, replace and find, and so forth. + A constant representing the type of find action to take. + + + Gets or sets a value indicating whether the search is performed backwards from the current position. + true if search is performed backwards; otherwise, false. + + + Gets the top-level extensibility object. + A object. + + + Performs a search based on the options set for the object. + A constant. + + + Gets or sets the file extension for the files to be searched. + The file extension for the files to be searched. + + + Performs a Find or Replacement operation based on the arguments to the method, without affecting the options set for the . + A constant. + Required. A constant that indicates the search action to take. + Optional. The pattern to search for. The default is "". + Optional. A bit field indicating several aspects of the search to perform.For matching, you can supply , , or .Flags that can be turned on for files, project, and solution targets are and .Flags for the property syntax are and . If neither of these is supplied, then is matched literally. defaults to all flags turned off. + Optional. A string with which to replace the matched text when is set to or . Default value is "". + Optional. A constant that indicates the target for the search operation, such as the current document or find-in-files. + Optional. A semicolon-separated list of directories and file names to search. The default value is "". + Optional. A semicolon-separated list of file types to include in the search. Other file types encountered in the specified targets are ignored. The default value is "", meaning all files are searched. + Optional. A constant. There are two possible results lists where results can display. You can perform two searches without overwriting the results of the first search. Using , you can determine the result list in which to place the results. + + + Gets or sets the text or pattern to find. + The text or pattern to find. + + + Gets or sets a value indicating whether or not modified documents remain open after a Replace operation. + true means the modified document was kept open; false means the modified document was closed. + + + Gets or sets a value indicating whether the search is case-sensitive. + true means the search was case-sensitive; false means the search was not case-sensitive. + + + Gets or sets a value indicating whether hidden text is included in the search. + true means the search was performed in hidden text; false means the search was not performed in hidden text. + + + Gets or sets a value indicating whether the search matches whole words only. + true means the search matched entire words only; false means the search matched partial as well as entire words. + + + Gets the immediate parent object of a object. + A object. + + + Gets or sets the syntax used to specify the search pattern. + A constant representing the type of syntax used for the search pattern. + + + Gets or sets the replacement text for a replacement operation. + The text to be used in the replacement operation. + + + Gets or sets the location where the results are shown in a bulk search operation. + A constant. + + + Gets or sets a list of directories to use for a find-in-files operation. + The search paths to use for a Find-in-files operation. + + + Gets or sets a value indicating whether subfolders are included in a Search operation. + true if the search includes subfolders; otherwise, false. The default is true. + + + Gets or sets the target of the search operation, such as all open docs, files, the active document, and so forth. + A constant that indicates the target for the search operation, such as the current document or files on disk (or, find-in-files). + + + Provides events for Find-in-Files operations. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Occurs after a Find-in-files with a results list operation completes. + + + Microsoft Internal Use Only. + The event handler. + + + Contains objects that define the color, appearance, and other attributes of items. + + + Gets a value indicating the number of objects in the collection. + An integer value indicating the numbers of objects in the collection. + + + Gets an enumerator for items in the collection. + An enumerator. + + + Returns a object in a collection. + A object. + Required. The index of the object to return. + + + The object is a cache for storing data for the duration of each session of the Visual Studio environment, as well as across sessions using the property. + + + Gets the top-level extensibility object. + A object. + + + Gets the immediate parent object of a object. + An object representing the parent object. + + + Returns whether the specified variable exists. + A Boolean value indicating true if the variable exists, false if it does not. + Required. Represents the name of the variable. + + + Gets a list of all current global variable names. + An object representing all of the current global variable names. + + + The property applies to several types of objects. For the DTE.Globals object, it gets or sets whether the variable is retained by the environment and is available between sessions of the environment. For the Solution.Globals object, it gets or sets whether the variable is retained by the environment and is available between sessions of the environment and between loading and unloading of a solution. For the Project.Globals object, it gets or sets whether the variable is retained by the environment in the project file. + A Boolean value indicating whether or not a variable exists. returns true if a variable exists, otherwise returns false. + Required. Represents the name of the variable to retain. + + + Returns or sets the variable with the specified name. + An object representing the variable. + Required. A string representing the name of the variable to retrieve. + + + Represents an HTML document window. + + + Gets or sets the state (active or inactive) of the Source or the Designer tab in the HTML edit window. + A constant indicating the active tab: + + + Gets the state (active or inactive) of the Source or the Designer tab in the HTML edit window. + An object. + + + Gets the top-level extensibility object. + A object. + + + Gets the immediate parent object of a object. + A object. + + + Allows you to create named commands. You must implement this interface to handle new named commands. + + + Executes the specified named command. + The name of the command to execute. + A constant specifying the execution options. + A value passed to the command. + A value passed back to the invoker Exec method after the command executes. + + + Returns the current status (enabled, disabled, hidden, and so forth) of the specified named command. + The name of the command to check. + A constant specifying if information is returned from the check, and if so, what type of information is returned. + A specifying the current status of the command. + The text to return if is specified. + + + Implemented when constructing a custom tools options page. + + + Returns an object containing all properties contained on the specified custom Tools Options page. + The Tools Options object. + + + Occurs immediately after a custom Tools Options page is created for the first time. + The parent object of the Tools Options page, namely, a object. + + + Occurs if the user clicks the Cancel button in the Options dialog box. + + + Occurs when a user clicks the Help button in a custom ToolsOptions page. + + + Occurs when a user clicks OK in a custom Tools Options page. + + + This interface must be implemented in a component for it to act as a wizard. + + + Occurs when a wizard is launched from either the Add Item or the New Project dialog box. + A dispatch pointer to the highest level automation object for the Visual Studio environment. + The hWnd handle for the parent of the wizard's window. + An array of elements that vary depending on whether your wizard is launched from the Add Items or the New Project dialog box. See ContextParams for available values. + An array of user-defined parameters, determined by the param= statements in the wizard's .vsz file. You can use the parameters passed in this array to customize a wizard's behavior and role. + A constant specifying the results of the wizard. + + + An object that represents an IDispatch-based extender provider. + + + Returns whether or not the provider can provide an extender for the given object in the specified category. + true if the provider can provide an extender for the given object with the specified category and name. + The CATID for the extender being requested. + The name for the extender being requested. + The Extendee object. + + + Gets an extender for the given object in the specified category. + An extender. + The CATID for the extender being requested. + The name for the extender being requested. + The extendee object. + The extender site, represented by an interface. + The cookie identifying the extender. + + + Represents an extender provider object. + + + Returns whether or not the provider can provide an extender for the given object in the specified category. + A boolean value indicating true if the provider can provide an extender for the given object in the specified category and name. + The CATID for the extender being requested. + The name for the extender being requested. + The extendee object. + + + Returns an extender for the given object under the specified category. + An extender. + The CATID for the extender being requested. + The name for the extender being requested. + The extendee object. + The extender site, represented by an interface. + The cookie identifying the extender. + + + Site object for an automation extender. + + + Returns an interface or object that is late-bound to the object and that can be accessed by name at runtime. + An object. + Required. The name of the object to retrieve. Only "DTE" is supported. + + + Called by the automation extender to notify its site when it is being destroyed. If you fail to call this method, Visual Studio may crash. + Required. The cookie identifying the extender. The cookie is passed to the extender provider when it is asked for the extender. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The name of the object. + The parent of the object. + The dispatch interface. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The IUnknown object. + + + Allows an Extender to hide or override properties in the Properties window. + + + Returns whether the specified property is filtered (hidden or overridden) in the Properties window. + A constant indicating whether or not the property is hidden or overridden. + The name of the property being queried to determine whether or not it is hidden or overridden in the Properties window. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Object for performing common file actions. + + + Adds an existing item to the current project. + A object. + Required. The full path and file name of the item to be added. + + + Adds a new item to the current project. + A object. + Optional. The virtual path to the item based on either the UI resource string (defined in the Remarks section below) or occasionally as displayed in the contents of the New File dialog box in "\" format. comes from the left pane of the dialog box and from the right pane. For example, to add a new HTML file to a Visual Basic project, you would use "General\HTML Page." See the Remarks section for more information. + Optional. The display name to use for the item when it is added to a project. + + + Gets the top-level extensibility object. + A object. + + + Indicates whether or not the specified saved file is currently open in the specified view. + A Boolean value indicating true if the file is open in the specified view, false if not. + Required. The absolute path to the specified saved file. If the file has just been created but not yet saved, then returns false. + Optional. A .vsViewKind* constant representing the type of view in which the saved file is currently open. + + + Goes to the given URL. + A object. + Optional. URL of the file to open. If is not specified, the default home page is opened. The default value of is "". + Optional. A constant that determines whether the browsed content displays in an external Web browser window or in a new window. + + + Creates a file as though you invoked a New File command in the integrated development environment (IDE). + A object. + Required. The virtual path to the item based on the tree nodes from the left pane of the dialog box and the item name from the right pane. + Optional. The name you type in the Default Name box in the dialog box. This name also becomes the suggested Save As name when you save the document. + Optional. A vsViewKind* constant specifying the type of view in which to create the file. + + + Opens a file as though you invoked an Open File command in the integrated development environment (IDE). + A object. + Required. The full path and name of the file to be opened. + Optional. A vsViewKind* constant specifying the type of view in which to create the file. + + + Gets the immediate parent object of an object. + A object. + + + Gets all unsaved files and allows the user to save one or more of them. + A value describing the user's action after displaying a dialog box. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The parent properties. + The dispatch interface object. + The properties. + + + Microsoft Internal Use Only. + The text buffer. + The text stream. + The parent. + + + Microsoft Internal Use Only. + The configuration manager. + The project. + The item ID. + + + Microsoft Internal Use Only. + The document. + The doc cookie. + + + Microsoft Internal Use Only. + The globals. + The globals object. + + + Microsoft Internal Use Only. + The number of locks. + + + Microsoft Internal Use Only. + Whether or not to suppress the UI. + + + Microsoft Internal Use Only. + Whether or not there is a user control. + + + Microsoft Internal Use Only. + true if the application is executing an automation function, otherwise false. + + + Microsoft Internal Use Only. + The GUID. + The dispatch ID. + + + Microsoft Internal Use Only. + Whether or not the server is locked. + + + Microsoft Internal Use Only. + The wizard result. + The name of the wizard file. + The owner of the window handle. + The context parameters. + + + Microsoft Internal Use Only. + Whether or not the UI should be suppressed. + + + Microsoft Internal Use Only. + Whether or not there is a user control. + + + Microsoft Internal Use Only. + Whether or not there is a user control. + + + Microsoft Internal Use Only. + true if we should test for shutdown, otherwise false. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The parent. + + + Microsoft Internal Use Only. + The Globals object. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The variable name. + The data. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The name of the command bar. + The vsCommandBarType. + The parent of the command bar. + The index of the command bar. + [out] The command bar. + + + Microsoft Internal Use Only. + The name of the command. + The parent of the command bar. + The index of the command bar. + The type of the command. + [out] The command bar control. + + + Microsoft Internal Use Only. + The GUID of the package. + The GUID of the command group. + The name of the command. + The command ID of the command. + The localized name of the command. + The button text. + The tooltip information about the command. + The name of the satellite assembly. + The bitmap resource ID. + The index of the bitmap resource. + The default flags. + The UI contexts. + The GUID of the UI contexts. + + + Microsoft Internal Use Only. + The toolbar set. + The GUID of the command group. + The ID of the command group. + + + Microsoft Internal Use Only. + The command bar. + + + Microsoft Internal Use Only. + The command bar control. + + + Microsoft Internal Use Only. + The canonical name of the command. + + + Microsoft Internal Use Only. + The current canonical name of the command. + The new canonical name of the command. + The localized name of the command. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + The object contains properties used to examine the language specified by the debugger. + + + Gets the collection containing the object supporting this property or contained within this code construct. + A collection. + + + Gets the top-level extensibility object. + A object. + + + Gets the name of the object. + A string representing the name of the Language object. + + + Gets the immediate parent object of a object. + A object. + + + A collection of objects. + + + Gets a value indicating the number of objects in the collection. + An integer indicating the number of objects in the collection. + + + Gets the top-level extensibility object. + A object. + + + Gets an enumeration for items in a collection. + An enumerator. + + + Returns a object in the collection. + A object. + Required. The index or name of the object to return. + + + Gets the immediate parent object of a given collection. + A object. + + + The collection contains all windows that have been linked together in the environment. + + + Adds a window to the collection of currently linked windows. + Required. The object to add to the collection. + + + Gets a value indicating the number of objects in the collection. + An integer indicating the number of objects in the collection. + + + Gets the top-level extensibility object. + A object. + + + Gets an enumerator for items in the collection. + An enumerator. + + + Returns a object in a collection. + A object. + Required. The index of the object to return. + + + Gets the immediate parent object of a collection. + A object. + + + Removes a window from the collection of currently linked windows. + Required. The object to be removed from the collection of linked windows. + + + Represents the Visual Studio macro recorder. + + + Gets the top-level extensibility object. + A object. + + + Writes the line of code to the macro being recorded. This method should not be used from within a macro. + Required. The line of code to add to the macro. + + + Returns whether the macro recorder is currently recording actions. This property should not be used from within a macro. + A Boolean value of true indicates that the macro recorder is currently recording actions; false indicates that it is not. + + + Gets the immediate parent object of a object. + A object. + + + Pauses the macro recorder so that no code is written to the macro currently being recorded. This method should not be used from within a macro. + + + Resumes macro recording if it has been paused. This method should not be used from within a macro. + + + Object that provides access to Automation Extenders. + + + Gets the top-level extensibility object. + A object. + + + Gets all CATIDs for the current selection. + An object containing an automation-compliant array of GUID-valued strings. + + + Gets an Extender for the given object under the specified category. + An Extender. + Required. The Extender's CATID. + Required. The Extender's name. + Required. Represents the Extendee object instance. + + + Gets all Extenders for the given object under the specified category. + An object containing an automation-compliant array of strings. + Required. The specified Extender CATID. + Required. Represents the Extendee object instance. + + + Microsoft Internal Use Only. + The localized name of the extender. + The CATID of the extender. + The name of the extender. + + + Gets the immediate parent object of a object. + A object. + + + Registers an Extender Provider for a specific Extender category. + An integer-valued cookie that identifies the registration. This cookie must be passed back during . + Required. The Extender CATID. + Required. The Extender name. This is the programmatic name for the Extender and is used in the call to . + Required. The Extender Provider which implements the interface. + Optional. The localized display name for the Extender. + + + Registers an Extender Provider for an IUnknown-based Extender category. + An integer-valued cookiethat identifies the registration. This cookie must be passed back during . + Required. The Extender CATID. + Required. The Extender name. This is the programmatic name for the Extender and is used in the call to . + Required. The Extender Provider which implements the interface. + Optional. The localized display name for the Extender. + + + Unregister a previously registered Extender Provider. + Required. The cookie identifying the Extender. This is the cookie returned to the Extender Provider when it calls the method. + + + Contains the file names for a given named output group. + + + Gets the unique name used for this output group. + A string representing the name used for the output group. + + + Gets the collection containing the object supporting this property or contained within this code construct. + An collection. + + + Gets a string that represents the use of the output group. + A string representing the use of the output group. + + + Gets the name used in the user interface for this output group. + A string representing the name used in the user interface for this output group. + + + Gets the top-level extensibility object. + A object. + + + Gets the number of files associated with an . + An integer indicating the number of files associated with an . + + + Gets a list of all of the file names in the output group. + An object containing a list of all the file names in the output group. + + + Gets the list of files built in this output group. + An object containing the list of files built in this output group. + + + Contains a collection of objects. + + + Gets a value indicating the number of objects in the collection. + An integer value indicating the number of objects in the collection. + + + Gets the top-level extensibility object. + A object. + + + Gets an enumerator for items in the collection. + An enumerator. + + + Returns a object in a collection. + An object. + Required. The index of the object to return. + + + Gets the immediate parent object of an collection. + A object. + + + Represents the Output window in the integrated development environment (IDE). + + + Gets the most recently active pane in the . + An object. + + + Gets the top-level extensibility object. + A object. + + + Gets the collection for the object. + An collection. + + + Gets the immediate parent object of an object. + A Window object. + + + Provides events for changes to the Output window. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Occurs when a new Output window pane is created. + + + Occurs when all text in an Output window pane is deleted. + + + Occurs when new text is added to a pane in the Output window. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Represents a pane in the Output window. + + + Moves the focus to the current item. + + + Clears all text from the . + + + Gets the collection containing the object supporting this property. + An collection. + + + Gets the top-level extensibility object. + A object. + + + Sends all task items not yet added to the task list. + + + Gets the GUID for the object. + A string that uniquely identifies the . + + + Gets the name of the object. + A string representing the name of the object. + + + Sends a text string to the window. + Required. The text characters to send to the window. + + + Displays a string in the Output window and adds a corresponding item to the Task List. + Required. The text to add to the Output window. + Required. A constant representing the priority for the new task item. + Required. The subcategory to use for the new task item. + Required. A constant representing the icon to use for the new task item. + Required. The file name to associate with the new task item. Can be an empty string. + Required. The line of code to which the new task item relates. + Required. The description of the new task item. + Optional. Indicates whether the Output window should immediately update the Task List. The default value is True. If you are adding several items, set Force to False, and then set Force to True on the last item. + + + Gets the object for the . + A object. + + + Contains all Output window panes in the integrated development environment (IDE). + + + Creates a new Output window pane and adds it to the collection. + An object. + Required. The caption for the new pane. + + + Gets a value indicating the number of objects in the collection. + An integer value indicating the number of objects in the collection. + + + Gets the top-level extensibility object. + A object. + + + Returns an enumerator for items in the collection. + An enumerator. + + + Returns a object in a collection. + An object. + Required. The index of the object to return. + + + Gets the immediate parent object of a collection. + An object. + + + Used to examine and manipulate processes. + + + Causes the debugger to attach this process. + + + Causes the given process to pause its execution so that its current state can be analyzed. + Set to true to return only when the debugger has entered break mode. Set to false to break and return immediately. For more information, see Breaking Execution. + + + Returns the collection that contains the object that supports this property or is contained in this code construct. Returns null for an object that is not obtained from a collection. + A collection. + + + Causes the debugger to detach from this process. + Set to true if the debugging session should stop only when it reaches a break or the end. Set to false if you intend to stop debugging, but you have to perform other tasks in the macro even before the debugger breaks or ends. For more information, see Breaking Execution. + + + Gets the top-level extensibility object. + A object. + + + Gets the name of the object. + A string that represents the name of the object. + + + Gets the immediate parent object of a object. + A object. + + + Gets the Win32 ID number assigned to this process. + An integer that represents the Win32 ID number assigned to this process. + + + Gets the collection of programs that are being managed by this process. + A collection. + + + Terminates this process. + Set to true if the debugging session should stop only when it reaches a break or the end. Set to false if you intend to stop debugging, but you have to perform other tasks in the macro before the debugger breaks or ends. For more information, see Breaking Execution. + + + A collection of objects. + + + Gets a value indicating the number of objects in the collection. + An integer representing the number of objects in the collection. + + + Gets the top-level extensibility object. + A object. + + + Gets an enumeration for items in a collection. + An enumerator. + + + Returns an indexed member of a collection. + A object. + Required. The index of the item to return. + + + Gets the immediate parent object of a collection. + A object. + + + Important   Do not use this object for new applications. It has been superseded by the object, which we recommend instead. However, this object will continue to work in existing code. + + + Gets the collection that contains the object that supports this property or is contained in this code construct. Returns null for an object that is not obtained from a collection. + A collection. + + + Gets the top-level extensibility object. + A object. + + + Gets whether a program is being debugged when this property is called. + The Boolean value, true, if the program is being debugged; otherwise, false. + + + Gets the name of the object. + A string that represents the name of the Program object. + + + Gets the immediate parent object of a object. + A object. + + + Gets the process by which this program is managed. + A object. + + + Gets the collection of threads that are being managed by this program. + A collection. + + + A collection of objects. + + + Gets a value indicating the number of objects in the collection. + An integer indicating the number of objects in the + + + Gets the top-level extensibility object. + A object. + + + Returns an enumeration for items in a collection. + An enumerator. + + + Returns a object in a collection. + A object. + Required. The index of the object to return. + + + Gets the immediate parent object of a collection. + A object. + + + Represents a project in the integrated development environment (IDE). + + + Gets the object for the project. + A object. + + + Gets the collection containing the object supporting this property. + A collection. + + + Gets the object for this . + A object. + + + Removes the project from the current solution.Note that this method is not currently implemented. + + + Gets the top-level extensibility object. + A object. + + + Gets the requested Extender object if it is available for this object. + An Extender object. + Required. The name of the Extender to return. + + + Gets the Extender category ID (CATID) for the object. + A string representing the CATID of the object in GUID form. + + + Gets a list of available Extenders for the object. + An object containing an automation-compliant array of strings. + + + Microsoft Internal Use Only. + + + Gets the full path and name of the object's file. + A string representing the full path and name of the object's file. + + + Gets the object containing values that may be saved in the solution (.sln) file, the project file, or in the user's profile data. + A object. + + + Microsoft Internal Use Only. + true if dirty, otherwise false. + + + Gets a GUID string indicating the kind or type of the object. + A GUID string representing the type of object.The return value should be converted to a proper or a platform-equivalent type before doing comparisons using native GUID data types. This ensures that differences in the string formatting of the GUID across different project systems and clients (such as capitalization and use of braces) don't cause incorrect results from equality checks. + + + Gets or sets the name of the object. + A string representing the name of the object. + + + Gets an interface or object that can be accessed by name at run time. + An object. + + + Gets a object for the nested project in the host project. + A object. + + + Gets a collection for the object. + A collection. + + + Gets a collection of all properties that pertain to the object. + A collection. + + + Saves the project or project item. + Optional. The name in which to save the project or project item. + + + Saves the solution, project, or project item. + Required. The file name with which to save the solution, project, or project item. If the file exists, it is overwritten. + + + Gets or sets a value indicating whether the object has not been modified since last being saved or opened. + A Boolean value indicating true (default) if the object has not been modified since last being saved or opened; false if otherwise. + + + Gets a unique string value that allows you to differentiate between similarly named projects. + A string representing a unique value that is used to differentiate between similarly named projects. + + + Represents an item in a project. + + + Gets the collection containing the object supporting this property. + A collection. + + + Gets the object for this . + A object. + + + Gets the project hosting the . + A object. + + + Removes the item from its project and its storage. + + + Gets the associated with the item, if one exists. + A object. + + + Gets the top-level extensibility object. + A object. + + + Expands the view of Solution Explorer to show project items. + + + Gets the requested Extender if it is available for this object. + An Extender object. + Required. The name of the Extender to return. + + + Gets the Extender category ID (CATID) for the object. + A string representing the CATID of the object in GUID form. + + + Gets a list of available Extenders for the object. + An object containing an automation-compliant array of strings. + + + Gets the object for the project item. + A object. + + + Gets the number of files associated with a . + A short integer indicating the number of files associated with a . + + + Gets the full path and names of the files associated with a project item. + A string representing the full path and names of the files associated with a project item. + Required. The index of file names from 1 to for the project item. + + + Microsoft Internal Use Only. + true if the project item is dirty, otherwise false. + + + Gets a value indicating whether the project item is open in a particular view type. + A Boolean value indicating true if the project is open in the given view type; false if not. + Required. A .vsViewKind* indicating the type of view to check. + + + Gets a GUID string indicating the kind or type of the object. + A GUID string representing the type of object. The return value should be converted to a proper or a platform-equivalent type before doing comparisons using native GUID data types. This ensures that differences in the string formatting of the GUID across different project systems and clients (such as capitalization and use of braces) don't cause incorrect results from equality checks. + + + Gets or sets the name of the object. + A string representing the name of the object. + + + Gets an object that can be accessed by name at run time. + An object that can be accessed by name at run time. + + + Opens the in the specified view. + A object. + Required. A . vsViewKind indicating the type of view to use. + + + Gets a for the object. + A collection. + + + Gets a collection of all properties that pertain to the object. + A collection. + + + Removes the project item from the collection. + + + Saves the project or project item. + Optional. The name with which to save the project or project item. + + + Saves the project item. + A Boolean value indicating true if the project item was saved; otherwise, false. + Required. The file name with which to save the solution, project, or project item. If the file exists, it is overwritten. + + + Gets or sets a value indicating whether or not the object has been modified since last being saved or opened. + A Boolean value indicating true (default) if the object has not been modified since last being saved or opened; false if otherwise. + + + If the project item is the root of a subproject, then the property returns the object for the subproject. + A object. + + + Contains objects, each representing items in the project. + + + Creates a new folder in Solution Explorer. + A object. + Required. The name of the folder node in Solution Explorer. + Optional. The type of folder to add. + + + Adds one or more objects from a directory to the collection. + A object. + Required. The directory from which to add the project item. + + + Adds a project item from a file that is installed in a project directory structure. + A object. + Required. The file name of the item to add as a project item. + + + Copies a source file and adds it to the project. + A object. + Required. The path and file name of the project item to be added. + + + Creates a new project item from an existing item template file and adds it to the project. + A null reference. + Required. The full path and file name of the template project file. + Required. The file name to use for the new project item. + + + Gets the project hosting the project item or items. + A object. + + + Gets a value indicating the number of objects in the collection. + An integer value indicating the number of objects in the collection. + + + Gets the top-level extensibility object. + A object. + + + Returns an enumeration for items in a collection. + An enumerator. + + + Returns a object in a collection. + A object. + Required. The index of the object to return. + + + Gets an enumeration indicating the type of object. + A value. + + + Gets the immediate parent object of a collection. + An object. + + + The base interface from which projects derive event interfaces of their specific project items. Use this object for functionality and refer to for this object's documentation. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Occurs immediately after you add a project to a solution or an item to a project. + + + Occurs immediately after you remove a project from a solution or a project item from a project. + + + Occurs immediately after you rename a project in a solution or a project item in a project. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Represents all of the projects of a given kind. + + + Gets a value indicating the number of objects in the collection. + An integer value indicating the number of objects in the collection. + + + Gets the top-level extensibility object. + A object. + + + Gets an enumerator for items in the collection. + An enumerator. + + + Returns an indexed member of a collection. + A object. + Required. The index of the item to return. + + + Gets a GUID String indicating the kind or type of the object. + A GUID string representing the type of object. + + + Gets the immediate parent object of a collection. + A object. + + + Gets a collection of all properties that pertain to the collection. + A collection. + + + The base interface from which the various projects derive the events that are associated with their specific project interfaces. Use this object for functionality, and refer to for this object's documentation. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. +   + + + Microsoft Internal Use Only. +   + + + Microsoft Internal Use Only. +   + + + Occurs immediately after you add a project to a solution or an item to a project. + + + Occurs immediately after you remove a project from a solution or a project item from a project. + + + Occurs immediately after you rename a project in a solution or a project item in a project. + + + Microsoft Internal Use Only. +   + + + Microsoft Internal Use Only. +   + + + Microsoft Internal Use Only. +   + + + Contains all of the properties of a given object that are contained in a generic collection of properties. + + + Microsoft Internal Use Only. + + + Gets a value indicating the number of objects in the collection. + An integer value indicating the number of objects in the collection. + + + Gets the top-level extensibility object. + A object. + + + Gets an enumeration for items in a collection. + An enumerator. + + + Returns an indexed member of a collection. + A object. + Required. The index of the object to return. + + + Gets the immediate parent object of a collection. + An object. + + + Represents one property in a generic collection of properties for a given object. + + + Microsoft Internal Use Only. + + + Gets the containing the object supporting this property. + A collection. + + + Gets the top-level extensibility object. + A object. + + + Returns one element of a list. + An object. + Required. The index of the item to display. + Optional. The index of the item to display. Reserved for future use. + Optional. The index of the item to display. Reserved for future use. + Optional. The index of the item to display. Reserved for future use. + + + Setter function to set properties values. + An object representing a value to set for a property + + + Gets the name of the object. + A string value representing the name of the object. + + + Gets the number of indices required to access the value. + A short integer representing the number of indices required to access the value. + + + Sets or gets the object supporting the object. + An object representing the value of the object. + + + Microsoft Internal Use Only. + + + Gets or sets the value of the property returned by the object. + An object. + + + Represents selected project(s) or project item(s) in the Visual Studio integrated development environment (IDE). + + + Gets the collection containing the object supporting this. + A collection. + + + Gets the top-level extensibility object. + A object. + + + Microsoft Internal Use Only. +   + + + Microsoft Internal Use Only. + + + Gets the name of the object. + A string representing the name of the object. + + + Gets the object associated with the object. + A object. + + + Gets the object associated with the given object. + A object. + + + Contains objects, which represent selected projects or project items. + + + Gets a value indicating the number of objects in the collection. + An integer value representing the number of objects in the collection. + + + Gets the top-level extensibility object. + A object. + + + Gets an enumeration for items in a collection. + An enumerator. + + + Returns a object in the collection. + A object. + Required. The index or name of the selected item to return. + + + Gets whether or not the current selection includes multiple items. + A Boolean value indicating True if the selection contains multiple items, False if not. + + + Gets the immediate parent object of a collection. + A object. + + + Gets a object that represents the designer hosting the selected item(s). + A object. + + + Represents the selection context with objects that model the selection below the project item level. + + + Gets a value indicating the number of objects in the collection. + An integer. + + + Gets the top-level extensibility object. + A object. + + + Gets an enumeration for items in a collection. + An enumerator. + + + Returns an object in the collection. + An object. + Required. The index of the object to return. + + + Gets the immediate parent object of a object. + A collection. + + + Provides events for changes to a selection. Use this object for functionality, and refer to for this object's documentation. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Occurs after the selection model changes. + + + Microsoft Internal Use Only. + The event handler. + + + Represents all projects and solution-wide properties in the integrated development environment (IDE). Use this object for functionality and refer to for documentation. + + + Represents the root of the build automation model at the solution level. + + + Gets the currently active object. + A object. + + + Causes the active solution configuration to begin building. + Optional. Determines whether retains control until the build operation is complete. Default value is false. + + + Gets a collection that allows you to specify which projects depend on which other projects. + A collection. + + + Builds the specified project and its dependencies in the context of the specified solution configuration. + Required. The name of the new solution configuration that provides the context in which to build the project. + Required. The project to build. + Optional. Determines whether to wait for the build to complete. If true, then waits, otherwise, no. + + + Gets whether a build has ever been started in the current environment session, whether a build is currently in progress, or whether a build has been completed. + A value representing the status of the build operation. + + + Deletes all compiler-generated support files for marked projects. + Optional. Determines whether retains control until the build operation is complete. Default value is false. + + + Starts debugging the solution. + + + Causes each project in the active solution configuration that is marked for deployment to deploy. + Optional. Determines whether retains control until the deployment operation is complete. Default value is false. + + + Gets the top-level extensibility object. + A object. + + + Gets the number of projects that failed to build. + The number of projects that failed to build. + + + Gets the immediate parent object of a object. + A object. + + + Causes the active solution configuration to execute. + + + Gets a collection of object. + A collection. + + + Gets or sets the names of projects that are entry points for the application. + An object containing the names of projects that are the entry points for the application. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The addins. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The number of solutions. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The DTE object. + + + Microsoft Internal Use Only. + The extender. + The name of the extender. + + + Microsoft Internal Use Only. + The CATID of the extender. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Represents information about a particular way to build the solution. + + + Moves the focus to the current item. + + + Gets the collection containing the object supporting this property. + A collections. + + + Removes the object from the collection. + + + Gets the top-level extensibility object. + A object. + + + Gets or sets the name of the object. + The name of the object. + + + Gets a collection of objects. + A collection. + + + Contains all of the in the solution. + + + Creates a new solution configuration based on an existing one. + A object. + Required. The name of the new solution configuration. + Required. A object on which to base the new solution configuration. + Required. True if the new solution configuration should be propagated, False if not. If is set to True, then the newly added solution configuration will be automatically added to all of the projects under that solution, as well as to the solution itself. + + + Gets a value indicating the number of objects in the collection. + An integer value indicating the number of objects in the collection. + + + Gets the top-level extensibility object. + A object. + + + Gets an enumeration for items in a collection. + An enumerator. + + + Returns a object in a collection. + A object. + + + Gets the immediate parent object of a object. + A object. + + + Represents all projects in the solution, some of which will be built, and the project configuration and platform that will have context when you select a particular object. + + + Returns the collection containing the object supporting this property. + A collection. + + + Sets or gets the project configuration name that provides context when this solution context is selected. + A string representing the project configuration name that provides context when this solution context is selected. + + + Gets the top-level extensibility object. + A object. + + + Gets the name of the platform supported by this assignment. + A string representing the platform name supported by this assignment. + + + Gets the unique name of the project for which this object provides context. + A string representing the unique name of the project for which this object provides context. + + + Sets or returns whether the current project is built when the solution configuration associated with this is selected. + A Boolean value indicating true if the project should be built, false if not. + + + Sets or returns whether the current project is deployed when the solution configuration associated with this is selected. + A Boolean value indicating false if the project does not support being built. + + + Contains all of the objects for a solution configuration. + + + Gets a value indicating the number of objects in the collection. + An integer value indicating the number of objects in the collection. + + + Gets the top-level extensibility object. + A object. + + + Gets an enumeration for items in a collection. + An enumerator. + + + Returns a object in a collection. + A object. + + + Returns the immediate parent object of a collection. + A object. + + + Provides events for changes to a solution. Use this object for functionality and refer to for this object's documentation. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Occurs immediately after closing a solution. + + + Occurs immediately before closing a solution. + + + Occurs immediately after opening a solution or project. + + + Occurs immediately after adding a project to the solution. + + + Occurs after you remove a project from the solution. + + + Occurs after you rename a project in the solution. + + + Occurs before the . + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Occurs after you rename a solution. + + + Used to interact with current source control system. + + + Checks the specified item out of source control. + A Boolean value indicating true if the item was successfully checked out; otherwise, false. + The full path to the file to check out. + + + Checks the specified items out of source control. + A Boolean value indicating true if the items were successfully checked out; otherwise, false. + An array of strings that identify the items to be checked out. + + + Gets the top-level extensibility object. + A object. + + + Excludes the specified item from the source control project. + The name of the project file that references the item. + The name of the item. + + + Excludes the specified items from the specified project. + The name of the project file that references the files to be excluded. + An array of strings that identifies the items to be excluded. + + + Retrieves a Boolean value that indicates whether the specified item is checked out. + A Boolean value indicating true if the specified file is checked out; otherwise, false. + The name of the file to check for checked-out status. + + + Retrieves a Boolean value that indicates whether the specified item is under source control. + A Boolean value indicating true if the item is under source control; otherwise false. + The name of the file. + + + Gets the immediate parent object of a object. + A object. + + + Used to examine and manipulate stack frames. A stack frame is essentially the same thing as a function call. + + + Gets a collection of expressions that represent the arguments passed to this frame. + An collection. + + + Gets the collection that contains the object that supports this property or is contained in this code construct. Returns null for an object that is not obtained from a collection. + A collection. + + + Gets the top-level extensibility object. + A object. + + + Gets the function name of this stack frame. + The function name of this stack frame. + + + Gets the programming language that is associated with the stack frame. + A constant. + + + Gets a collection of expressions that represent the locals that are currently known by this frame. + An collection. + + + Gets the module name for this stack frame. A module is a group of functions. + A string that represents a module name for this stack frame. + + + Gets the immediate parent object of a object. + A object. + + + Gets a string that contains the return type for the stack property. + A string that containing the return type for the stack property. + + + A collection of objects. + + + Gets a value indicating the number of objects in the collection. + An integer value indicating the number of objects in the collection. + + + Gets the top-level extensibility object. + A object. + + + Gets an enumeration for items in a collection. + An enumerator. + + + Returns a object in a collection. + A object. + Required. The index of the object to return. + + + Gets the immediate parent object of a collection. + A object. + + + Represents the Status Bar in the Visual Studio integrated development environment (IDE). + + + Displays an animated picture in the . + Required. Indicates whether to turn the animation on (True) or off (False). + Required. A constant indicating an animated icon to display.Alternatively, can also take an IPicture or IPictureDisp which is a bitmap 16 pixels high and a multiple of 16 pixels wide. To turn off the custom animation, you must pass the same exact IPicture or IPictureDisp. + + + Clears all text from the . + + + Gets the top-level extensibility object. + A object. + + + Toggles highlighting of text within the . + Required. Indicates whether text in the is highlighted. True means the text is highlighted. + + + Gets the immediate parent object of a object. + A object. + + + Creates, modifies, and clears the meter control inside the . + Required. Indicates whether the meter is displayed. If is set to False, the meter is turned off. Otherwise, the meter is displayed. + Optional. The label to display on the meter control. + Optional. The number of steps of the operation that have completed. + Optional. The total number of steps in the operation. + + + Sets the text column and character indicators in the . + Required. The line number to display in the . + Required. The column number to display in the . + Required. The character position number to display in the . + + + Sets the x, y, width, and height coordinate indicators in the . + Required. The x-coordinate number to display in the . + Required. The y-coordinate number to display in the . + Required. The width number to display in the . + Required. The height number to display in the . + + + Determines whether the shows text updates. + A Boolean value indicating whether the shows text updates. + Required. Indicates whether to show text updates. + + + Sets or gets the selected text. + A string representing the selected text. + + + The object represents a task item in the Task List window. + + + Gets a string representing the category of the task item. + A string representing the category of the task item. + + + Sets or gets whether a task item in the Task List window has a check in the check box column. + A Boolean value indicating true if the task item is checked, false if not. + + + Returns the collection containing the object supporting this property. + A collection. + + + Removes the task item from the collection. + + + Sets or gets a string that represents the description for the object. + A string representing the description for the object. + + + Gets whether the task item is currently visible in the Task List window. + A Boolean value indicating true if the item is visible, false if not. + + + Gets the top-level extensibility object. + A object. + + + Sets or gets a string representing the file name that was passed to the Task List window when the task item was created. + A string representing the file name that was passed to the Task List window when the task item was created. + + + Returns whether a given column of a task item can be edited. + A Boolean value indicating true if the column can be edited, false if not. + A constant indicating the column for the task item. + + + Sets or gets the line number of the object. + An integer indicating the line number of the object. + + + Requests that the task item navigate to its location and display it, if that is meaningful to the task. + + + Sets or gets a constant that indicates the priority of the task item. + A constant. + + + Causes this item to become active in the integrated development environment (IDE). + + + Gets a string representing the task item's subcategory. + A string representing the task item's subcategory. + + + The collection contains all of the tasks in the Task List window. + + + Adds a new task item to the . + A object. + Required. Represents the category name of the task item. + Required. Represents the subcategory name of the task item. + Required. Describes the task item. + Optional. A constant denoting the priority of the task item (high, medium, or low). If the value is , an exclamation point icon is displayed in the first column of the Task List. If the value is , nothing is displayed. If the value is , a down arrow icon is displayed. + Optional. Determines the type of icon that represents the new task item. The setting must be either or an IPictureDisp. + Optional. Indicates whether or not you want the task item to provide a checkbox that users can check to indicate the task is complete. The default value is false. + Optional. Indicates the file or path associated with the new task item. The default value is an empty string (""), and if this is used, () returns false. The file name can be a full path name, a relative path name, or simply a file name. Note that associating a file or path with an item does not necessarily mean that it will perform any actions. + Optional. Indicates the line in the source code associated with the new task item. The default value is 0, and if this is used, () returns false. Note that associating a line number with an item does not necessarily mean that it will perform any actions. + Optional. Indicates whether a user can delete the new task item by pressing DELETE when the item is selected in the environment. The default value is true. + Optional. Indicates whether a new item is immediately visible in the Task List. When is set to True, the Task List is updated immediately after Add is called. When is set to false, the Task List is updated later after all updates are made. A false setting is used primarily to enhance performance when you are adding a large number of items at a time to the Task List. The default value is true. + + + Gets a value indicating the number of objects in the collection. + The number of objects in the collection. + + + Gets the top-level extensibility object. + A object. + + + Sends all task items not yet added to the task list. + + + Gets an enumeration for items in a collection. + An enumerator. + + + Returns a object in a collection. + A object. + Required. The index of the object to return. + + + Gets the immediate parent object of a collection. + A object. + + + The object represents the items in the Task List window in the Visual Studio integrated development environment (IDE). + + + Gets the default string for adding tasks to the Task List window. + The default string for adding tasks to the Task List window. + + + Gets the top-level extensibility object. + A object. + + + Gets the immediate parent object of a object. + A object. + + + Gets a collection of all of the items currently selected in the Task List. + An object containing a collection of all of the currently selected items. + + + Gets a collection of all tasks currently in the Task List window in the indicated categories. + A collection. + + + Provides events for changes made to the Task List. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Occurs when a new item is added to the Task List. + + + Occurs when an item in the Task List is modified. + + + Occurs immediately before you navigate to the source of an item in the Task List. + + + Occurs when a task is removed from the Task List. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The name of the file. + The line at which to start. + + + Microsoft Internal Use Only. + The string. + The line from which to start. + + + Microsoft Internal Use Only. + The number of lines + + + Microsoft Internal Use Only. + The line from which to start. + The number of lines. + + + Microsoft Internal Use Only. + The DTE object. + + + Microsoft Internal Use Only. + true if the find operation found the string, otherwise false. + The string to find. + The line from which to start. + The column from which to start. + The line at which to stop. + The column at which to stop. + true if the find operation should match on a word, otherwise false. + true if the find operation should match the case of the target, otherwise false. + true if the find operation should match the target pattern, otherwise false. + + + Microsoft Internal Use Only. + A string containing the specified lines. + The first line. + The number of lines. + + + Microsoft Internal Use Only. + The parent window. + + + Represents a text file open in the editor. + + + Removes all unnamed bookmarks in the text document. + + + Creates an object at the specified location and returns it. The default location is the beginning of the document. + A object. + Optional. A object to copy. If a value is supplied to , then the new point is at the same Line and as . + + + Gets the top-level extensibility object. + A object. + + + Gets a object that is the location of the end of the document. + A object. + + + Microsoft Internal Use Only. + The size of the indent. + + + Microsoft Internal Use Only. + A vsCMLanguage constant. + + + Indicates whether or not the indicated text was found in the text document and creates unnamed bookmarks wherever matching text is found. + A Boolean value true if the marked text was found in the text document, otherwise returns false. + Required. The text pattern to find. + Optional. A constant that specifies the search text options. + + + Gets the immediate parent object of a object. + A object. + + + Microsoft Internal Use Only. + + + Replaces matching text throughout an entire text document. + A Boolean value. + Required. The string to find. + Required. The text to replace each occurrence of . + Optional. A constant indicating the behavior of , such as how to search, where to begin the search, whether to search forward or backward, and whether the search is case-sensitive. + Optional. A collection. If the matched text pattern is a regular expression and contains tagged subexpressions, then contains a collection of objects, one for each tagged subexpression. + + + Microsoft Internal Use Only. + A Boolean value. + The text to find. + The text with which to replace the found text. + The find options. + + + Gets an object representing the current selection on the object. + A object. + + + Gets the object representing the beginning of the text document, or the first displayed character of the pane. + A object. + + + Microsoft Internal Use Only. + The tab size. + + + Microsoft Internal Use Only. + A object. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Provides events for changes made in the Text/Code Editor. Use this interface for functionality and refer to for this object's documentation. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Occurs when changes are made to a line in the Text/Code Editor that moves the insertion point. + + + Microsoft Internal Use Only. + The event handler. + + + Represents a pane within a text editor window. + + + Moves the focus to the current item. + + + Gets the collection containing the object supporting this property. + A collection. + + + Gets the top-level extensibility object. + A object. + + + Gets the height of the text pane in character units. + The height of the text pane in character units. + + + Returns a value indicating whether the character or specified characters are visible in the text pane. + true if the point is visible; otherwise, false. + Required. A location used to determine if a character is visible. Since a is situated between two characters, the default interpretation (that is, when no value is given for the argument) is the first character immediately to the right of the text point. If the character after the text point is visible, then the is visible as well. + Optional. Another point that works with the first argument to indicate a range of text. determines whether or not this range of text is visible. can also be set to a number of characters that follow to indicate the range of text.If a value is not supplied to the argument, checks for the visibility of the character immediately to the right of , because has a default value of 1. + + + Gets an object representing the current selection on the object. + A object. + + + Gets the object representing the first displayed character of the pane. + A object. + + + Adjusts the location of the view in the text buffer so that the indicated range of text is shown in the text pane, if possible. You can control where in the pane the text displays. + true if the text can be displayed; otherwise, false. + Required. The location you want to attempt to show. + Required. A constant indicating how to display the text. + Optional. A variant representing the end of a range of text to show. If is a number of characters, the characters follow . If is a point before , then it will be at the top of the text pane if is set to .If is set to , and the number of lines in the selected text is greater than the height of the pane, then the top line of the selected text is placed at the top of the pane. + + + Gets the width of the pane in character units. + The width of the pane in character units. + + + Gets the object that contains the pane. + A object. + + + Contains all of the objects in a text editor window. + + + Gets a value indicating the number of objects in the collection. + An integer value indicating the number of objects in the collection. + + + Gets the top-level extensibility object. + A object. + + + Gets an enumeration for items in a collection. + An enumerator. + + + Returns a object in a collection. + A object. + Required. The index of the object to return. + + + Gets the immediate parent object of a collection. + A object. + + + Represents a location of text in a text document. + + + Gets the one-based character offset from the beginning of the document to the object. + An integer value indicating the one-based character offset from the beginning of the document to the object. + + + Gets whether the object is at the end of the document. + A Boolean value indicating true if you are at the end of the document; false if otherwise. + + + Gets whether or not object is at the end of a line. + A Boolean value indicating true if you are at the end of a line; false if otherwise. + + + Gets whether or not the object is at the beginning of the document. + A Boolean true if you are at the start of a document; false if otherwise. + + + Gets whether or not the object is at the beginning of a line. + A Boolean value indicating True if you are at the start of a line; False if otherwise. + + + Returns the code element at the location. + A object. + Required. A constant indicating the code element with the specified kind that contains the editor location. + + + Creates and returns an object at the location of the calling object. + An object. + + + Gets the number of the current displayed column containing the object. + An integer value indicating the number of the current displayed column containing the object. + + + Gets the top-level extensibility object. + A object. + + + Returns whether the value of the given point object's property is equal to that of the calling object. + A Boolean value indicating true if has the same property value as the calling point object. + Required. A object to compare to the calling point object. + + + Indicates whether or not the value of the calling object's property is greater than that of the given point object. + A Boolean value indicating true if has a smaller property value compared to the calling point object's property. + Required. A object to compare to the calling point object. + + + Indicates whether or not the value of the called object's property is less than that of the given object. + A Boolean value indicating true if has a greater property value compared to the calling point object's property. + Required. A to compare to the calling point object. + + + Gets the line number of the object. + An integer value indicating the line number of the object. + + + Gets the character offset of the object. + An integer value indicating the character offset of the object. + + + Gets the number of characters in a line containing the object, excluding the new line character. + An integer value indicating the number of characters in a line containing the object, excluding the new line character. + + + Gets the immediate parent object of a object. + A object. + + + Attempts to display the text point's location. + A Boolean value indicating true if the span of text fits within the current code editor, false if not. + Optional. A constant that determines how the code is displayed. + Optional. The endpoint of the selected range of text to be displayed. It can be either a or an integer. + + + Represents a single, contiguous section of text in a text document. + + + Gets the collection containing the object supporting this property. + A collection. + + + Gets the top-level extensibility object. + A object. + + + Gets an that is the location of the end of the range. + A object. + + + Gets the object representing the beginning of the text document, or the first displayed character of the pane. + A object. + + + Contains a object for each of the tagged subexpressions from a search pattern. is also used to find where a box selection intersects each line of text. + + + Gets a value indicating the number of objects in the collection. + An integer value indicating the number of objects in the collection. + + + Gets the top-level extensibility object. + A object. + + + Gets an enumeration for items in a collection. + An enumerator. + + + Returns a object in a collection. + A object. + Required. The index of the object to return. + + + Gets the immediate parent object of a collection. + A object. + + + Provides access to view-based editing operations and selected text. + + + Gets the current endpoint of the selection. + A object. + + + Microsoft Internal Use Only. + The anchor column + + + Gets the origin point of the selection. + A object. + + + Microsoft Internal Use Only. + The number of spaces. + + + Microsoft Internal Use Only. + The bottom line. + + + Gets the point at the end of the selection. + A object. + + + Microsoft Internal Use Only. + + + Changes the case of the text selection. + Required. A constant representing the text to insert. + + + Moves the object the specified number of characters to the left. + Optional. Determines whether the moved text is collapsed or not. The default is False. + Optional. Represents the number of characters to move to the left. The default is 1. + + + Moves the object the specified number of characters to the right. + Optional. Determines whether the moved text is collapsed or not. The default is false. + Optional. Represents the number of characters to move to the right. The default is 1. + + + Clears any unnamed bookmarks in the current text buffer line. + + + Collapses the text selection to the active point. + + + Copies the text selection to the clipboard. + + + Microsoft Internal Use Only. + The current column. + + + Microsoft Internal Use Only. + The current line. + + + Copies the text selection to the clipboard and deletes it from its original location. + + + Deletes the text selection. + Optional. Represents the number of characters to delete. + + + Deletes a specified number of characters to the left of the active point. + Optional. Represents the number of characters to delete. + + + Deletes the empty characters (white space) horizontally or vertically around the current location in the text buffer. + Optional. A constant that determines how and where to remove empty spaces. + + + Inserts text, overwriting the existing text. + Required. Represents the text to insert. + + + Gets the top-level extensibility object. + A object. + + + Moves the object to the end of the document. + Optional. Determines whether the moved text is collapsed or not. The default is false. + + + Moves the object to the end of the current line. + Optional. Determines whether the moved text is collapsed or not. The default is false. + + + Searches for the given pattern from the active point to the end of the document. + A Boolean value indicating true if the pattern is found, false if not. + Required. The text to find. + One of the values. + Optional. If the matched pattern is a regular expression containing tagged subexpressions, then the argument contains a collection of objects, one for each tagged subexpression. + + + Searches for the given text from the active point to the end of the document. + A Boolean value indicating true if the text is found, false if not. + Required. The text to find. + Optional. A constant indicating the search options to use. + + + Moves to the beginning of the indicated line and selects the line if requested. + Required. The line number to go to, beginning at one. + Optional. Indicates whether the target line should be selected. The default is false. + + + Indents the selected lines by the given number of indentation levels. + Optional. The number of display indent levels to indent each line in the text selection. The default is 1. + + + Inserts the given string at the current insertion point. + The text to insert. + One of the values indicating how to insert the text. + + + Inserts the contents of the specified file at the current location in the buffer. + Required. The name of the file to insert into the text buffer. + + + Gets whether the active point is equal to the bottom point. + A Boolean value indicating True if the text selection's active end is at a greater absolute character offset than the anchor in the text document, False if not. + + + Gets whether the anchor point is equal to the active point. + A Boolean value indicating True if the anchor point is equal to the active point, False if not. + + + Moves the insertion point of the text selection down the specified number of lines. + Optional. Determines whether the line in which the insertion point is moved is highlighted. The default is false. + Optional. Indicates how many lines down to move the insertion point. The default value is 1. + + + Moves the insertion point of the text selection up the specified number of lines. + Optional. Determines whether the line in which the insertion point is moved is highlighted. The default is false. + Optional. Indicates how many lines up to move the insertion point. The default is 1. + + + Sets or gets a value determining whether dragging the mouse selects in stream or block mode. + A constant. + + + Microsoft Internal Use Only. + The line number. + The column number. + true if the move is extended, otherwise false. + + + Moves the active point to the given 1-based absolute character offset. + Required. A character index from the start of the document, starting at one + Optional. Default = false. A Boolean value to extend the current selection. If is true, then the active end of the selection moves to the location while the anchor end remains where it is. Otherwise, both ends are moved to the specified location. This argument applies only to the object. + + + Moves the active point to the indicated display column. + Required. A constant representing the line offset, starting at one, from the beginning of the buffer. + Required. Represents the virtual display column, starting at one, that is the new column location. + Optional. Determines whether the moved text is collapsed or not. The default is false. + + + Moves the active point to the given position. + Required. The line number to move to, beginning at one. may also be one of the constants from . + Required. The character index position in the line, starting at one. + Optional. Default = false. A Boolean value to extend the current selection. If is true, then the active end of the selection moves to the location, while the anchor end remains where it is. Otherwise, both ends are moved to the specified location. This argument applies only to the object. + + + Moves the active point to the given position. + Required. The location in which to move the character. + Optional. Default = false. Determines whether to extend the current selection. If is true, then the active end of the selection moves to the location, while the anchor end remains where it is. Otherwise, both ends are moved to the specified location. This argument applies only to the object. + + + Inserts a line break character at the active point. + Optional. Represents the number of NewLine characters to insert. + + + Moves to the location of the next bookmark in the document. + A Boolean value indicating true if the insertion point moves to the next bookmark, false if otherwise. + + + Creates an outlining section based on the current selection. + + + Fills the current line in the buffer with empty characters (white space) to the given column. + Required. The number of columns to pad, starting at one. + + + Moves the active point a specified number of pages down in the document, scrolling the view. + Optional. Determines whether the moved text is collapsed or not. The default is false. + Optional. Represents the number of pages to move down. The default value is 1. + + + Moves the active point a specified number of pages up in the document, scrolling the view. + Optional. Determines whether the moved text is collapsed or not. The default is false. + Optional. Represents the number of pages to move up. The default value is 1. + + + Gets the immediate parent object of a object. + A object. + + + Inserts the clipboard contents at the current location. + + + Moves the text selection to the location of the previous bookmark in the document. + A Boolean true if the text selection moves to a previous bookmark, false if not. + + + Replaces matching text throughout an entire text document. + A Boolean value. + Required. The string to find. + Required. The text to replace each occurrence of . + Optional. A constant indicating the behavior of , such as how to search, where to begin the search, whether to search forward or backward, and the case sensitivity. + Optional. A collection. If the matched text pattern is a regular expression and contains tagged subexpressions, then contains a collection of objects, one for each tagged subexpression. + + + Microsoft Internal Use Only. + true if the text was replaced, otherwise false. + The pattern to find. + The string with which to replace the found text. + The find flags. + + + Selects the entire document. + + + Selects the line containing the active point. + + + Sets an unnamed bookmark on the current line in the buffer. + + + Formats the selected lines of text based on the current language. + + + Moves the insertion point to the beginning of the document. + Optional. Determines whether the text between the current location of the insertion point and the beginning of the document is highlighted or not. The default value is false. + + + Moves the object to the beginning of the current line. + Optional. A constant representing where the line starts. + Optional. Determines whether the moved text is collapsed or not. The default is false. + + + Exchanges the position of the active and the anchor points. + + + Converts spaces to tabs in the selection according to your tab settings. + + + Sets or gets the text selection. + A string representing the text selection. + + + Gets the text pane that contains the text selection. + A object. + + + Gets a collection with one object for each line or partial line in the selection. + A collection. + + + Microsoft Internal Use Only. + The top line. + + + Gets the top end of the selection. + A object. + + + Removes indents from the text selection by the number of indentation levels given. + Optional. The number of display indent levels to remove from each line in the text selection. The default is 1. + + + Converts tabs to spaces in the selection according to the user's tab settings. + + + Moves the text selection left the specified number of words. + Optional. Determines whether the moved text is collapsed or not. The default is false. + Optional. Represents the number of words to move left. The default value is 1. + + + Moves the text selection right the specified number of words. + Optional. Determines whether the moved text is collapsed or not. The default is false. + Optional. Represents the number of words to move right. The default value is 1. + + + Represents a window containing a text document. + + + Gets the most recently active pane in the Text window. + A object. + + + Gets the top-level extensibility object. + A object. + + + Gets the collection of panes in the object. + A collection. + + + Gets the immediate parent object of a object. + A object. + + + Gets an object representing the current selection on the object. + A object. + + + Used to examine and manipulate threads. + + + Gets the collection that contains the object that supports this property or that is contained in this code construct. Returns null for an object that is not obtained from a collection. + A collection. + + + Gets the top-level extensibility object. + A object. + + + Stops the thread from executing. + + + Gets the thread ID. + An integer that represents the thread ID. + + + Gets whether the referenced thread is still alive. + A Boolean value. + + + Gets whether the thread is frozen by the debugger. + A Boolean value of true if the thread is frozen by the debugger; otherwise, false. + + + Gets the address at which the thread was executing code when the process was stopped for debugging. + A string value that represents the address at which the thread was executing code whenthe process was stopped for debugging. + + + Gets the name of the object. + A string that represents the name of the object. + + + Gets the immediate parent object of a object. + A object. + + + Gets the scheduling priority of the thread. + A string value. + + + Deprecated. Do not use. + + + Gets the collection of stack frames through which this thread is executing. + A collection. + + + Gets the number of times this thread has been suspended by the debugger. + An integer that represents the number of times this thread has been suspended by the debugger. + + + Enables the thread to execute. + + + A collection of objects. + + + Gets a value indicating the number of objects in the collection. + An integer value indicating the number of objects in the collection. + + + Gets the top-level extensibility object. + A object. + + + Gets an enumeration for items in a collection. + An enumerator. + + + Returns a object in a collection. + A object. + Required. The index of the object to return. + + + Gets the immediate parent object of a collection. + A object. + + + Represents the ToolBox in the integrated development environment (IDE). + + + Gets the currently selected item in the ToolBox. + A object. + + + Gets the top-level extensibility object. + A object. + + + Gets the immediate parent object of a object. + A object. + + + Gets the collection of all tabs in the ToolBox. + A collection. + + + Represents an item in the ToolBox. + + + Gets the collection containing the object supporting this property. + A collection. + + + Removes the object from the collection. + + + Gets the top-level extensibility object. + A object. + + + Gets or sets the name of the object. + The name of the object. + + + Causes this item to become active in the integrated development environment (IDE). + + + Contains all items in a ToolBox tab. + + + Creates a new item and adds it to the ToolBox. + A object. + Required. A string representing the caption of the new item. + Required. A variant representing the string, control, or other item to be added to the ToolBox. + Optional. A constant indicating the format of the new item. + + + Gets a value indicating the number of objects in the collection. + An integer value indicating the number of objects in the collection. + + + Gets the top-level extensibility object. + A object. + + + Gets an enumerator for items in the collection. + An enumerator. + + + Returns a object in a collection. + A object. + Required. The index of the object to return. + + + Gets the immediate parent object of a object. + A object. + + + Gets the item currently selected in the tab of the ToolBox, if any exist. + A object. + + + Represents a tab in the ToolBox, along with any objects the tab contains. + + + Moves the focus to the current item. + + + Gets the collection containing the object supporting this property. + A collection. + + + Removes the from a collection. + + + Gets the top-level extensibility object. + A object. + + + Gets or sets a value indicating whether items in a particular ToolBox tab display in List view or Icon view format. + true if the ToolBox tab is in List view; otherwise, false. + + + Gets or sets the name of the object. + The name of the object. + + + Gets the collection of associated with a . + A collection. + + + Contains all tabs in the Toolbox. + + + Creates a new tab in the and adds it to the collection. + A object. + Required. The name of the tab. + + + Gets a value indicating the number of objects in the collection. + An integer value indicating the number of objects in the collection. + + + Gets the top-level extensibility object. + A object. + + + Gets an enumerator for items in the collection. + An enumerator. + + + Returns an indexed member of a collection. + A object. + Required. The index of the item to return. + + + Gets the immediate parent object of a collection. + A object. + + + Represents standard tool windows in the integrated development environment (IDE) that use hierarchical trees of data, such as Solution Explorer or Server Explorer. + + + In the hierarchy, performs the same action as if the user had double-clicked or pressed ENTER. + + + Gets the top-level extensibility object. + A object. + + + Gets the item designated by given path. + A object. + Required. The names in order from the root leading to subsequent subnodes. The last name in the array is the node returned as a object. + + + Gets the immediate parent object of a object. + A object. + + + Selects the node immediately below the currently selected node with respect to the tree's current expansion state. + Required. A constant indicating how the selection is made. + Required. The number of nodes to select down from the current node. is also used for coalescing commands while recording. That is, if you type SHIFT + DOWN ARROW four times, rather than four lines of code emitted, you instead get one line with a value of 4. + + + Gets a collection of all of the currently selected items. + An object containing a collection of all of the currently selected items. + + + Selects the node immediately above the currently selected node with respect to the tree's current expansion state. + Required. A constant indicating how the selection is made. + Required. The number of nodes to select up from the current node. is also used for coalescing commands while recording. That is, if you type SHIFT + UP ARROW four times, rather than four lines of code emitted, you instead get one line with a value of 4. + + + Gets a collection representing children of the item. + A collection. + + + Represents an item that shows hierarchical tree data, such as Solution Explorer, in a standard tool window in the integrated development environment (IDE). + + + Gets the collection containing the object supporting this property. + A collection. + + + Gets the top-level extensibility object. + A object. + + + Gets whether a node is selected. + A Boolean value indicating true if the item is selected, false otherwise. + + + Gets the name of the object. + A string representing the name of the object. + + + Gets an object that can be accessed by name at run time. + An object that can be accessed by name at run time. + + + Causes the specified item to become active in the user interface. + A constant indicating how the selection is made. + + + Gets a collection representing children of the item. + A collection. + + + Represents a given level of the UI hierarchy tree. It also represents a collection of the selected items in the tree. + + + Gets a value indicating the number of objects in the collection. + An integer value indicating the number of objects in the collection. + + + Gets the top-level extensibility object. + A object. + + + Sets or gets whether a node in the hierarchy is expanded. + A Boolean value indicating true the node is expanded, false if not. + + + Gets an enumeration for items in a collection. + An enumerator. + + + Returns a object in a collection. + A object. + Required. The index of the object to return. + + + Gets the immediate parent object of a collection. + A parent object. + + + Represents, as a single transaction, all operations performed on all participating open documents in Visual Studio. If its  method is invoked, all changes made since opening the object are discarded. + + + Ends an undo operation. + + + Gets the top-level extensibility object. + A object. + + + Gets whether the object operation was terminated by the method. + A Boolean value indicating true if the operation was aborted, false if not. + + + Gets whether an undo operation is currently in effect or if a solution is open. + A Boolean value indicating true if an undo operation is in effect or if a solution is open, false if not. + + + Gets whether the undo stack linkage is strict. + A Boolean value indicating true if the undo stack linkage is set to strict, false if not. + + + Starts a new undo operation. + Required. Represents the name of the procedure for which to provide an undo context. + Optional. Indicates whether the undo stack linkage is strict. Default value is False. + + + Gets the immediate parent object of an object. + A object. + + + Discards all changes to participating open documents since opening the object. + + + Allows you to manipulate text beyond the right margin (left margin in bidirectional Windows) of the text document. + + + Gets the one-based character offset from the beginning of the document to the object. + An integer value indicating the one-based character offset from the beginning of the document to the object. + + + Returns true if the object is at the end of the document. + A Boolean value indicating true if you are at the end of the document; false if otherwise. + + + Returns true if the object is at the end of a line. + A Boolean value indicating true if you are at the end of a line; false if otherwise. + + + Returns true if the object is at the beginning of the document. + A Boolean value indicating true if you are at the start of a document; false if otherwise. + + + Returns true if the object is at the beginning of a line. + A Boolean value indicating true if you are at the start of a line; false if otherwise. + + + Returns the code element at the location. + A object. + Required. A constant indicating the code element with the specified kind that contains the editor location. + + + Creates and returns an object at the location of the calling object. + An object. + + + Gets the number of the current displayed column containing the object. + An integer value indicating the number of the current displayed column containing the object. + + + Gets the top-level extensibility object. + A object. + + + Returns whether the value of the given object's property is equal to that of the calling object. + A Boolean value indicating true if has the same property value as the calling point object. + Required. A object to compare to the calling point object. + + + Returns whether the value of the calling object's property is greater than that of the given point object. + A Boolean value indicating true if has a smaller property value compared to the calling point object's property. + Required. A to compare to the calling point object. + + + Returns whether the value of the called object's property is less than that of the given object. + A Boolean value indicating true if has a greater property value compared to the calling point object's property. + Required. A to compare to the calling point object. + + + Gets the line number of the object. + An integer value indicating the line number of the object. + + + Gets the character offset of the object. + An integer value indicating the character offset of the object. + + + Gets the number of characters in a line containing the object, excluding the new line character. + An integer value indicating the number of characters in a line containing the object, excluding the new line character. + + + Gets the immediate parent object of a object. + A object. + + + Attempts to display the text point's location. + A Boolean value indicating true if the span of text fits within the current code editor, false if not. + Optional. A constant that determines how the code is displayed. + Optional. The endpoint of the selected range of text to be displayed. It can be either a or an integer. + + + Gets the column index of a virtual point in virtual space. + An integer value indicating the column index of a virtual point in virtual space. + + + Gets the display column of the current position. + An integer value indicating the display column of the current position. + + + Microsoft Internal Use Only. + + +   + + +   + + +   + + + Indicates which window type is used to view web page source. + + + View source in the HTML design window. + + + View source in an external editor. + + + View source as HTML. + + + Represents the type of build action that is occurring, such as a build or a deploy action. + + + A build action is occurring. + + + A clean action is occurring. + + + A deploy action is occurring. + + + A rebuild all action is occurring. + + + Indicates the kind of build. + + + Build is a project build. + + + Build is a project item build. + + + Build is a solution build. + + + Represents the scope of the build. + + + The build applies to a batch build. This corresponds to the Batch Build command on the Build menu. + + + The build applies to a single project. + + + The build applies to the entire solution. + + + Represents the status of the build operation. + + + Build has been completed. + + + Build is currently in progress. + + + Build has not yet been started. + + + Represents options for changing text to lowercase or uppercase. + + + Capitalize the first letter of each word of the selected text. + + + Change selected text to lowercase. + + + Change selected text to uppercase. + + + Used to determine how a code element may be accessed by other code. + + + Element has assembly or family access. + + + Element has default access. + + + Element has private access. + + + Element has project access. + + + Element has project or protected access. + + + Element has protected access. + + + Element has public access. + + + Element can be accessed via WithEvents. + + + Indicates the type of code element. + + + An assignment statement element. + + + An attribute element. + + + A class element. + + + A declare declaration element. + + + A define statement element. + + + A delegate element. + + + An enumerator element. + + + An event element. + + + An events declaration element. + + + A function element. + + + A function invoke statement element. + + + An IDL co-class element. + + + An IDL import element. + + + An IDL import library element. + + + An IDL library element. + + + An implements statement element. + + + An import statement element. + + + An include statement element. + + + An inherits statement element. + + + An interface element. + + + A local declaration statement element. + + + A macro element. + + + A map element. + + + A map entry element. + + + A module element. + + + A namespace element. + + + An option statement element. + + + An element not in the list. + + + A parameter element. + + + A property element. + + + A property set statement element. + + + A structure element. + + + A type definition element. + + + A user-defined type declaration element. + + + A union element. + + + A using statement element. + + + A variable element. + + + A VB attribute group element. + + + A VB attributes statement element. + + + A VC base element. + + + A constant indicating the type of function, such as a property-get or a method. + + + A COM method. + + + A constant. + + + A constructor. + + + A destructor. + + + A function. + + + An inline function. + + + An operator. + + + A type of function not in this list. + + + A property assignment function. + + + A property get. + + + A property let. + + + A property set. + + + A pure function. + + + A put reference. + + + A shared function. + + + A subexpression. + + + A top-level function. + + + A virtual function. + + + A constant indicating the abilities of the given code model object. + + + Information is obtained from external files. Information is available only from metadata, from inspecting a DLL, or from frozen sources (such as shipping MFC sources). You may be able to get a StartPoint and EditPoint, but you cannot edit them, and you cannot set properties or modify the text behind the code element. + + + No additional information is available. All you have is a code model object that has a name. By its context in the source, you might, for example, infer that the name should be a class or interface. Because the code model could not resolve the name to any real information, however, the object is otherwise useless. + + + Indicates if the code model element is located in the same project file. This is important when attempting to navigate to a specific code element. + + + Information is obtained from a virtual project. + + + Represents the portion of a code construct. + + + The attributes that apply to the code construct, minus the attribute delimiters. + + + The applicable attributes and the attribute delimiters. + + + The body of the code construct, minus the body delimiters. + + + The body of the code construct and its delimiters. + + + The header of the code construct. + + + The code construct's header and its attributes. + + + The name of the code construct. + + + The location in the source code to which the insertion point moves when you double-click an element in Class View. + + + The entire code construct. + + + The entire code construct and its attributes. + + + A constant specifying prototype options. + + + If the code element is a member of a class, then include the element's name qualified with a prefix of the class name and a period (.). + + + Indicates that the code element's full name should be used if it is applicable. This means that classes and namespaces, for example, would have fully qualified names. + + + Include the variable's initialization expression in the prototype string. + + + Do not include the name in the prototype string. This flag is incompatible with other flags that request specific name information. + + + Include parameter default value expressions in the prototype string. + + + Include parameter names in the prototype string. + + + Include parameter types in the prototype string. + + + Prefix the returned string with the function or variable's type. + + + Returns a unique specifier suitable for indexing or searching for this code element later. This can be used, for example, for inserting text to create an overridden or overloaded code element. + + + The data type that the function returns. This can be a object, a constant, or a fully qualified type name. + + + Array + + + Bool (Boolean) + + + Byte + + + Char + + + CodeType + + + Decimal + + + Double + + + Float + + + Int + + + Long + + + Object + + + Data type not in this list + + + Pointer + + + Short + + + String + + + Variant + + + Void + + + Represents the scope of the build. + + + A menu command bar + + + A popup command bar + + + A toolbar command bar + + + Describes the accessibility of menu items and toolbars. + + + Item is enabled. + + + Item is disabled. + + + Item is hidden. + + + A constant specifying the execution options. + + + Performs the default behavior, whether prompting the user for input or not. + + + Executes the command after obtaining user input. + + + Executes the command without prompting the user. For example, clicking Print on the toolbar causes a document to immediately print without user input. + + + Shows help for the corresponding command, if it exists, but does not execute the command. + + + The current status of the command. + + + The command is currently enabled. + + + The command is currently hidden. + + + The command is currently latched. + + + Reserved for future use. + + + The command is supported in this context. + + + The command is not supported in this context. + + + A constant specifying if information is returned from the check, and if so, what type of information is returned. + + + The name of the command is returned. + + + No information is returned. + + + The status of the command is returned. + + + Represents the type of build configuration. + + + A project configuration + + + A project item configuration + + + Represents context attributes. + + + Global context attribute + + + High-priority context attribute + + + Window context attribute + + + Specifies the type of new attribute. + + + A filter attribute. + + + A search keyword. + + + An F1 keyword. This is a higher priority than a search keyword. Only one F1 keyword is allowed per collection. + + + Represents the display mode of the integrated development environment (IDE). + + + IDE displays in MDI (multiple-document interface, where all windows are contained within the parent environment window) mode. + + + IDE displays in tabbed MDI mode, where multiple windows display tabbed on top of each other. + + + Represents the edit behavior in an action. + + + Inserts text and automatically formats it. + + + Retains existing markers (for breakpoints, named shortcuts, and so forth) in their current locations. + + + Uses the text buffer's default newline sequence. + + + Keeps the value of Text and process tabs and spaces according to the value of the KeepTabs setting in the TextEditorOptions dialog box. + + + Microsoft Internal Use Only. + + +   + + +   + + +   + + + Microsoft Internal Use Only. + + +   + + +   + + +   + + + Microsoft Internal Use Only. + + +   + + +   + + + Microsoft Internal Use Only. + + +   + + +   + + +   + + +   + + +   + + +   + + +   + + +   + + +   + + +   + + +   + + +   + + +   + + +   + + +   + + +   + + +   + + +   + + +   + + + Microsoft Internal Use Only. + + +   + + +   + + + Microsoft Internal Use Only. + + +   + + +   + + +   + + + Microsoft Internal Use Only. + + +   + + +   + + +   + + + Microsoft Internal Use Only. + + +   + + +   + + +   + + +   + + +   + + +   + + +   + + +   + + +   + + +   + + +   + + +   + + +   + + +   + + +   + + +   + + +   + + +   + + +   + + +   + + +   + + +   + + +   + + +   + + + Determines whether a property displays or not. + + + The property is hidden. + + + The property is not hidden. + + + The property is read-only. + + + Represents the type of find action to take. + + + Bookmarks each instance that is found. + + + Finds the next matching word in the document. + + + Finds all matching words in the document. + + + Replaces the current matching word and finds the next matching word. + + + Replaces all matching words in the document. + + + Represents the behavior of the ReplacePattern method, such as how to search, where to begin the search, whether to search forward or backward, and the case sensitivity. + + + Searches backward from current point. + + + Begins search at beginning of document. + + + Does not close documents that have been modified by the search. + + + Matches case of word in search. + + + Looks for text matches in hidden text as well as nonhidden text. The constant value does not apply to the FindPattern method, because it searches all text, including hidden text. + + + Matches whole word in search. + + + No matching. + + + Matches regular expression. + + + Includes subfolders in word search. + + + Uses wildcards in string search. + + + Represents the type of syntax used for the search pattern. + + + Literal expression. + + + Regular expression. + + + Wildcard expression. + + + Represents the results of a search. + + + The search resulted in an error. + + + The search item was found. + + + The search item was not found. + + + The search has not yet completed. + + + The search item to replace was found. + + + The search item to replace was not found. + + + The search item was replaced. + + + Determines the location where the Find Results list displays. + + + Find Results list number one. (Default) + + + Find Results list number two. + + + Results are not displayed. + + + Indicates the target for the search operation, such as the current document or files on disk. + + + Searches for a match in the current document. (Default) + + + Searches the current document for a match in a function. You do not need to select the function before searching it. + + + Searches for a match in the selected text in the document. + + + Searches for a match in the current project. + + + Searches for a match in the specified file(s). + + + Searches for a match in all open documents. + + + Searches for a match in the open solution. + + + Enumeration describing what character set to use when displaying items in the integrated development environment (IDE). + + + ANSI + + + Arabic + + + Baltic + + + Traditional Chinese + + + Default + + + East Europe + + + Simple Chinese + + + Greek + + + Korean + + + Hebrew + + + Korean (Johab encoding) + + + Macintosh + + + OEM + + + Russian + + + Japanese + + + Symbols + + + Thai + + + Turkish + + + Vietnamese + + + Determines whether the line navigated to is the first or last line of the document. + + + Goes to the first line. + + + Goes to the last line. + + + Indicates the active tab of an open HTML document. + + + The design tab. + + + The source tab. + + + Represents the mode of the integrated development environment (IDE). + + + The IDE is in Debug mode. + + + The IDE is in Design mode. + + + Indicates how indenting is handled in a code editor. + + + Indicates block indenting. + + + Indicates no indenting. + + + Indicates language style specific indenting. + + + Deprecated. Do not use. + + +   + + +   + + + Indicates how to insert text into a document. + + + Default. After the text is inserted, the insertion point is moved to the right side of the selection and the selected text is unselected (or collapsed). + + + After the text is inserted, the insertion point is moved to the left side of the selection and the selected text is unselected (or, collapsed). + + + The specified text overwrites the selected text. + + + The specified text is inserted at the end of the document. + + + The specified text is inserted at the beginning of the document. + + + Represents the state of a given window. + + + The window is docked. + + + The windows are joined at the same level, one above the other. + + + The windows are tabbed, that is, they are stacked on top of each other with tabs at the top. + + + The windows are joined at the same level side by side. + + + Indicates changes to the TextSelection object. + + + Extend the TextSelection object. + + + Move the TextSelection object. + + + Indicates positional changes to the EndPoint object. + + + Move to the first column of the first line. + + + Move to the last column of the last line. + + + Deprecated. Do not use. + + +   + + +   + + +   + + + Determines whether the browsed content displays in the last active Web browser window or in a new Web browser window. + + + The Web page opens in the currently open browser window. (Default) + + + The Web page opens in a new browser window. + + + Determines how to display selected text or code. + + + The displayed lines remain the same unless it is necessary to move the display to show the text. + + + Centers the text pane around the indicated text. + + + Puts the first line at the top of the page. + + + Describes the user's action after a dialog box is displayed. + + + User pressed Cancel. + + + User pressed No. + + + User pressed Yes. + + + Determines how to save an item or items. + + + If changes were made, does not save the document. + + + If changes were made, prompts the user to save the document. + + + If changes were made, saves the document. + + + Indicates whether or not the save was successful. + + + The document save was canceled. + + + The document was saved successfully. + + + Indicates the type of selection that represents. + + + The nonempty selection is a block mode selection. + + + The nonempty selection is a stream mode selection. (Default) + + + Determines the type of formatting applied to selected code. + + + Code is block-formatted. + + + No formatting is applied to the code. + + + Code is smart-formatted according to the rules of that language. + + + Represents where to move the object when moving to the beginning of the line. + + + Goes to the first character in the line, white space or not, which is column zero. (Default) + + + Goes to the first nonwhite-space character in the line. + + + Specifies the startup state of the Visual Studio IDE. + + + Start with an empty environment. + + + Load the last solution on startup + + + Start with the New Project dialog. + + + Start with the Open project dialog. + + + Show the Visual Studio home page on startup. + + + Indicates the icon to display on the Status Bar. + + + Displays a building animation. + + + Displays a deploying animation. + + + Displays a finding animation. + + + Displays a general activity animation. + + + Displays a printing animation. + + + Displays a saving animation. + + + Displays a sync animation. + + + Represents the type of task in the Task window. + + + Represents a build or compile error in the Task window. + + + Represents a comment in the Task window. + + + Represent a comment from HTML in the Task window. + + + Represents a miscellaneous comment in the Task window. + + + Represents a shortcut link in the Task window. + + + Represents a user defined task in the Task window. + + + Represents the category for the new task item. + + + The comment task icon + + + The compile error icon + + + No icon + + + The shortcut icon + + + The smart editor icon + + + The user-defined task icon + + + Represents the column in the Task List that was modified. + + + The Check column + + + The Description column + + + The File column + + + The Icon column + + + The Line column + + + The Priority column + + + Represents the priority for the new task item. + + + High-priority task + + + Low-priority task + + + Medium-priority task + + + Indicates one or more reasons why the event occurred, which might help you understand what happened in the buffer. + + + The insertion point was moved. + + + A find operation moved the insertion point. + + + A change to text occurred that affected more than one line, such as pasting with new lines, deleting across lines, or replacing all. + + + A new line was created. + + + A replace all operation occurred. + + + A line was committed by saving the file. + + + Indicates the format of the new ToolBox item. + + + .NET Framework component. + + + GUID. A string that is the class ID of a control. + + + HTML item. Text, but might be treated differently by certain active documents. + + + Plain text item. Double-clicking the item places it into the active document. (Default) + + + Indicates how the selection is moved or extended in a UIHierarchy window. + + + The new node, the currently selected node, and all intervening nodes are selected. + + + The node is selected by itself. + + + The new node is not selected; only the focus is given to it. + + + The selection state is toggled on the new node. That is, if the node was selected, it is no longer. If it was not selected, it now is the only selected node. + + + Determines how and where to remove white space. + + + Default. Deletes white space only on the current line in the buffer. + + + Deletes white space above and below the current line in the buffer. + + + Represents the state of a given window. + + + Window is maximized. + + + Window is minimized. + + + Window is normal. + + + Represents the different types of windows available in the integrated development environment (IDE). + + + Autos Window + + + Browser Window + + + Call Stack Window + + + Code Window + + + Color Palette + + + Designer Window + + + Document Window + + + Document Outline Window + + + Find Window + + + Find and Replace Window + + + Immediate Window + + + Linked Window Frame Window + + + Locals Window + + + Main Window + + + Output Window + + + Preview Window + + + Properties Window + + + Running Documents Window + + + Solution Explorer Window + + + TaskList Window + + + Threads Window + + + Toolbox Window + + + ToolWindow Window + + + Watch Window + + + The object represents a window in the environment. + + + Moves the focus to the current item. + + + Microsoft Internal Use Only. + The window handle. + + + Gets or sets whether the tool window is able to be hidden. + true if the tool window can be hidden; otherwise, false. + + + Gets or sets the title of the window. + The title of the window. + + + Closes the open document and optionally saves it, or closes and destroys the window. + Optional. A constant that determines whether to save an item or items. + + + Gets the collection containing the object supporting this property. + A collection. + + + Gets a collection which allows automation clients to add new attributes to the current selected items in the Dynamic Help window and provide contextual help for the additional attributes. + A collection. + + + Microsoft Internal Use Only. + + + Gets the object associated with the item, if one exists. + A object. + + + Microsoft Internal Use Only. + The document data. + The data. + + + Gets the top-level extensibility object. + A object. + + + Gets or sets a value indicating the dimensions of the window in pixels. + The height dimension of the window in pixels. + + + Microsoft Internal Use Only. + The window handle. + + + Gets or sets a value indicating whether the tool window is floating over other windows. + true if the window is floating over other windows; otherwise, false. + + + Gets a string indicating the type of window. + A string representing the type of window. + + + Gets or sets the distance between the internal left edge of an object and the left edge of its container. + The distance between the internal left edge of an object and the left edge of its container. + + + Gets or sets a value indicating whether the tool window can be docked with other tool windows. + true if the window can be docked with other windows; otherwise, false. + + + Gets a object representing the window frame containing the window. + A object. + + + Gets a collection of all linked windows contained in the linked window frame. + A collection. + + + Gets an object that can be accessed by name at run time. + An object. + + + Gets the type of the object, which is a GUID string representing the tool contained in the window. + A string containing a GUID representing the tool contained in the window. + + + Gets the object associated with the object. + A object. + + + Gets the object associated with the object. + A object. + + + Gets an object representing the current selection on the object. + An object representing the current selection on the object. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The window type. + + + Allows setting objects to be active in the Properties window when this window is active. + Required. An array of objects for the Properties window. + + + Sets the picture to display in a tool window. + The picture to place into the tool window. + + + Gets or sets the distance between the internal top edge of an object and the top edge of its container. + The distance between the internal top edge of an object and the top edge of its container. + + + Microsoft Internal Use Only. + The type. + + + Gets or sets the visibility of a window. + true if the window is visible; otherwise, false. + + + Gets or sets the width of the window in character units. + The width of the window in character units. + + + Gets or sets the state, such as minimized, normal, and so forth, of the window. + A constant. + + + The object represents the layout and configuration of all windows in the Visual Studio environment. + + + Invokes a previously saved named window configuration. + If this is true, the named view in the custom window configuration persistence is the search target. If this is false, then the installed, predefined persistence of window configurations is searched. The default is true. + + + Gets the collection containing the object supporting this property or contained within this code construct. + A collection. + + + Removes the window configuration from the collection. + + + Gets the top-level extensibility object. + A object. + + + Sets or gets the name of the object. + A string representing the name of the object. + + + Updates the collection of windows or sets the object's window layout to the current window layout. + + + The collection contains all named window configurations created for the environment. + + + Gets the name of the currently active window configuration. + A string representing the name of the currently active window configuration. + + + Creates a new named window configuration based on the current arrangement of windows, adds it to the collection, and retains it for future recall. + A object. + Required. A string representing the name of the new window configuration. + + + Gets a value indicating the number of objects in the collection. + An integer value indicating the number of objects in the collection. + + + Gets the top-level extensibility object. + A object. + + + Gets an enumeration for items in a collection. + An enumerator. + + + Returns an indexed member of a collection. + A object. + Required. The index of the item to return. + + + Gets the immediate parent object of a collection. + A object. + + + Provides events for changes made to Windows in the environment. Use this object for functionality and refer to for this object’s documentation. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Microsoft Internal Use Only. + The event handler. + + + Occurs when a window receives the focus. + + + Occurs just before a window closes. + + + Occurs when a new window is created. + + + Occurs after a window is moved or resized. + + + The collection contains all windows in the environment. + + + Gets a value indicating the number of objects in the collection. + The number of objects in the collection. + + + Creates a object and places two windows in it. + A object. + Required. The first object to link to the other. + Required. The second object to link to the other. + Required. A constant indicating the way the windows should be joined. + + + Creates a new tool window containing the specified object or ActiveX control. + A object. + Required. An object whose lifetime determines the lifetime of the tool window. + Required. The programmatic ID of the object or ActiveX control. + Required. The caption for the new tool window. + Required. A unique identifier for the new tool window, which can be used as an index to . + Required. The object or control to be hosted in the tool window. + + + Gets the top-level extensibility object. + A object. + + + Returns an enumeration for items in a collection. + An enumerator. + + + Returns a object in a collection. + A object. + Required. The index of the object to return. + + + Gets the immediate parent object of a collection. + A object. + + + A constant specifying the results of the wizard. + + + The user clicked the wizard's Back button, nullifying the changes made. + + + The wizard's startup was canceled. + + + The wizard failed to start. + + + The wizard started successfully. + + + \ No newline at end of file diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe index 1190dea0..7181d975 100644 --- a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe +++ b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e095d5a5682c660353346dc97c8ac6155c12779a61c800185207a2af9fe67519 -size 8269664 +oid sha256:390b6261511635a46de4b565c981d98fd51fd20edfcfc8f3ac7f811e885bc14e +size 8260608 diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe.config b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe.config index ea2e83ae..b814ff9f 100644 --- a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe.config +++ b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe.config @@ -38,6 +38,9 @@ 0 + + + @@ -71,7 +74,7 @@ - 230302 + indev_260423_149P TRUE diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.pdb b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.pdb index 3ff24ac731b614084caf32c5d1d7094c38f21bd9..82daea7aa7424dac6483635264ba131c374e33aa 100644 GIT binary patch delta 57800 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 Xo$9v~Im>|MzzSextzUP?_m2MohsUS= diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/stdole.dll b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/stdole.dll index 331a0fa9cd73d8228e76b2e694f3793773bd1803..b469bb6da8591d67747cd82f84d9dc0bb647db7c 100644 GIT binary patch delta 9359 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 Hl{#w$Hwal< From fa10ed04f7c6ae2ec75e929935070e958d49a533 Mon Sep 17 00:00:00 2001 From: Ryan Walpole Date: Wed, 26 Apr 2023 14:10:49 +1000 Subject: [PATCH 16/31] Update Release Objects Update release object files for latest test build. Co-Authored-By: Ryan Walpole <69621127+RyanWalpole@users.noreply.github.com> --- .../DesignTimeResolveAssemblyReferences.cache | Bin 51623 -> 51730 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 23231 -> 23229 bytes ... Mod Manager.csproj.GenerateResource.cache | Bin 3661 -> 3661 bytes .../obj/Release/Stardew Mod Manager.exe | 2 +- .../obj/Release/Stardew Mod Manager.pdb | Bin 339456 -> 339456 bytes 5 files changed, 1 insertion(+), 1 deletion(-) diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/DesignTimeResolveAssemblyReferences.cache b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/DesignTimeResolveAssemblyReferences.cache index 4f3fdcf2950a01f5a0c8a97a13fe24aa78ec876d..87af6e0768418da9fb2ee6e22ec7add7869a2595 100644 GIT binary patch delta 90 zcmZ2JnR(I_W)3z+PX-1C#>B}R1wuE*I%;#JE=%3`{uT!VBhzF7JHO2~x)XR=X6>9B pxcP$B^*$!XaG*l*$&uPBlWVk<*rAFi*G-e&d_Y@=kp*ZL0{~Rq9&i8v delta 56 zcmV-80LTB5lmn-e0|*8INB{r;0b!G|5LK~VK`RAw#iev$v&G0s0RjO6lgd0!v-T^H O4FodvGfA_GIoFN_vJ_$f diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache index f7bc128cfde62c7d6e337c98058b28c2db2d8c0e..0a8007b407c5eda94982034f55aba545c29a700b 100644 GIT binary patch delta 75 zcmdnLm2vM@#tCAKSrZ$@Wdn-xvr>~wf>VpiGLut_brixx^-L#!WLKY< RBf@9^RLPH~a^re|C;%U|8>RpN delta 113 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 Date: Wed, 26 Apr 2023 14:11:03 +1000 Subject: [PATCH 17/31] Update Project Files Update SUO project file. Co-Authored-By: Ryan Walpole <69621127+RyanWalpole@users.noreply.github.com> --- .../.vs/Mod Manager/v17/.suo | Bin 244736 -> 255488 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/source-code/Mod Manager (Facelift Development)/.vs/Mod Manager/v17/.suo b/source-code/Mod Manager (Facelift Development)/.vs/Mod Manager/v17/.suo index 5da77467e3e2628b43ebdb25277590f02ce96786..c71e44734f7d06d1aea79349c7fd05f1432bea37 100644 GIT binary patch delta 12236 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 delta 10853 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 m``U}|hDruhPnM$O!mZL{fYU>z(@3_6#E*}X Date: Thu, 27 Apr 2023 10:44:26 +1000 Subject: [PATCH 18/31] Address Issue #116 Address issue #116 by adding the required = symbol, missing from regex. Co-Authored-By: Ryan Walpole <69621127+RyanWalpole@users.noreply.github.com> --- .../Stardew Mod Manager/Forms/First Run/UpdateVersion.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Forms/First Run/UpdateVersion.cs b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Forms/First Run/UpdateVersion.cs index 93dc0c18..bf3d679f 100644 --- a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Forms/First Run/UpdateVersion.cs +++ b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Forms/First Run/UpdateVersion.cs @@ -82,8 +82,8 @@ private void Migrate() string InactiveModsDirRegex = "$InactiveModsDir="; string PresetsDirRegex = "$PresetsDir="; string CheckUpdateOnStartupRegex = "$CheckUpdateOnStartup="; - string IsCheckSMAPIUpdatesOnStartupRegex = "$CheckSMAPIUpdateOnStartup"; - string ColorProfileRegex = "$ColorProfile"; + string IsCheckSMAPIUpdatesOnStartupRegex = "$CheckSMAPIUpdateOnStartup="; + string ColorProfileRegex = "$ColorProfile="; string DoTelemetryRegex = "$DoTelemetry="; foreach (string line in FileRead.Lines) From 6157c48f03c86d88ad2774123219a8779bbe4044 Mon Sep 17 00:00:00 2001 From: Ryan Walpole Date: Thu, 27 Apr 2023 15:07:43 +1000 Subject: [PATCH 19/31] Update AssemblyInfo.cs Update assembly version numbers to 230401 (23.04.00.01) Co-Authored-By: Ryan Walpole <69621127+RyanWalpole@users.noreply.github.com> --- .../Stardew Mod Manager/Properties/AssemblyInfo.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Properties/AssemblyInfo.cs b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Properties/AssemblyInfo.cs index 3cfc1fb9..137ed6fa 100644 --- a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Properties/AssemblyInfo.cs +++ b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Properties/AssemblyInfo.cs @@ -33,6 +33,6 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("23.03.00.02")] -[assembly: AssemblyFileVersion("23.03.00.02")] +[assembly: AssemblyVersion("24.04.00.01")] +[assembly: AssemblyFileVersion("24.04.00.01")] [assembly: NeutralResourcesLanguage("en-AU")] From 8093576e22aa779503848c602112b5593added2f Mon Sep 17 00:00:00 2001 From: Ryan Walpole Date: Thu, 27 Apr 2023 15:08:02 +1000 Subject: [PATCH 20/31] Push Build for Testing Final build on indev. Co-Authored-By: Ryan Walpole <69621127+RyanWalpole@users.noreply.github.com> --- .../bin/Release/Stardew Mod Manager.exe | 2 +- .../Release/Stardew Mod Manager.exe.config | 3 --- .../bin/Release/Stardew Mod Manager.pdb | Bin 339456 -> 337408 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 23229 -> 24795 bytes .../obj/Release/Stardew Mod Manager.exe | 2 +- .../obj/Release/Stardew Mod Manager.pdb | Bin 339456 -> 337408 bytes .../Properties.Resources.Designer.cs.dll | Bin 17408 -> 17408 bytes 7 files changed, 2 insertions(+), 5 deletions(-) diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe index 7181d975..2f179e90 100644 --- a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe +++ b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:390b6261511635a46de4b565c981d98fd51fd20edfcfc8f3ac7f811e885bc14e +oid sha256:dfb5acd5c7fdc06f4694f5dc1396a216dc98e1e21255d6584b15d13f09e14b7b size 8260608 diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe.config b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe.config index b814ff9f..2847b135 100644 --- a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe.config +++ b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe.config @@ -38,9 +38,6 @@ 0 - - - diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.pdb b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.pdb index 82daea7aa7424dac6483635264ba131c374e33aa..5ce84b77eadd54ef5165c53da1850dac410d95be 100644 GIT binary patch delta 22679 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 CkK3gH delta 22724 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 diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache index 0a8007b407c5eda94982034f55aba545c29a700b..ae874b0544e48c99811682c9a455fa28bd62fd8e 100644 GIT binary patch delta 1239 zcmZ`&&rcIk5ayA%iDD3?G<3V|?zR=M&;^Qy8V{r-1T?KSXwqOzNPleWlF}{RV(_K} ze?((Kcv1W<5HB7~NC-!Wa`f&+6BGXkL%2CR@3n;hm(676`{sM|&Ft1D`Td=&@0}(u z>1xvgC1+ZRNFPcSx|DRBEf^WSXz5yIt|GV_8X72KW}4f`CyaKRRk|R}AlAy>GcsmT zgOA_^>_;21akAxcBUO`+&ZSBvZ8}vna=KL!{7_%Q4i8!#yw?ebN>(tp?C_BncGMCD z67np*A2P%HclSbEpxV<(XBi2 zlu;ZWos8Wt=!oe743nR4_mN}J!$vucXzlop!-ZMau@^9JZBG@&TuGphYnI>SL{c2y5>^n&lu4$#Ja&2}mVWafM}7~tf+pvo8cyxVn1I%`;|G(WTi zu$iYTJqmZXKco;m6}l6W7@OYEM4tPlNqoQgUYSR`wdhHo%y9e8>}EWgxEeF_CJs9R zinuXv-M|`x{WZ4%!Zr{NS7o=t)u&t=5V@~E2LgOQQy0BF+JlG<^z@Q)$T#+%;XBe* zk$sC~W%h^+)Y*|}gVi~=Yti+H%w_&W6z0N)dD-bCU*U2VX=8%@4vQOW3HPc0?~Jm9 delta 1219 zcmZvbNlX+`5Qcf0Od^P~49jf23@ymkKv3ck7~%wiBoY^Jj1gmIX(o-sOglYnnn1)| z#3+5ycu?;onh=i?^`suX>fNJ>i80))u2(%U%H^f<>Z|{~`s=-KAK1IM?9JAGcEfsA zW>|~mb?lnODzcSnJ)vbxP0i2eUA~f%k|lfBdVQdVtspsaP$tq$&gzM5Muo*C0Qms& za~mraOMBRLyQnH=80vH^qfcsP-qiraq7@sOD_5atQct-Q*x{O+Zkatq^<+(uE!f2s z$Dx?OrULk)R%Z7R9I6x9Dn?K0J!M_0kx98)fOGa5*gedKJOW7rSBh9WV3-uoYG!sO zm(a|K(U_iz3}24uxi~Va!&r?zf!#r=&ptmzQ+_|YiF;)M50AXtTIa`4WT!Qh=`P%8 zSZH96u;izpP!CT8Zpn_W;RsX9=k-j=#OsEEzHQU~g46^sL%Ccwhrj>;-2Xp^ zM8<`mHwM@(JfgqJORj%!5*P|uONV`w6`Q?u_swRRyhyevlr3-d(wx>?gT#%sInQFN zEl7sHZ1+%YSXGGop~{q9?eLIZYp0j|`O+y-lyW|&lMc{-7V6bpB-_c{-Yv2q2-=xKA{Uxz>Qq)AtQGjJ~kMQ z44*uMhhN;~aLA9I9Kf=8sg+{d=5-2*=E09sYdZqtf zHUA+f6W`?+p635B0eO5S(zc7v2TRXr97;NnHQ(>p;}45;gZE*Ho4272)Ye*Gm8)yf P4nFv`sC(m6w7T>!p^lv4 diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/Stardew Mod Manager.exe b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/Stardew Mod Manager.exe index 7181d975..2f179e90 100644 --- a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/Stardew Mod Manager.exe +++ b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/Stardew Mod Manager.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:390b6261511635a46de4b565c981d98fd51fd20edfcfc8f3ac7f811e885bc14e +oid sha256:dfb5acd5c7fdc06f4694f5dc1396a216dc98e1e21255d6584b15d13f09e14b7b size 8260608 diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/Stardew Mod Manager.pdb b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/Stardew Mod Manager.pdb index 82daea7aa7424dac6483635264ba131c374e33aa..5ce84b77eadd54ef5165c53da1850dac410d95be 100644 GIT binary patch delta 22679 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 CkK3gH delta 22724 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 diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/TempPE/Properties.Resources.Designer.cs.dll b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/TempPE/Properties.Resources.Designer.cs.dll index 3948dadadfbc6110e7e745012c14b15fc0411b22..e0630af966b7c3259014238b244062e0c3c23eb0 100644 GIT binary patch delta 1664 zcmXYye@t6d6vxkduYG;LW=nz6M_USQ1JsUD9752r0V^VIP8?yAY9J_)5F;4C{m?{U zQv~!6o4YI#qY-r`%c6g*Q(6A1%fki>VS2w1K=@MA$VDl&?>s4#4DI7G0*KlcGF zMF0er)li*m5sx{|{exowa%nDrHY8)!h!wzcFV-_}Zm6c)2@re*;3xci!N9n6XrQ;R zXOJeX^8?JO$l6)~!T=6r!KSw67=Aj~k=$zE>lhW`z{z0%hk`@G(TQV(eV=O%zof~q zX(4^m(xchow1%63b%}^!b=qWT)=76+oHh;YmZPc+#aJoBYn%_LQy9-G{mMPCsBBs_ zcu|^=HR!jH?vdh(1}80~&2EqVibDDCLh0%U z*r2=1{;SS=iqmW>`wM%bY>Qbfq*$ZbD4b$%m>&CCUggE}qII&_XP6JMHPaKhrk}?- zyXovP^9^6&c*ePb=DwJ5``PyV*0v4(0+y8iLs+;4;@i@! zmR?tSds2)ViUfw{jO~he6XBhCcA)4 zG#0@Rd+{!$pDdf*^3{6Jq*vpYMgSIhF1<_u*hs-S9LBH;bRA`((q3vb4R1J#>roxh zjOv2NIT=OuLW0L{qXwXY$L(CFp-wD^X{a}zsug$Z6i z3&({+P?DVWpBCA{K!JZi{S)^dlU7iR#T%#|u2X4c$v}DSBO38ViL`^qEkN-cC;6QG z&55iN-zAeSE2KM^KNvQzavtTC+j;h|jk1-jE0`zDvm-%Y^C!ICbJbt%PZsTk6>{4w*DV-UE4%mP)X;xekxJC#^WKN_=b&CIo$}=dIcpO6ga3LhI<&w7K{iTAEd@B09C3&gxD>WONTdYcXN#tbR zWa{gAePQM2YO*FO!jh4Y5)nl+5{)8af-ylNBp5Rzpx^iHwRxX@pU?Yz z-}g=LdQGLJR9bpHEwicd!==*s@ej7U_r-xttWmOAg%p>*We22@z%()bdYFa`H|!O_ z4t{Qbz)6r?J%zM>ngA40~J8W|2#xSa2YwW$EaBZAU zB%!;UdNJyc8+_4z;SQ4Hb4lTtHo!jAARrd?FH+u*nqn=g(^ z53;+(L1`%q_=6U7K7XMym)^-@{$18Rujr}Dv8^oQk4jzaXMdA)gB1qaq>F4vAZYz4 zQZ`*LzRxQ5YM@D4&t?O`TEm>BHG6AvGk<7&wF$@h!QENMy~LD~&TY1NhS;52o*&gp zjV!rRy5YF1Gs5H=95<(D>C4;dxC?riT(9GPpg9*t9e0DBD2e(&YpM9tVV1$Jm9$!U z6x4CJF1Nul))d@jttYk!J6+bhSeE@8j9MvT1$e4Hmz!WK?5LGA zvsi*}9CnE9wxhoPjCmAcWkW7!dD%O5Ybn2G0h|(W+}~$>PwtX%Z))KII{qh%4q z^NqQ_XIXbBYE^3U2;qvu*06D6OU-$dVdH(d+$#2EsJZEq66Q+mBC?wFxc5=g%kIZ;67ckr>Yjd#iTp`SNH3r|lPEhO=j-MpctFz4 z)j~V5gyo0Jq)FBo4oP!tQ@Fl)k8zz2Kd*2-BH`ud zw#GFf_$Az-dcT|Nc`xVJWUiB<9usxiKjOQ^$iX8 z4-R0sFBx}GW~Tl{SEla%(|Ua Date: Thu, 27 Apr 2023 15:45:12 +1000 Subject: [PATCH 21/31] Update Settings Update settings.settings to set the version number for the build to 230401, in line with expected release version Co-Authored-By: Ryan Walpole <69621127+RyanWalpole@users.noreply.github.com> --- .../Stardew Mod Manager/Properties/Settings.settings | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Properties/Settings.settings b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Properties/Settings.settings index 850f556e..6e9259c8 100644 --- a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Properties/Settings.settings +++ b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Properties/Settings.settings @@ -33,7 +33,7 @@ - indev_260423_149P + 230401 TRUE From 5a96ac288bd6db344b3cceb3f31b6b59d1c42cc6 Mon Sep 17 00:00:00 2001 From: Ryan Walpole Date: Thu, 27 Apr 2023 15:45:47 +1000 Subject: [PATCH 22/31] Archive Build Archive build 230301 as no longer the current available build Co-Authored-By: Ryan Walpole <69621127+RyanWalpole@users.noreply.github.com> --- version/{StardewModManagerSetup.exe => SDVMM_v230301.exe} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename version/{StardewModManagerSetup.exe => SDVMM_v230301.exe} (100%) diff --git a/version/StardewModManagerSetup.exe b/version/SDVMM_v230301.exe similarity index 100% rename from version/StardewModManagerSetup.exe rename to version/SDVMM_v230301.exe From 3f60ac0508be6af558dd1d2bd75f71c7a2af37ea Mon Sep 17 00:00:00 2001 From: Ryan Walpole Date: Thu, 27 Apr 2023 15:46:09 +1000 Subject: [PATCH 23/31] Update Settings Update the settings designer with changes made to version number in a previous commit - now set at 230401. Co-Authored-By: Ryan Walpole <69621127+RyanWalpole@users.noreply.github.com> --- .../Stardew Mod Manager/Properties/Settings.Designer.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Properties/Settings.Designer.cs b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Properties/Settings.Designer.cs index f5ff8ea0..85bbdaf0 100644 --- a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Properties/Settings.Designer.cs +++ b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/Properties/Settings.Designer.cs @@ -145,7 +145,7 @@ public string IsNetworkConnected { [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("indev_260423_149P")] + [global::System.Configuration.DefaultSettingValueAttribute("230401")] public string Version { get { return ((string)(this["Version"])); From 7c04a2e4b7a515f5f030ed461d587c1311d02a12 Mon Sep 17 00:00:00 2001 From: Ryan Walpole Date: Fri, 28 Apr 2023 09:47:14 +1000 Subject: [PATCH 24/31] Update Installer Script Update installer script with new version number, targeting release 230401 Co-Authored-By: Ryan Walpole <69621127+RyanWalpole@users.noreply.github.com> --- version/Install Scripts/SDV_InstallerScript_295CWR.iss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version/Install Scripts/SDV_InstallerScript_295CWR.iss b/version/Install Scripts/SDV_InstallerScript_295CWR.iss index da2abd01..7097ccfe 100644 --- a/version/Install Scripts/SDV_InstallerScript_295CWR.iss +++ b/version/Install Scripts/SDV_InstallerScript_295CWR.iss @@ -2,7 +2,7 @@ ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! #define MyAppName "Stardew Valley Mod Manager" -#define MyAppVersion "230302" +#define MyAppVersion "230401" #define MyAppPublisher "RWE Labs" #define MyAppURL "https://rwe.app/labs/sdvmm" #define RWELabsURL "https://rwelabs.github.io/" From a407c1a809922a65d28360cf8d9a1239a3cf9923 Mon Sep 17 00:00:00 2001 From: Ryan Walpole Date: Fri, 28 Apr 2023 09:47:35 +1000 Subject: [PATCH 25/31] Update Release Objects For build v230401, release target. Co-Authored-By: Ryan Walpole <69621127+RyanWalpole@users.noreply.github.com> --- .../obj/Release/Stardew Mod Manager.exe | 2 +- .../obj/Release/Stardew Mod Manager.pdb | Bin 337408 -> 337408 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/Stardew Mod Manager.exe b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/Stardew Mod Manager.exe index 2f179e90..807f06ac 100644 --- a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/Stardew Mod Manager.exe +++ b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/Stardew Mod Manager.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dfb5acd5c7fdc06f4694f5dc1396a216dc98e1e21255d6584b15d13f09e14b7b +oid sha256:2fb30866dcde2063364b5698aebd9eb428289ba36211d51d5ea41b0f68cc404a size 8260608 diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/Stardew Mod Manager.pdb b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/obj/Release/Stardew Mod Manager.pdb index 5ce84b77eadd54ef5165c53da1850dac410d95be..c4a0b62adad2bec59a4cd645c9075bc7411d30c2 100644 GIT binary patch delta 263 zcmZoTBhqk2WP^vELbbE+w*NMl*G?3#$>2MzQM7l5v-I_y$#VD3etCG7N%z4<#~F;9 z3_Oe!HkjWqFT1Ol+qXFDXOo^--h(fzO7z<-V*fu^fBhhJ&Tg>66ax#EW#@linrt%X z21}Z3Hb=9-+;)Mvj6lq^U0^P=#bRn&xPWmxM;VI-8>*Gt1!`Ho)JfFOW&D+en~F|c4UIQBPWvdNqq zETL^~o0buqR|?(W$x!^ZMLb~}p{>mP0a#^-Mi From cbb6ce3faf2798419c367cabecfd0b0dc398ef4a Mon Sep 17 00:00:00 2001 From: Ryan Walpole Date: Fri, 28 Apr 2023 09:47:52 +1000 Subject: [PATCH 26/31] Move Build to Testing Move build v230401 to testing, for release. Co-Authored-By: Ryan Walpole <69621127+RyanWalpole@users.noreply.github.com> --- .../bin/Release/Stardew Mod Manager.exe | 2 +- .../Release/Stardew Mod Manager.exe.config | 2 +- .../bin/Release/Stardew Mod Manager.pdb | Bin 337408 -> 337408 bytes 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe index 2f179e90..807f06ac 100644 --- a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe +++ b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dfb5acd5c7fdc06f4694f5dc1396a216dc98e1e21255d6584b15d13f09e14b7b +oid sha256:2fb30866dcde2063364b5698aebd9eb428289ba36211d51d5ea41b0f68cc404a size 8260608 diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe.config b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe.config index 2847b135..f52a2059 100644 --- a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe.config +++ b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe.config @@ -71,7 +71,7 @@ - indev_260423_149P + 230401 TRUE diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.pdb b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.pdb index 5ce84b77eadd54ef5165c53da1850dac410d95be..c4a0b62adad2bec59a4cd645c9075bc7411d30c2 100644 GIT binary patch delta 263 zcmZoTBhqk2WP^vELbbE+w*NMl*G?3#$>2MzQM7l5v-I_y$#VD3etCG7N%z4<#~F;9 z3_Oe!HkjWqFT1Ol+qXFDXOo^--h(fzO7z<-V*fu^fBhhJ&Tg>66ax#EW#@linrt%X z21}Z3Hb=9-+;)Mvj6lq^U0^P=#bRn&xPWmxM;VI-8>*Gt1!`Ho)JfFOW&D+en~F|c4UIQBPWvdNqq zETL^~o0buqR|?(W$x!^ZMLb~}p{>mP0a#^-Mi From 8c8a945bc31639da12962acedf5fd6cbd3906a8b Mon Sep 17 00:00:00 2001 From: Ryan Walpole Date: Fri, 28 Apr 2023 11:53:55 +1000 Subject: [PATCH 27/31] Digitally Sign Application Digitally sign the Stardew Valley Mod Manager for v230401 Co-Authored-By: Ryan Walpole <69621127+RyanWalpole@users.noreply.github.com> --- .../Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe index 807f06ac..6eae3222 100644 --- a/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe +++ b/source-code/Mod Manager (Facelift Development)/Stardew Mod Manager/bin/Release/Stardew Mod Manager.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2fb30866dcde2063364b5698aebd9eb428289ba36211d51d5ea41b0f68cc404a -size 8260608 +oid sha256:5261a181576fcb5f128d75010674fc7fe5279b6899d380ce1b2ee74cfcccf7a8 +size 8271200 From 25cc9cdce454624a5b432f0d04ffb6e02a716b10 Mon Sep 17 00:00:00 2001 From: Ryan Walpole Date: Fri, 28 Apr 2023 11:54:17 +1000 Subject: [PATCH 28/31] Publish v230401 Create the setup executables for v230401 Co-Authored-By: Ryan Walpole <69621127+RyanWalpole@users.noreply.github.com> --- version/Latest/StardewModManagerSetup.exe | 4 ++-- version/StardewModManagerSetup.exe | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 version/StardewModManagerSetup.exe diff --git a/version/Latest/StardewModManagerSetup.exe b/version/Latest/StardewModManagerSetup.exe index 4c147f7b..21696479 100644 --- a/version/Latest/StardewModManagerSetup.exe +++ b/version/Latest/StardewModManagerSetup.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dbe4c877558b3f9557a03563be0c79f78e28f6beafa72cc47f272d41909be8c1 -size 25763888 +oid sha256:e7cc6807c5ebe3ced8cf45a8170121b84f170f2d0e8afd01857afbc174e976d3 +size 25823560 diff --git a/version/StardewModManagerSetup.exe b/version/StardewModManagerSetup.exe new file mode 100644 index 00000000..21696479 --- /dev/null +++ b/version/StardewModManagerSetup.exe @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7cc6807c5ebe3ced8cf45a8170121b84f170f2d0e8afd01857afbc174e976d3 +size 25823560 From a1b2735a95d341bdbdfdc0b209bae4727b6add1f Mon Sep 17 00:00:00 2001 From: Ryan Walpole Date: Fri, 28 Apr 2023 11:55:18 +1000 Subject: [PATCH 29/31] Digitally Sign Installer Digitally sign the installer for version 230401 Co-Authored-By: Ryan Walpole <69621127+RyanWalpole@users.noreply.github.com> --- version/Latest/StardewModManagerSetup.exe | 4 ++-- version/StardewModManagerSetup.exe | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/version/Latest/StardewModManagerSetup.exe b/version/Latest/StardewModManagerSetup.exe index 21696479..5948b700 100644 --- a/version/Latest/StardewModManagerSetup.exe +++ b/version/Latest/StardewModManagerSetup.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e7cc6807c5ebe3ced8cf45a8170121b84f170f2d0e8afd01857afbc174e976d3 -size 25823560 +oid sha256:72bed0bb030031c07757338a6e923e02792a0827ac900ac745d011ea334d1425 +size 25823568 diff --git a/version/StardewModManagerSetup.exe b/version/StardewModManagerSetup.exe index 21696479..5948b700 100644 --- a/version/StardewModManagerSetup.exe +++ b/version/StardewModManagerSetup.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e7cc6807c5ebe3ced8cf45a8170121b84f170f2d0e8afd01857afbc174e976d3 -size 25823560 +oid sha256:72bed0bb030031c07757338a6e923e02792a0827ac900ac745d011ea334d1425 +size 25823568 From 8cfd4f568298b6d6698d94098e89c0f691021cae Mon Sep 17 00:00:00 2001 From: Ryan Walpole Date: Fri, 28 Apr 2023 11:55:30 +1000 Subject: [PATCH 30/31] Update Project Files Update SUO and EXE files. Co-Authored-By: Ryan Walpole <69621127+RyanWalpole@users.noreply.github.com> --- .../.vs/Mod Manager/v17/.suo | Bin 255488 -> 234496 bytes .../bin/Release/Stardew Mod Manager.exe | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/source-code/Mod Manager (Facelift Development)/.vs/Mod Manager/v17/.suo b/source-code/Mod Manager (Facelift Development)/.vs/Mod Manager/v17/.suo index c71e44734f7d06d1aea79349c7fd05f1432bea37..b00d5b93115a3d7ecf152dd14b484ec9419098ea 100644 GIT binary patch delta 5872 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 Date: Fri, 28 Apr 2023 11:55:46 +1000 Subject: [PATCH 31/31] Update uc.xml Change the mainline distributed version number to 230401 for update checking. Co-Authored-By: Ryan Walpole <69621127+RyanWalpole@users.noreply.github.com> --- web/uc.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/uc.xml b/web/uc.xml index ef2eb3e4..52f0369d 100644 --- a/web/uc.xml +++ b/web/uc.xml @@ -1,4 +1,4 @@ CVER: - - 230301 + - 230401