Add ATL Simple Object in Visual Studio 2017 - visual-studio

I am working with an old ATL/COM project in Visual Studio 2017.
In previous versions of Visual Studio you could select "Add Class" and then select the option "Add simple ATL object" to add a COM class to the project. This option appears to be completely missing in Visual Studio 2017.
Has the option been moved?
Have I missed an installation option?
Does Visual Studio fail to recognize my project as an ATL project? (It was created with a much older version.)
Or is this the end of the road for ATL?

I'm not sure whether this an answer, but it is too much for a comment and more than just an edit to the question.
I have tested on two systems, with
Visual Studio Community 2017, Version 15.1
Visual Studio Professional 2017, Version 15.3.2
and I believe that the functionality has changed between these two versions. I think it is unlikely to be a difference between the Community and Professional versions.
In both cases I created a new ATL project and tried three ways to add a class:
Add class... from the context menu in the Class View
Add class... from the context menu in the Solution Explorer
Add New Item... from the context menu in the Solution Explorer
With version 15.1, Add Class opens the following dialog, from which I can add an ATL Simple Object.
With version 15.3.2, Add Class opens the following dialog, without any option for an ATL Simple Object.
However, with version 15.3.2, Add New Item opens the following dialog, with a new option to create an ATL Simple Object, which was previously not available in this dialog.
So, it seems that the functionality has been moved. Curiously, it is no longer available in the Class View (which in my opinion is a mistake).

This problem is caused by changes in the project template and code wizard in version 15.3 of Visual Studio 2017.
The operation procedure has changed between version 15.2 or earlier and version 15.3 or later.
The blog article that explained this change is as follows.
Changes to Project Templates and Code Wizards in 15.3
Although it is described as an item in the release notes, there are few people who are watching, and details on how the actual is going on is unknown.
Visual Studio 2017 version 15.3 Release Notes
C++ Language Services
Project and Code Wizard
•We have rewritten several project and code wizards in the signature dialogue style.
•Add Class launches the Add Class wizard directly. All of the other items that were previously here are available under "Add > New Item".
•Win32 projects are under the Windows Desktop category in the New Project dialog.
•The Windows Console and Desktop Application templates now create the projects without displaying a wizard. There's a new Windows Desktop Wizard under the same category that displays the same options as before.

My experience with Visual Studio 2015 version 15.9.2 is that I had to uncheck Security Development Lifecycle (SDL) checks when I added an ATL Project, otherwise when I add the Simple ATL Object I get a messagebox with the error "did not find a .idl file in project name of my project".

Related

How to generate class diagram from project in Visual Studio 2013?

In Visual Studio 2010 I can generate class diagram from my project with 2 clicks. But now in Visual Studio 2013 I don't see the option "View Class Diagram" in project menu. Where did this item disappear? How can I generate class diagram from project now?
Right click on the project in solution explorer or class view window --> "View" --> "View Class Diagram"
For creating real UML class diagrams:
In Visual Studio 2013 Ultimate you can do this without any external tools.
In the menu, click on Architecture, New Diagram
Select UML Class Diagram
This will ask you to create a new Modeling Project if you don't have one already.
You will have a empty UMLClassDiagram.classdiagram.
Again, go to Architecture, Windows, Architecture Explorer.
A window will pop up with your namespaces, Choose Class View.
Then a list of sub-namespaces will appear, if any. Choose one, select the classes and drag them to the empty UMLClassDiagram1.classdiagram window.
Reference: Create UML Class Diagrams from Code
For Visual Studio 2019 and Visual Studio 2017 Users
For People who are missing this old feature in VS2019 (or maybe VS2017) from the old versions of Visual Studio
This feature still available, but it is NOT available by default, you have to install it separately.
Open VS 2019 go to Tools -> Get Tools and Features
Select the Individual components tab and search for Class Designer
Select this Component and Install it, After finish installing this component (you may need to restart visual studio)
Right-click on the project and select Add -> Add New Item
Search for 'class' word and NOW you can see Class Diagram component
see this answer also to see an image associated
https://stackoverflow.com/a/66289543/4390133
(whish that the moderator realized this is the same question and instead of deleting my answer, he could mark one of the questions as duplicated to the other)
Update to create a class-diagram for the whole project
Here is how to generate a diagram for the whole project (after applying the previous steps)
Add class diagram to the project
if the option Preview Selected Items is enabled in the solution explorer, disabled it temporarily, you can re-enable it later
open the class diagram that you created in step 2 (by double-clicking on it)
drag-and-drop the project from the solution explorer to the class diagram

Can I uninstall Visual Basic from Visual Studio 11 beta?

Is it possible to not install all components of Visual Studio 11 Ultimate? Specifically, having Visual Basic installed makes project selection clumsy. While I am at it, I would also uninstall F# and C++, leaving a simpler environment for C# web development. Does the beta not have this granularity yet?
There's no way in the beta to remove languages.
Also if you set your settings in Visual Studio to General Development Settings and VB is listed first in the New Project dialog. Because the beta has a problem where it doesn't remember your last project type you keep getting VB projects selected when doing C# work.
I'm not sure if this is your problem but if it is you can fix this
Go to Tools | Import and Export Settings
Select Import selected environment settings and click Next
Decide if you want to save your settings and click Next
Choose Visual C# Development Settings and click Next
Deselect everything except for the General Settings > New Project Dialog Preferred Language entry and click Finish.
When you add a new project you will have C# as your default.
Hopefully that helps

Visual Studio - I want "Go To Definition" to open Object Browser, not "metadata"

In Visual Studio version 2002 and 2003 "Go To Definition" would find the selected type or member in the Object Browser. In 2005 onwards it opens a source window "generated from metadata" instead. How do I configure these newer versions to go to Object Browser? (In other words, I have the opposite problem to this one.)
Installing ReSharper makes this change, so I know it must be possible, but how do I do it without ReSharper?
As workaround you can create the following macro:
Sub GoToDefinitionUsingObjectBrowser()
DTE.ExecuteCommand("Edit.SelectCurrentWord")
DTE.ExecuteCommand("View.ObjectBrowser")
DTE.ExecuteCommand("View.ObjectBrowserSearch", DTE.ActiveDocument.Selection.Text)
End Sub
Then go to Tools/Options/Keyboard and assign hot key for this macro.
Tested in Visual Studio 2010.
I believe what re-sharper is doing is doing some hooks on that click event with the Visual Studio SDK I do not think there is any simple menu or location that can change that setting.
Instructions (pulled from CODE Magazine) edited down a bit to the part that pertainst to making the right click menus.
Creating a VSPackage
...The VS SDK installs a few more project
templates in Visual Studio, one of
them being the Visual Studio
Integration Package (Figure 1),
located under Other Project Types >
Extensibility on the New Project
dialog box.
After this standard dialog box, the
Visual Studio Integration Package
Wizard guides you through creating the
new package project:
Select a programming language. The wizard currently supports Visual
C++ and Visual C#. You can create or
pick a key file to sign the new
package.
Supply basic VSPackage information. The wizard prompts you
for details such as the company name,
VSPackage name, version, icon,
detailed information, and minimum
Visual Studio edition (such as
Professional or Enterprise) that the
package is designed to at this step.
This information goes into the Visual
Studio splash screen and About dialog
box and is also used to request a PLK
for the package (covered later).
Select VSPackage options. A package may add three types of
functionality: Menu Command, Tool
Window, and Custom Editor.
A menu command is a command added either to the menu
at the top of Visual Studio or
to a context menu (right-click).
When the wizard finishes its job, the
VS SDK adds core elements to the
solution to support the new package.
For instance, if you selected Tool
Window as part of the functionality
for the package, the project contains
a user control where you should place
the visual controls for the window.
The project also contains files for
.NET code to handle the functionality
that you will add to the package.
A CtcComponents folder contains
pseudo-C++ files (ctc files) where you
define things like menu, groups,
buttons, etc. Fortunately, Microsoft
is phasing out CTC files and replacing
them with a friendlier, XML-based VSCT
file format (which will ship in the
SDK for Visual Studio 2008).
The wizard creates a few other files
with .NET code required for the
plumbing of the package within Visual
Studio. Some of these files contain
classes that map the C++ constants to
.NET constants and other files contain
configuration information for the
package when it’s installed.
I know it has been a long time, but it appears, at least in newer versions of Visual Studio for the VB (Basic) language, to be an setting in the options.
Text Editor > Basic > Advanced
Under "Go to Definition".
I don't know why they don't have that for other languages...
Place the mouse cursor on the object you want to access on the object browser. Then, use the keyboard shortcut ctrl + alt + j, which will take you directly to the Object Browser window.

"Show Source of Selected Element Only" in Visual Studio 2003

There is a feature in Eclipse ("Show Source of Selected Element Only") which allows to view the code of the selected method only. All other part of the code is invisible.
I remember that a similar feature was available in Visual Studio 6.0. I would like to know if this feature is available in Visual Studio 2003 and up? If yes, please point out where to find this in the IDE.
This is not available in any one of the later releases. It was called "procedure view" in VS 6. Use outlining feature instead.

How to extend project properties page?

Is it possible to add a custom tab to a project properties page in the Visual Studio 2008?
What I want to do is to be able to add a custom tab to properties page for the projects created from default project templates (WPF Application, WPF custom controls library, etc).
Keith,
I'm working on VS add-in for WPF applications localization. I want to be able to manage project specific settings via "project properties" page. I did some research and it seems that it is not possible to extend existing projects in this way.
It seems that during the time this question was asked, this feature was not implemented in Visual Studio SDK.
There's answer for similar question https://stackoverflow.com/a/5325158/2617201 which refers to Microsoft Documentation at Adding and Removing Property Pages. The article refers to Visual Studio 2015 (later versions should have the same feature).

Resources