Sign in to follow this  
_unreal

C++ Programming - What IDE to use ?

Recommended Posts

Just starting with my 3D game engine and i'm wandering what would the best IDE to use:

 

I have at the moment the following;

- Visual studio 2012 (with added plugins)

- Code-blocks

 

I'm just wandering is there something i'm missing that could be better, i personally prefer Visual studio at the moment.

 

So what i wan't to know any other possible IDE's i could use

 

Thanks in advance

Share this post


Link to post
Share on other sites

If there was such a thing as the "best" IDE then there would only be one on the market (and everyone would be using it). Clearly this isn't the case and each have their own pros and cons. VS is a mighty fine IDE but of course it's Windows only so if you were working on multiple platforms then it might be more convenient to use a cross-platform IDE (of which there are a few). However, you state that you personally prefer VS so unless you have other requirements not stated in your OP then I see no pressing reason to switch to another.

Edited by GeneralQuery

Share this post


Link to post
Share on other sites

From your recent posts I see that you plan on working with Direct X so I guess you only target windows. If I'm right, I suggest you to continue with Visual Studio. I personally think its the best C++ IDE for windows, mainly because of its fast and reliable debugger (especially if you ever need to do remote debugging, using gdb for remote debugging is a pain in the ass...).

 

If you plan on going cross-platform, Qt Creator + CMake is a nice setup. The IDE is cross-platform, modern and provides a lots of tools (refactoring, code completion, gui designer with Qt -> nice for the engine's tools) while CMake give you a lots of flexibility and gives you a way to easily  package your software across all platforms.

Share this post


Link to post
Share on other sites

CodeBlocks for Linux development.

VisualStudio2010 or CodeBlocks for Windows development.

If you're creating both Linux and Windows applications, CodeBlocks alone is fine.

Eclipse is very slow and extremely annoying in certain ways.

Edited by maxgpgpu

Share this post


Link to post
Share on other sites

- Visual studio 2012 (with added plugins)

If I recall correctly, VS Express doesn't have plugins, so you have the Professional edition... right?

VS is clunky out of the box, but with plugins it can become pretty nice. (Even if it still kind of sucks at editing text.) If you don't have Visual Assist X already, get it. It's not too expensive for what it does.

Share this post


Link to post
Share on other sites
 

Others are not even close.

 
I wonder with this statement if you even used other IDEs. Or you must mean that other IDE don't come close because they are already far ahead. But when it comes to code editing, Visual Studio is probably the least innovative and modern IDE you can think of. The main strong point of VS is the debugger, but for writing code it's horribly unproductive to work with VS (at least with the basic product without plugins).

Some things I'm missing from Visual Studio that for example QtCreator has natively:
- Smart indention (copy/paste a piece of code into a scope with different indention and it automatically adds or remove tabs for you, rather then manually select all lines and press tab several times).
- Pointer recognition (press . after a variable that is a pointer and it is replaced with -> automatically).
- Automatic closing quotes/brackets for literals/function calls/scopes/includes.
- Hotswap between cpp/header (VS only has this for cpp>header using context menu).
- Hotswap between declaration/implementation (VS only has separate go to definition/declaration that is still slow and buggy with large projects).
- Syntax highlighting is still limited in VS without plugins, although it's catching up with 2012.

Basically, when it comes to writing code, I find using plain old Visual Studio without third party plugins bad for your productivity.

Share this post


Link to post
Share on other sites

Some things I'm missing from Visual Studio that for example QtCreator has natively:
- Smart indention (copy/paste a piece of code into a scope with different indention and it automatically adds or remove tabs for you, rather then manually select all lines and press tab several times).
- Pointer recognition (press . after a variable that is a pointer and it is replaced with -> automatically).
- Automatic closing quotes/brackets for literals/function calls/scopes/includes.
- Hotswap between cpp/header (VS only has this for cpp>header using context menu).
- Hotswap between declaration/implementation (VS only has separate go to definition/declaration that is still slow and buggy with large projects).
- Syntax highlighting is still limited in VS without plugins, although it's catching up with 2012.

Basically, when it comes to writing code, I find using plain old Visual Studio without third party plugins bad for your productivity.

None of those things would be particularly hard to implement (on top of the intellisense engine they already have, anyway). I think the only reason Microsoft hasn't added them is because they would put Visual Assist X (which includes all of your bullet points) out of business. Edited by Nypyren

Share this post


Link to post
Share on other sites

You could try QtCreator also. From what I've heard it has amazing syntax highlighting and can be very useful.

 

I use Visual Studio for C++, and Eclipse for Java. CodeBlocks is very good also, however when I used it (was my first IDE), the syntax highlighting would get in the way a lot.

 

Cheers :)!

Share this post


Link to post
Share on other sites
Im not really sure, I'd have to say codeblocks even still, because you can use a cross platform wxWidgets toolkit for GUI stuff which does allot more than .NET framework controls. It can do MDI and allow docking floating panels, it also has a Scintilla wrapper, which is like a code editor with the line numbers and stuff and it can be customized and parses pretty much all of the known languages, being XML HTML C# C++ Java Basic you name it. But if you really just want an easy to use game programming IDE and language for only Windows development, use XNA & Visual C#.

Share this post


Link to post
Share on other sites

Im not really sure, I'd have to say codeblocks even still, because you can use a cross platform wxWidgets toolkit for GUI stuff which does allot more than .NET framework controls. It can do MDI and allow docking floating panels, it also has a Scintilla wrapper, which is like a code editor with the line numbers and stuff and it can be customized and parses pretty much all of the known languages, being XML HTML C# C++ Java Basic you name it. But if you really just want an easy to use game programming IDE and language for only Windows development, use XNA & Visual C#.

 

I think you're confusing a lot of different concepts into this discussion. There is a question about what IDE to use on the table but most of your responses have been why cross platform solutions are better than Windows solutions (which may be perfectly valid, but just seems a bit off topic). OpenGL was something you mentioned, that can be used with any IDE. wxWidgets is a valid toolkit suggestion for GUI stuff, but again, that can be used from any IDE.

 

Visual Studio doesn't limit you to the .Net framework and CodeBlocks isn't the only avenue to wxWidgets.

 

I think the OP has gotten the best available suggestions available on IDEs so I have nothing new to add on that front.

Share this post


Link to post
Share on other sites

Im not really sure, I'd have to say codeblocks even still, because you can use a cross platform wxWidgets toolkit for GUI stuff which does allot more than .NET framework controls. It can do MDI and allow docking floating panels, it also has a Scintilla wrapper, which is like a code editor with the line numbers and stuff and it can be customized and parses pretty much all of the known languages, being XML HTML C# C++ Java Basic you name it. But if you really just want an easy to use game programming IDE and language for only Windows development, use XNA & Visual C#.

 

I've said this before and I'll say it again.

 

When somebody is starting out, learning things for the first time, ambitions of being cross-platform should be the last thing on their minds, the bottom of any concievable priority list.

 

They have enough to be doing as it is.  There's a huge body of knowledge that they need to build up on just one platform; multiply that out by the number of possible platforms they may wish to hit and you've a recipe for failure.  No, libraries and toolkits aren't good enough - there are still enough platform-specific quirks that they fail to abstract out fully.  Learning new stuff, making it work, dealing with mistakes and misunderstandings, and having to do it all over again for each aditional platform - that's just not gonna fly.

 

There's nothing wrong with aiming to go cross-platform, but just not for the first project.  Recommendations to (paraphrasing here) "use OpenGL because it will help you get on the iStore" are neither helpful nor constructive here, nor are they even remotely on-topic with respect to the question actually being asked.

Share this post


Link to post
Share on other sites
Did you not read my last sentence? That is why I suggested XNA and Visual C# if he really want's something basic to start out with. But if he really wants to learn 3D programming the real technical way (DirectX/OpenGL) I would suggest he learn OGL it is much better I think to learn with than DirectX, plus it saves him from wasting his time learning DirectX. I would start with OGL and then learn DirectX, allot of DX code is pretty archaic and it is nowhere as safe as OGL programming.

Personally I would suggest he use something like Unity3D or Game Maker, or more specifically the open source free Game Maker that I am a developer for.

Share this post


Link to post
Share on other sites

As previously said, I also suggest Visual Studio, it is great on Windows OS, well it is the best I know...

 

If you ever go to other platforms ( for example Linux ), then I suggest to use QtCreator, it has a really good debugger and the usability is awesome, but it really feels a bit strange to use it for "normal" C++ code. But there is a good alternate too, like Code::Blockswink.png

 

However, if you consider making something big and multi-platform ,it is better to use cmake or other build tools instead the internal project management of Visual Studio or qmake( it's not bad, but not useful for non-qt development ).

Edited by Indloon

Share this post


Link to post
Share on other sites

Did you not read my last sentence? That is why I suggested XNA and Visual C# if he really want's something basic to start out with. But if he really wants to learn 3D programming the real technical way (DirectX/OpenGL) I would suggest he learn OGL it is much better I think to learn with than DirectX, plus it saves him from wasting his time learning DirectX. I would start with OGL and then learn DirectX, allot of DX code is pretty archaic and it is nowhere as safe as OGL programming.

Personally I would suggest he use something like Unity3D or Game Maker, or more specifically the open source free Game Maker that I am a developer for.

 

Strikes me that it's a LONG time since you've last had experience of D3D code (and the arguments you're making can be quite easily destroyed, but save them for another topic, which - I more than half suspect - the mods will shut down in pretty short order). 

 

The core point remains - the question was relating to an IDE, not an API or framework.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this