I am curious to know kinds of setups you guys use when working on projects outside of CP and what kind of features you look for.
The IDE I have been most satisfied with thus far is CLion. CLion is not a free IDE but students are qualified for free licenses. I am quite happy with it thus far except that it is a bit slow. Also, I would like to use a tool that is free to use even when I am no longer a student.
From what I know, Visual Studio is the industry standard, but I have always been drawn away from it because I am most comfortable with GCC and know next to nothing about MSVC. Also, as I understand a lot of nice features of Visual Studio come with the Visual Assist extension which is not free. It is also not available on Linux (I dual boot, so I could kind of live with this but it is not ideal).
I have also used VSCode for a while, but I found VSCode's autocomplete to be quite bad even with the C++ extension installed, and it was also really slow (especially the autocomplete).
Recently I started experimenting with QtCreator but I haven't had enough experience with it to say much. It feels snappier than CLion but the UI is a bit different most IDEs I have worked with and I get a bit lost looking for certain features.
Finally, I suppose Vim is always an option but I expect setting up refactoring features like moving function definitions from headers to source files and things like that would be painful to set up.
So yeah, in summary, I would love to hear what your preferences are, whether you would be willing to pay for an IDE, etc. or perhaps any advice on using the programs I mentioned (maybe they are good tools and I am just bad at using them?).
Auto comment: topic has been updated by JaroPaska (previous revision, new revision, compare).
Auto comment: topic has been updated by JaroPaska (previous revision, new revision, compare).
I use Neovim for everything. I use Neovim for CP, for actual projects, for writing, for nagivating files, etc.
For compiler, I use vim(it's fast for my slow system and I can do any edit without using my shitty touchpad even once). The first thing I do is create a hierarchy of the project. If it's some library, then I would go with:-
If I am working on a project, then it would be this:-
Finally, for controlling the software compilation process, I use CMake. At first, I was reluctant to use it, since my old habit of using make would just throw in, but slowly I got used to it. There are many advantages of it over make, like, it's cross-platform, can do external library detection and configuration.
I use CMake or PreMake with VS Code.
If windows specific project, then Visual Studio (with premake)