I have been using Eclipse CDT for a long time, from Eclipse Oxygen to Eclipse 2019-12. However, situation changes when CLion 2020.1 came out. Though things are still two-fold, CLion provides Eclipse’s most useful features while outperforms it in additional programming context.

Before going down this short post, I would like to cite and emphasize some words from Linus as preamble.

How is the Git project going? I want all my code to be open source, but I will use the best tool for the job, and BitKeeper was the best tool, and at the time the alternatives sucked so bad.

Q&A: Linux founder Linus Torvalds talks about open-source identity

Pros

  • Free for Apache Committers

    Free for students

    100 RMB/Month for individual

  • Integrated visualized debugger

    https://www.jetbrains.com/clion/features/run-and-debug.html

    • debug multiple processes that share the same breakpoint list in one IDE
    • easy to view all the variables, call frames and threads by simple mouse click or straightforward display in the editor
  • flexible database access plugin

  • smart editor with code completion and on-the-fly code analysis

Cons

  • CLion’s call hierarchy resolving is too slow comparing to Eclipse, so does its find usage.

  • CLion does not recognize soft link when resolving symbols.

    The soft link file, which is identified by its file path in CLion, is regarded as different file from its source file.

  • Unable to deal with coverage on template.

Keep an Eye on

Config

  • Increase responding speed

    Change Memory Setting to 4096MB.

  • Enable Multiple Project in One Window

    Create a directory that includes the several target projects and add a CMakeLists.txt in the created new directory. Modify the CMakeLists.txt with add_subdirectory for each target project.

  • global dictionary

    Settings-> Editor-> Spelling

  • develop remotely through X11

    🙈Do you have enough resource for both mankind and machine?

  • BFV case

    Run/Debug Configurations

Memo for Demo

《现代操作系统》——个体重复系统发育

计算机科学和许多领域一样,主要是由技术驱动的。古罗马人缺少汽车的原因不是因为他们非常喜欢步行,是因为他们不知道如何造汽车。个人计算机的存在,不是因为数以百万计的人有着迫切的愿望—拥有一台计算机,而是因为现在可以很便宜地制造它们。我们常常忘了技术是如何影响我们对各种系统的观点的,所以有时值得再仔细考虑它们。

Quick Start Guide

  • what does E in the acronym IDE stands for?
  • source code
    • hints on parameter
    • code inspection
  • run/test/debug
    • run unit test through Run Anything
    • run SQL script in editor
    • run single BFV test by mouse click or keyboard shortcut
    • install project and restart
    • attach multiple process(both QD and QE)
      • view variable in editor
      • view variable in watch
  • back to the preamble
    • Eclipse Theia, GitHub Codespaces and Serverless