Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Making the project creation and use more intuitive #6587

Closed
nav9 opened this issue Nov 27, 2020 · 4 comments
Closed

Making the project creation and use more intuitive #6587

nav9 opened this issue Nov 27, 2020 · 4 comments
Labels
Language Service more info needed The issue report is not actionable in its current state tasks/build/debug An issue relating to tasks.json (e.g. build issues)

Comments

@nav9
Copy link

nav9 commented Nov 27, 2020

Type: General

Hi. This is an offshoot of this feature request microsoft/vscode#111339 which they requested me to post here. It's basically about making the project creation and use a more intuitive process.

@TryerGit
Copy link

A project means different things in different contexts. In Visual Studio IDE, a project usually refers to a .vcxproj file. While I can understand your pain at transitioning to VSCode, please note that my view is that it is a sophisticated and powerful text editor (I do not work for Microsoft and am an anonymous user, so caveat emptor) and not an IDE. Its power comes precisely from the fact that it is bare-bones and requires the user to configure stuff. In this respect, I think it is like Vim. (Personally, I prefer VSCode to Vim for C++ development but that is my view and there are others who will disagree vehemently.)

An IDE is helpful for users but also hides many things behind the scenes. I worked many years using Visual Studio IDE without knowing anything about cl.exe or msbuild.exe or what a .vcxproj file does or how one can set properties using .props property sheet files. However, in transitioning to VSCode, I have learned more about these components, what Visual Studio IDE does behind the scene when building a project. Likewise, on Linux systems, one can use an IDE but doing so hides knowledge about how compilation and build happens using g++, gcc, Makefiles, etc. To become a more complete developer, I feel these are important pieces of knowledge.

In any case, I made a post on Stack Overflow about how one can use VSCode coming from Visual Studio background on Windows or a Netbeans background in linux.

https://stackoverflow.com/a/65015872/492307

Hope that helps.

@sean-mcmanus
Copy link
Collaborator

sean-mcmanus commented Nov 30, 2020

@nav9 We need more info about you're looking for. What OS and compiler and build system do you intend to use? Did you see the tutorial docs at https://code.visualstudio.com/docs/cpp/config-msvc, https://code.visualstudio.com/docs/cpp/config-wsl, etc.?

VS Code doesn't really have "projects". You're expected to install whatever compiler and build systems you need yourself since those are available externally. However, if you install the CMake Tools extension (and a compiler), open an empty folder, run CMake: Quick Start and follow the various popup prompts, then it'll create a basic CMakeLists.txt for building, a main.cpp, and then you can do CMake: Debug, which is sort of a like a "project". See
image

If you don't want to use CMake, you could use tasks.json to build (e.g. Build and Debug Active file).

@sean-mcmanus sean-mcmanus added tasks/build/debug An issue relating to tasks.json (e.g. build issues) Language Service more info needed The issue report is not actionable in its current state labels Nov 30, 2020
@nav9
Copy link
Author

nav9 commented Dec 1, 2020

Thank you Sean. Well, if the IDE and extensions are designed to be as such, then there is nothing more for me to say. I apologize for taking up your time.
I was using it on Ubuntu 16.04. gcc 4.5.

@bobbrow
Copy link
Member

bobbrow commented Dec 2, 2020

For what it's worth, the VS Code team is working on improvements to the Welcome screen which provides an opportunity for us to explore defining some "getting started" type tasks (e.g. create a C++ project). While it's true we don't try to be an IDE by packaging compilers and such together, I think there are some things we can do to make the out-of-box experience nicer for people. Thank you for your feedback.

@github-actions github-actions bot locked and limited conversation to collaborators Jan 16, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Language Service more info needed The issue report is not actionable in its current state tasks/build/debug An issue relating to tasks.json (e.g. build issues)
Projects
None yet
Development

No branches or pull requests

4 participants