JaroPaska's blog

By JaroPaska, history, 4 years ago, In English

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?).

  • Vote: I like it
  • +17
  • Vote: I do not like it

»
4 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Auto comment: topic has been updated by JaroPaska (previous revision, new revision, compare).

»
4 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Auto comment: topic has been updated by JaroPaska (previous revision, new revision, compare).

»
4 years ago, # |
  Vote: I like it 0 Vote: I do not like it

I use Neovim for everything. I use Neovim for CP, for actual projects, for writing, for nagivating files, etc.

»
4 years ago, # |
  Vote: I like it +5 Vote: I do not like it

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:-

.
├── CMakeLists.txt
├── include
│   └── library_name
│       └── library_name.hpp
└── modules
    ├── module1
    │   ├── CMakeLists.txt
    │   ├── include
    │   │   └── library_name
    │   │       ├── module1
    │   │       │   ├── header1.hpp
    │   │       │   ├── *......hpp
    │   │       │   └── headern.hpp
    │   │       └── module1.hpp
    │   └── src
    │       ├── header1.cpp
    │       ├── *......cpp
    │       └── headern.cpp
    └── module2
        ├── CMakeLists.txt
        ├── ... same hierarchy as above

If I am working on a project, then it would be this:-

├── include
│   └── project
│       └── headers.hpp
├── src
│   ├── headers.cpp
│   └── main.cpp
└── unit_test
    ├── headers_tests.cpp
    └── *.......cpp

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.

»
4 years ago, # |
  Vote: I like it 0 Vote: I do not like it

I use CMake or PreMake with VS Code.

If windows specific project, then Visual Studio (with premake)