So I started my coding journey with Python about 2 years ago. I primarily used IDLE which was super bare bones but was perfect for my needs.
I’m now toying around with Javascript with eventual aspirations to learn C# and maybe something else (Golang maybe, C++ is intimidating). I completed codecademy.com’s course on Javascript, have been running through some algo training on codewars, been playing a little BitBurner, but now I want to actually try to develop my own stuff.
Looks like Visual Studio has an environment that supports Javascript, Python, and C# in one place. How is it? What are some of the positives and negatives of choosing to use Visual Studio moving forward?
Be aware of differences below:
- Visual Studio 2022 / 2019 is All-in-one IDE software (like PyCharm of Python)
- Visual Studio Code (VSCode) is simple Text editor with IDE functions and several extensions
Yes exactly. I believe OP is talking about the former, but what he really wants is the latter
I mean I just want a handy IDE that I can do python, javascript, and eventually c# when I learn it, instead of continuing to use IDLE and whatever IDE javascript comes packages with
Personally I think as a beginner VS is better than VS Code. I’m a professional and VS Code is still overwhelming to me because of the palette system instead of easy drop down menus and whatnot. I want to like VS Code but I can’t get past not knowing what the commands are for the multitude of plugins I need to mimic even a fraction of VS’s capabilities.
Yeah, I get that. I feel vs code is in this super weird limbo of a wannabe user friendly editor, but really not. And you have to deal with json configurations and whatnot. Honestly, for me jetbrains ides are the best full blown ides out there (even though I’m personally using neovim at the moment). I do believe though that vs code has its perks, such as being completely multiplatform and very popular on the web (that is, you can easily find solutions for your problems).
I daily-drive both Visual Studio 2022 and Visual Studio Code in my day job, doing C++ and JavaScript/React development. In general, I find Visual Studio more useful for C++ (especially when debugging) and VS Code more useful for web-based technology like JavaScript. VS is much heavier, and to use it properly you really need to have your solution/projects set up properly. There’s a lot of complexity to the IDE, which is great when you need it but not when you don’t.
VS Code is much lighter-weight and is better if you just want to open a folder as a workspace and do your debugging using something like Chrome dev-tools. I also find search functionality a bit more straightforward in VS Code than VS. The down-side of VS, specifically when talking about compiled languages like C++ and C#, is it’s not set up to build a project out-of-the-box. You have to configure that yourself. That’s not really an issue for something like JavaScript. Another down-side is that you might need to search for an extension to get some functionality you want (such as various language support extensions, or stuff like GitLens), and using a lot of extensions will slow down VS Code.
To sum up, VS 2022 is great for stuff like C++ or C#, where you need the complexity. But VS Code is better for stuff like JavaScript where you don’t.
What are the keybindings to move between panes in VS code? I still haven’t figured out how to manage tabs, splits, panes etc using only the keyboard.
VS is great. Even the Community edition is a fully-fledged IDE. It has robust debugging and profiling tools. Intellisense is wonderful.
It does have some minor annoyances if you ever find yourself having to manually modify project files but otherwise, it’s by far and away my favorite IDE (followed closely behind by IntelliJ)
Is it VisualStudio or VisualStudio Code? They’re two separate products.
Visual Studio Installer says ‘Visual Studio Community 2022’. Opening the application it is only called ‘Visual Studio 2022’.
VS Community edition is kind of the demo/education version of Microsoft’s paid line of IDEs. It’s been a long time since I used the community version so I can’t say if the community edition would make for a great daily driver but I use the paid version every day and it has a lot of great tools that make my work a lot easier.
Unfortunately it seems they cut some of the essential debugging tools out in the free version. The Pro/Enterprise editions are out of most folks price range so the paid line is mostly used by folks who get it through work. I guess it may still be worth giving a try if you intend to work on any of the MS developed technologies.
For personal projects I usually use VSCode. It has some unusual quirks due to being designed around extensions but those extensions really turn it into the swiss army knife of IDEs. The “Remote Development” extension especially has been great with my homelab projects as it lets me edit files on my headless Linux VMs from my Windows PC in a relatively user friendly IDE.
Unfortunately it seems they cut some of the essential debugging tools out in the free version.
I’m not seeing many differences between the Community and Professional version of VS. I’ve only ever used Professional on the job, and I haven’t really noticed too much difference in the way Community works when I use it for my hobby stuff.
Thanks for your input. I took it for a test drive (VS Community) and it seemed ok, took a little fussing to get it to recognize that I already had Python installed. My confusing bit right now is that I have closed a .py file, a, working on a different one, but when I hit run it runs the previous script so I must have something screwed up.
I’ll check out vscode.
Yeah, that behavior is probably a holdover from how it handles running C#, C++, etc projects. Right click on the file you want to run in Solution Explorer and you should see an option to “Set as Startup Item”. The current startup item will be indicated in bold text.
Super helpful! Thanks!
I started using Visual Studio (not Code, wtf were they thinking when they named these things) around 15 years ago.
Back then, it helped me a lot learning C# through excellent (= mostly very fast) code completion/suggestion and lookup tools (peek definitions etc).
I still use it (mostly for Unity), but maybe there are now better IDEs of which I am not aware of.
Currently, I still love the code completion and lookup features, but it became pretty overloaded with features and takes very long to load on my old laptop. Once up and running, it’s fine.
Microsoft has always been terrible at naming things, sometimes I think someone’s having a giggle. Just look at the Xbox line.
- Xbox
- Xbox 360
- Xbox One
- Xbox Series X
- Xbox Series S
And for Unity/Unreal Engine, Jetbrains Rider is a great IDE (though not free like VS Community).
Your list was only the surface of the stupidity of the Xbox model naming nightmare, here is a more comprehensive list:
- Xbox
- Xbox 360
- Xbox 360 Arcade
- Xbox 360 Elite
- Xbox 360 S
- Xbox 360 E
- Xbox One
- Xbox One Elite
- Xbox One S
- Xbox One X
- Xbox One S All-Digital Edition
- Xbox Series X
- Xbox Series S
Since Code and VS have similar names I always get excited searching up extensions only to be disappointed they’re for the other platform 😭
wtf were they thinking when they named these things
What’s funny is that originally “visual” was the selling point in that you design your programs visually rather than through code. With the naming of VS code, they’ve gone full circle. It’s a video game adaptation of a movie adaptation of a video game.
I have made the decision to completely switch from full studio to vs code for my c# development about a year ago. and I haven’t regretted it so far. I work in a company that has a lot of microservices so I tend to switch between projects often.
And with the C# dev kit they just released setting vs code up for c# development is no effort.
I also recently started using profiles more in vs code to quickly switch between c# and web development, and I’m a fan.
I used Visual Studio Code for a while and it was pretty good, it was able to do near everything that I wanted it to do.
However, at some point I kept running into some issues with the autocompletion function (intellisense) and the documentation it shows on functions you’re typing. These popups appear underneath the line you edit and kept obscuring code that I wanted to be able to see.
I could not find a setting to move these popups without disabling Intellisense in its entirety, which annoyed me to no end.That’s why I finally bit the bullet and switched to EMACS a few months ago and while it’s a little less stable, it allows me to configure whatever and however I want to configure. In addition, it allows me to do many things other than programming in the same application. I read my emails in EMACS, I keep to-do lists and agenda in EMACS, I (used to) read Reddit from EMACS. There are lots of possibilities.
EMACS by itself is a very barebones experience, I installed DOOM EMACS, a framework which installs and configures many things for you out-of-the-box, which is very handy for getting started. One potential caveat is that DOOM is designed for vim keybindings which can be difficult to get accustomed to (I love them, though). The vim keybindings can be disabled, though I’m sure there are also other frameworks which take a non-vim approach.
It can be difficult to get started in, but for me EMACS is extremely rewarding.
Edit: I program in Typescript with React, Java, PostgreSQL and Rust all from within EMACS
Ah yes, another member of the emacs church, a good M-x for you my brother and may the evil-mode stay with you
I actually like to use different environments depending on what I’m doing. I tend to use SublimeText with custom build systems for embedded dev. I use VS when I need to use it, for stuff like Marlin firmware, it’s much better than it was when I started. I find that I really like PyCharm for python work. It makes a lot of things just really nice and easy for debugging and the like.
All that said, if you want one environment to rule them all, you could do worse than something like VS or VS Code, especially if you’re interested in primarily MS oriented apps.
I have ADHD so I like to try to cut down on the tools so I don’t get overwhelmed. Happy that works for you!
That’s funny, I’m ADHD as well, the context helps me feel a little more in control and helps me sort things out a little better. ADHD is weird.
I use Visual Studio Community Edition to debug D code (works well for the most part, except it doesn’t always want to handle D exceptions - I will try to upgrade the plugin), while I’m using VSCode as my text editor (does not force me to use the VS build system, and instead I can just use dub - best build system, but by build system standard).
VS Code is great. I use it for JavaScript (usually Svelte or React) and Python (Django only). It is pretty resource-intensive if you are live-updating everything so don’t go overboard on plug-ins and shut down un-needed apps.
vs code is a text editor which can be extended to be an ide with extensions for a specific language
C++ is pretty hard to set up and debug without a specialized ide, so if you want to get into low level programming i wound recommend rust. rust’s documentation is fantastic, the compiler helps you and it protects you from some of the worst bugs that can arise in c++
@ivy Rust is just such an ugly looking language to me. I tried to learn it, but just never liked how I had to write code. Pretty superficial reason to drop it, but it just never jelled with me, so meh
Thanks Ivy.
Would you recommend a different environment to code in? Or would Visual Studio be plenty fine with the extensions?
8 years ago when I did javascript/typescript I preferred VS Code. VS Code also has extentions for python and C#. C# extention is not fantastic, but should be fine for a small training project. VS Code also works OK for Rust.
pros:
- clean interface
- good ux
- bunch of extensions
- open source version (vscodium) exists
cons:
- microsoft
- electron app (slow to open)
Thanks so much!
To be clear, Visual Studio Code is the Electron app. Visual Studio is not.