What is Visual Studio and what are its top alternatives?
Visual Studio is a popular integrated development environment (IDE) developed by Microsoft, known for its extensive features and robust tools for software development. It supports a variety of programming languages, provides code editing, debugging, and project management capabilities, along with collaboration tools. However, Visual Studio is Windows-centric, resource-intensive, and can be overwhelming for beginners.
- IntelliJ IDEA: An IDE for Java development with smart editing features and tools. Pros include great refactoring capabilities, easy integration with build tools, and support for multiple languages. Cons compared to Visual Studio are its higher cost for the ultimate edition and limited support for some languages.
- Eclipse: A widely used IDE for Java development known for its extensibility and plugin ecosystem. Key features include a strong community support, flexibility in tool integration, and compatibility with various programming languages. However, Eclipse can be slow in performance compared to Visual Studio and may have a steep learning curve.
- Atom: A customizable text editor with a wide range of plugins for web development. Pros include a user-friendly interface, cross-platform support, and a vibrant community contributing to its features. Compared to Visual Studio, Atom may lack some advanced IDE features and could be slower for larger projects.
- Sublime Text: A lightweight and fast text editor suitable for coding in multiple languages. Key features include a distraction-free mode, powerful search and navigation tools, and customizable key bindings. However, Sublime Text lacks some of the integrated development features present in Visual Studio and may require additional plugins for advanced functionality.
- NetBeans: An open-source IDE primarily used for Java development, offering a range of tools for code editing, debugging, and project management. Pros include a modular architecture, excellent Maven support, and extensive plugin capabilities. Compared to Visual Studio, NetBeans may have slightly fewer features and a less polished user interface.
- PyCharm: An IDE specifically designed for Python development with intelligent code assistance and productivity tools. Key features include built-in tools for data science, web development, and version control integration. Compared to Visual Studio, PyCharm is more specialized for Python development and may not offer as broad language support.
- Code::Blocks: A free and open-source IDE for C, C++, and Fortran development with customizable interface and plugin support. Pros include its lightweight nature, compiler integration, and multi-platform compatibility. However, compared to Visual Studio, Code::Blocks may have a less polished user experience and fewer advanced features.
- Xcode: An IDE developed by Apple for macOS and iOS development, providing tools for interface design, debugging, and performance analysis. Key features include a visual editor for building user interfaces, Swift language support, and integration with Apple's developer tools. When compared to Visual Studio, Xcode is more specialized for Apple platform development and may lack support for other languages.
- Brackets: A lightweight and open-source text editor focused on web development with live preview and preprocessor support. Pros include a clean interface, integration with Adobe Creative Cloud services, and extension support. However, Brackets may lack some advanced features found in Visual Studio and be more limited in language support.
- CLion: An intelligent IDE for C and C++ development with code analysis, refactorings, and integrations. Key features include CMake support, embedded development tools, and cross-platform capabilities. Compared to Visual Studio, CLion may have a steeper learning curve and a smaller community ecosystem.
Top Alternatives to Visual Studio
- IntelliJ IDEA
Out of the box, IntelliJ IDEA provides a comprehensive feature set including tools and integrations with the most important modern technologies and frameworks for enterprise and web development with Java, Scala, Groovy and other languages. ...
- Visual Studio Code
Build and debug modern web and cloud applications. Code is free and available on your favorite platform - Linux, Mac OSX, and Windows. ...
- Eclipse
Standard Eclipse package suited for Java and plug-in development plus adding new plugins; already includes Git, Marketplace Client, source code and developer documentation. Click here to file a bug against Eclipse Platform. ...
- Atom
At GitHub, we're building the text editor we've always wanted. A tool you can customize to do anything, but also use productively on the first day without ever touching a config file. Atom is modern, approachable, and hackable to the core. We can't wait to see what you build with it. ...
- CLion
Knowing your code through and through, CLion can take care of the routine while you focus on the important things. Boost your productivity with the keyboard-centric approach (Vim-emulation plugin is also available in plugin repository), full coding assistance, smart and relevant code completion, fast project navigation, intelligent intention actions, and reliable refactorings. ...
- Visual Basic
Visual Basic is derived from BASIC and enables the rapid application development (RAD) of graphical user interface (GUI) applications, access to databases using Data Access Objects, Remote Data Objects, or ActiveX Data Objects, and creation of ActiveX controls and objects. ...
- PyCharm
PyCharm’s smart code editor provides first-class support for Python, JavaScript, CoffeeScript, TypeScript, CSS, popular template languages and more. Take advantage of language-aware code completion, error detection, and on-the-fly code fixes! ...
- Xcode
The Xcode IDE is at the center of the Apple development experience. Tightly integrated with the Cocoa and Cocoa Touch frameworks, Xcode is an incredibly productive environment for building amazing apps for Mac, iPhone, and iPad. ...
Visual Studio alternatives & related posts
- Fantastically intelligent301
- Best-in-class ide242
- Many languages support190
- Java158
- Fast121
- Code analysis82
- Reliable79
- Out of the box integration with maven, git, svn76
- Plugin architecture64
- Integrated version control61
- Code refactoring support12
- Best java IDE11
- Local history7
- Code Completion6
- Kotlin6
- Integrated Database Navigator6
- Built-in terminal/run tools6
- All5
- Free for open-source development, students and teacher5
- Base for Android Studio5
- Free If you're a Student5
- ERD Diagrams4
- Free4
- Cross platform4
- IDE4
- Database/Code integration4
- Out Of The Box features3
- Column Selection Mode3
- Server and client-side debugger3
- More than enough languages for any developer3
- Typescript support3
- Multicursor support3
- Reformating Code3
- Intuitive3
- Command-line tools3
- Android Integration3
- Vim support3
- Special icons for most filetypes in project list3
- Supports many frameworks3
- Built-in web server3
- Live Templates3
- Scala support3
- Works fine with mac os catalina2
- A lot of plugin2
- Just works2
- Integrated Ssh/Ftp Managers2
- Full support2
- Task managers2
- Diff tools2
- File Watchers2
- Support for various package managers2
- Integrated Code Linting2
- Clean UI2
- Open source2
- So modernised2
- Efficient, one Stop solution2
- Large footprint required to really enjoy (mem/disc)20
- Very slow16
- Bad for beginners8
- UI is not intuitive7
- Not nearly as many tools to integrate as vs code5
- Constant reindexing5
- Needs a lot of CPU and RAM power4
- Built in terminal is slow3
- Doesn't work that well with windows 10 edu3
- Ruby is a plug in1
- Pesky warnings increase with every release1
- AAD0
related IntelliJ IDEA posts
UPDATE: Thanks for the great response. I am going to start with VSCode based on the open source and free version that will allow me to grow into other languages, but not cost me a license ..yet.
I have been working with software development for 12 years, but I am just beginning my journey to learn to code. I am starting with Python following the suggestion of some of my coworkers. They are split between Eclipse and IntelliJ IDEA for IDEs that they use and PyCharm is new to me. Which IDE would you suggest for a beginner that will allow expansion to Java, JavaScript, and eventually AngularJS and possibly mobile applications?
I am a QA heading to a new company where they all generally use Visual Studio Code, my experience is with IntelliJ IDEA and PyCharm. The language they use is JavaScript and so I will be writing my test framework in javaScript so the devs can more easily write tests without context switching.
My 2 questions: Does VS Code have Cucumber Plugins allowing me to write behave tests? And more importantly, does VS Code have the same refactoring tools that IntelliJ IDEA has? I love that I have easy access to a range of tools that allow me to refactor and simplify my code, making code writing really easy.
Visual Studio Code
- Powerful multilanguage IDE340
- Fast308
- Front-end develop out of the box193
- Support TypeScript IntelliSense158
- Very basic but free142
- Git integration126
- Intellisense106
- Faster than Atom78
- Better ui, easy plugins, and nice git integration53
- Great Refactoring Tools45
- Good Plugins44
- Terminal42
- Superb markdown support38
- Open Source36
- Extensions35
- Awesome UI26
- Large & up-to-date extension community26
- Powerful and fast24
- Portable22
- Best code editor18
- Best editor18
- Easy to get started with17
- Lots of extensions15
- Good for begginers15
- Crossplatform15
- Built on Electron15
- Extensions for everything14
- Open, cross-platform, fast, monthly updates14
- All Languages Support14
- Easy to use and learn13
- "fast, stable & easy to use"12
- Extensible12
- Ui design is great11
- Totally customizable11
- Git out of the box11
- Useful for begginer11
- Faster edit for slow computer11
- SSH support10
- Great community10
- Fast Startup10
- Works With Almost EveryThing You Need9
- Great language support9
- Powerful Debugger9
- It has terminal and there are lots of shortcuts in it9
- Can compile and run .py files8
- Python extension is fast8
- Features rich7
- Great document formater7
- He is not Michael6
- Extension Echosystem6
- She is not Rachel6
- Awesome multi cursor support6
- VSCode.pro Course makes it easy to learn5
- Language server client5
- SFTP Workspace5
- Very proffesional5
- Easy azure5
- Has better support and more extentions for debugging4
- Supports lots of operating systems4
- Excellent as git difftool and mergetool4
- Virtualenv integration4
- Better autocompletes than Atom3
- Has more than enough languages for any developer3
- 'batteries included'3
- More tools to integrate with vs3
- Emmet preinstalled3
- VS Code Server: Browser version of VS Code2
- CMake support with autocomplete2
- Microsoft2
- Customizable2
- Light2
- Big extension marketplace2
- Fast and ruby is built right in2
- File:///C:/Users/ydemi/Downloads/yuksel_demirkaya_webpa1
- Slow startup46
- Resource hog at times29
- Poor refactoring20
- Poor UI Designer13
- Weak Ui design tools11
- Poor autocomplete10
- Super Slow8
- Huge cpu usage with few installed extension8
- Microsoft sends telemetry data8
- Poor in PHP7
- It's MicroSoft6
- Poor in Python3
- No Built in Browser Preview3
- No color Intergrator3
- Very basic for java development and buggy at times3
- No built in live Preview3
- Electron3
- Bad Plugin Architecture2
- Powered by Electron2
- Terminal does not identify path vars sometimes1
- Slow C++ Language Server1
related Visual Studio Code posts
Our first experience with .NET core was when we developed our OSS feature management platform - Tweek (https://github.com/soluto/tweek). We wanted to create a solution that is able to run anywhere (super important for OSS), has excellent performance characteristics and can fit in a multi-container architecture. We decided to implement our rule engine processor in F# , our main service was implemented in C# and other components were built using JavaScript / TypeScript and Go.
Visual Studio Code worked really well for us as well, it worked well with all our polyglot services and the .Net core integration had great cross-platform developer experience (to be fair, F# was a bit trickier) - actually, each of our team members used a different OS (Ubuntu, macos, windows). Our production deployment ran for a time on Docker Swarm until we've decided to adopt Kubernetes with almost seamless migration process.
After our positive experience of running .Net core workloads in containers and developing Tweek's .Net services on non-windows machines, C# had gained back some of its popularity (originally lost to Node.js), and other teams have been using it for developing microservices, k8s sidecars (like https://github.com/Soluto/airbag), cli tools, serverless functions and other projects...
Our whole DevOps stack consists of the following tools:
- GitHub (incl. GitHub Pages/Markdown for Documentation, GettingStarted and HowTo's) for collaborative review and code management tool
- Respectively Git as revision control system
- SourceTree as Git GUI
- Visual Studio Code as IDE
- CircleCI for continuous integration (automatize development process)
- Prettier / TSLint / ESLint as code linter
- SonarQube as quality gate
- Docker as container management (incl. Docker Compose for multi-container application management)
- VirtualBox for operating system simulation tests
- Kubernetes as cluster management for docker containers
- Heroku for deploying in test environments
- nginx as web server (preferably used as facade server in production environment)
- SSLMate (using OpenSSL) for certificate management
- Amazon EC2 (incl. Amazon S3) for deploying in stage (production-like) and production environments
- PostgreSQL as preferred database system
- Redis as preferred in-memory database/store (great for caching)
The main reason we have chosen Kubernetes over Docker Swarm is related to the following artifacts:
- Key features: Easy and flexible installation, Clear dashboard, Great scaling operations, Monitoring is an integral part, Great load balancing concepts, Monitors the condition and ensures compensation in the event of failure.
- Applications: An application can be deployed using a combination of pods, deployments, and services (or micro-services).
- Functionality: Kubernetes as a complex installation and setup process, but it not as limited as Docker Swarm.
- Monitoring: It supports multiple versions of logging and monitoring when the services are deployed within the cluster (Elasticsearch/Kibana (ELK), Heapster/Grafana, Sysdig cloud integration).
- Scalability: All-in-one framework for distributed systems.
- Other Benefits: Kubernetes is backed by the Cloud Native Computing Foundation (CNCF), huge community among container orchestration tools, it is an open source and modular tool that works with any OS.
- Does it all131
- Integrates with most of tools76
- Easy to use64
- Java IDE63
- Best Java IDE32
- Open source9
- Hard for newbews3
- Great gdb integration2
- Professional2
- Good Git client allowing direct stage area edit2
- True open source with huge contribution2
- Great code suggestions2
- Extensible2
- Lightweight2
- Works with php0
- 2000 Design14
- Bad performance9
- Hard to use4
related Eclipse posts
UPDATE: Thanks for the great response. I am going to start with VSCode based on the open source and free version that will allow me to grow into other languages, but not cost me a license ..yet.
I have been working with software development for 12 years, but I am just beginning my journey to learn to code. I am starting with Python following the suggestion of some of my coworkers. They are split between Eclipse and IntelliJ IDEA for IDEs that they use and PyCharm is new to me. Which IDE would you suggest for a beginner that will allow expansion to Java, JavaScript, and eventually AngularJS and possibly mobile applications?
Have been a Visual Studio Code user since just after launch to the general public, having used the likes of Eclipse and Atom previously. Was amazed how mature it seemed off the bat and was super intrigued by the bootstrapped nature of it having been written/based on Electron/TypeScript, and of course being an open-source app from Microsoft. The features, plugin ecosystem and release frequency are very impressive. I do dev work on both Mac and Windows and don't use anything else now as far as IDEs go.
- Free529
- Open source449
- Modular design343
- Hackable321
- Beautiful UI316
- Backed by github147
- Built with node.js119
- Web native113
- Community107
- Packages35
- Cross platform18
- Nice UI5
- Multicursor support5
- TypeScript editor5
- Open source, lots of packages, and so configurable3
- cli start3
- Simple but powerful3
- Chrome Inspector works IN EDITOR3
- Snippets3
- Code readability2
- It's powerful2
- Awesome2
- Smart TypeScript code completion2
- Well documented2
- works with GitLab1
- "Free", "Hackable", "Open Source", The Awesomness1
- full support1
- vim support1
- Split-Tab Layout1
- Apm publish minor1
- Consistent UI on all platforms1
- User friendly1
- Hackable and Open Source1
- Publish0
- Slow with large files19
- Slow startup7
- Most of the time packages are hard to find.2
- No longer maintained1
- Cannot Run code with F51
- Can be easily Modified1
related Atom posts
I liked Sublime Text for its speed, simplicity and keyboard shortcuts which synergize well when working on scripting languages like Ruby and JavaScript. I extended the editor with custom Python scripts that improved keyboard navigability such as autofocusing the sidebar when no files are open, or changing tab closing behavior.
But customization can only get you so far, and there were little things that I still had to use the mouse for, such as scrolling, repositioning lines on the screen, selecting the line number of a failing test stack trace from a separate plugin pane, etc. After 3 years of wearily moving my arm and hand to perform the same repetitive tasks, I decided to switch to Vim for 3 reasons:
- your fingers literally don’t ever need to leave the keyboard home row (I had to remap the escape key though)
- it is a reliable tool that has been around for more than 30 years and will still be around for the next 30 years
- I wanted to "look like a hacker" by doing everything inside my terminal and by becoming a better Unix citizen
The learning curve is very steep and it took me a year to master it, but investing time to be truly comfortable with my #TextEditor was more than worth it. To me, Vim comes close to being the perfect editor and I probably won’t need to switch ever again. It feels good to ignore new editors that come out every few years, like Atom and Visual Studio Code.
We use Visual Studio Code because it allows us to easily and quickly integrate with Git, much like Sublime Merge ,but it is integrated into the IDE. Another cool part about VS Code is the ability collaborate with each other with Visual Studio Live Share which allows our whole team to get more done together. It brings the convenience of the Google Suite to programming, offering something that works more smoothly than anything found on Atom or Sublime Text
- Good editor31
- Easy setup30
- Powerful refactoring, extremely smart IDE24
- Already one of the best C/C++ IDEs, even before launch24
- Cross-platform build21
- Clean, Sleek User Interface19
- Much faster and smarter than Intellisense18
- Vertically/Horizontally split windows13
- Great navigation, error messages and auto completion12
- Vim plugin9
- Not a 20gb installation9
- It is best IDE6
- Like this one because of - not a 20GB installation3
- Free Flowing C++ IDE2
- IDE supports Python with all features of PyCharm CE1
- Very good Git plugin1
- Cheap, just 99 USD for the first year1
- No good support for Makefiles2
- Not free, unless you are a student2
related CLion posts
Visual Basic
- ALGOL-like syntax makes code more readable5
- XML Literals3
- Specific to the microsoft platform4
related Visual Basic posts
- Smart auto-completion112
- Intelligent code analysis93
- Powerful refactoring77
- Virtualenv integration60
- Git integration54
- Support for Django22
- Multi-database integration11
- VIM integration7
- Vagrant integration4
- In-tool Bash and Python shell3
- Plugin architecture2
- Docker2
- Django Implemented1
- Debug mode support docker1
- Emacs keybinds1
- Perforce integration1
- Slow startup10
- Not very flexible7
- Resource hog6
- Periodic slow menu response3
- Pricey for full features1
related PyCharm posts
UPDATE: Thanks for the great response. I am going to start with VSCode based on the open source and free version that will allow me to grow into other languages, but not cost me a license ..yet.
I have been working with software development for 12 years, but I am just beginning my journey to learn to code. I am starting with Python following the suggestion of some of my coworkers. They are split between Eclipse and IntelliJ IDEA for IDEs that they use and PyCharm is new to me. Which IDE would you suggest for a beginner that will allow expansion to Java, JavaScript, and eventually AngularJS and possibly mobile applications?
I am a QA heading to a new company where they all generally use Visual Studio Code, my experience is with IntelliJ IDEA and PyCharm. The language they use is JavaScript and so I will be writing my test framework in javaScript so the devs can more easily write tests without context switching.
My 2 questions: Does VS Code have Cucumber Plugins allowing me to write behave tests? And more importantly, does VS Code have the same refactoring tools that IntelliJ IDEA has? I love that I have easy access to a range of tools that allow me to refactor and simplify my code, making code writing really easy.
- IOS Development130
- Personal assistant on steroids33
- Easy setup29
- Excellent integration with Clang17
- Beautiful3
- Built-in everything1
- Massively bloated and complicated for smaller projects6
- Horrible auto completiting and text editing3
- Slow startup1
- Very slow emulator1
related Xcode posts
As a Engineering Manager & Director at SmartZip, I had a mix of front-end, back-end, #mobile engineers reporting to me.
Sprints after sprints, I noticed some inefficiencies on the MobileDev side. People working multiple sprints in a row on their Xcode / Objective-C codebase while some others were working on Android Studio. After which, QA & Product ensured both applications were in sync, on a UI/UX standpoint, creating addional work, which also happened to be extremely costly.
Our resources being so limited, my role was to stop this bleeding and keep my team productive and their time, valuable.
After some analysis, discussions, proof of concepts... etc. We decided to move to a single codebase using React Native so our velocity would increase.
After some initial investment, our initial assumptions were confirmed and we indeed started to ship features a lot faster than ever before. Also, our engineers found a way to perform this upgrade incrementally, so the initial platform-specific codebase wouldn't have to entirely be rewritten at once but only gradually and at will.
Feedback around React Native was very positive. And I doubt - for the kind of application we had - no one would want to go back to two or more code bases. Our application was still as Native as it gets. And no feature or device capability was compromised.
I've recently switched to using Expo for initializing and developing my React Native apps. Compared to React Native CLI, it's so much easier to get set up and going. Setting up and maintaining Android Studio, Android SDK, and virtual devices used to be such a headache. Thanks to Expo, I can now test my apps directly on my Android phone, just by installing the Expo app. I still use Xcode Simulator for iOS testing, since I don't have an iPhone, but that's easy anyway. The big win for me with Expo is ease of Android testing.
The Expo SDK also provides convenient features like Facebook login, MapView
, push notifications, and many others. https://docs.expo.io/versions/v31.0.0/sdk/