<p>There is an <a href="https://github.com/bitcoin/bitcoin/issues/13694" rel="nofollow noreferrer">issue</a> in the Bitcoin Core repo on the existing IDE options. Apparently it is/was <a href="https://github.com/bitcoin/bitcoin/issues/13694#issuecomment-405761823" rel="nofollow noreferrer">possible</a> to use CLion in debug mode but gdb or lldb are generally recommended for line by line debugging.</p>
<p>There has been <a href="https://github.com/bitcoin/bitcoin/issues/19693#issuecomment-679998170" rel="nofollow noreferrer">discussion</a> about swapping out the existing MSVC build to use CMake but at the time of writing (September 2020) there is no open PR to do this.</p>
<p>Many Bitcoin Core contributors <a href="https://github.com/bitcoin/bitcoin/issues/13694#issuecomment-405756690" rel="nofollow noreferrer">don't use IDEs</a>. Personally I am using Vim with this <a href="https://github.com/amix/vimrc" rel="nofollow noreferrer">configuration</a> for additional features. I would recommend you do similar as it doesn't seem like supporting IDEs like CLion is a priority for Bitcoin Core contributors currently.</p>
<p>February 2021 update: sipa uses mcedit, wumpus uses neovim in combination with this <a href="https://github.com/bitcoin/bitcoin/blob/master/contrib/devtools/README.md#clang-format-diffpy" rel="nofollow noreferrer">automated tool</a> to fix formatting issues</p>
<p>There is a <a href="https://github.com/bitcoin/bitcoin/pull/21123" rel="nofollow noreferrer">PR</a> from kiminuo to add an EditorConfig file to Bitcoin Core to help with coding style issues.</p>

CC BY-SA 4.0
2020-09-10T16:52:37.153Z
2021-02-09T14:05:31.297Z
2021-02-09T14:05:31.297Z
Michael Folkson
<p>Bitcoin Core uses the autotools build system, but CLion only supports projects using CMake, so you can't use Core with CLion. You should be able to use Core with Eclipse CDT and NetBeans as those support Autotools. You may need to do some special configuring for it to work properly. Most people who work on Core just use text editors, command line build commands, and gdb instead of an actual IDE (at least that is what I use, and I have heard some others do too).</p>

<p>If you want to add debugging print statements to the code, just add lines like this:</p>

<pre><code>fprintf(stderr, "some text here\n");
</code></pre>

<p>and that will print <code>some text here</code> to the terminal if you are running it from the terminal. <code>fprintf</code> is a standard C function so you can look up how to use it to include more information in the output.</p>

CC BY-SA 3.0
2017-07-11T22:32:45.773Z
2017-07-11T22:32:45.773Z
Ava Chow
<p>I want to experiment with Bitcoin's code (both Core and Unlimited, if it makes a difference).</p>

<p>I really wanted to use CLion, but was unable to compile it and make it work (something to do with using a different Make?)</p>

<p>I am weaker on the "setting up stuff" side, and I usually don't use C++, so a detailed explanation how to do something like printing "Hello World" every time a new block is received will be my dream come true.</p>

<p>Thanks!</p>

<development><bitcoin-core-development><debugging>
What IDE to use for Bitcoin development?
UriCS
# What IDE to use for Bitcoin development?

(Asked by: username_0 on 2017-07-11)

I want to experiment with Bitcoin's code (both Core and Unlimited, if it makes a difference).

I really wanted to use CLion, but was unable to compile it and make it work (something to do with using a different Make?)

I am weaker on the "setting up stuff" side, and I usually don't use C++, so a detailed explanation how to do something like printing "Hello World" every time a new block is received will be my dream come true.

Thanks!

**Tags:** development, bitcoin-core-development, debugging


---

## 2 answers

### Answer by username_2 on 2017-07-11. Score: 5 | Accepted answer

Bitcoin Core uses the autotools build system, but CLion only supports projects using CMake, so you can't use Core with CLion. You should be able to use Core with Eclipse CDT and NetBeans as those support Autotools. You may need to do some special configuring for it to work properly. Most people who work on Core just use text editors, command line build commands, and gdb instead of an actual IDE (at least that is what I use, and I have heard some others do too).

If you want to add debugging print statements to the code, just add lines like this:

```
fprintf(stderr, "some text here\n");

```

and that will print `some text here` to the terminal if you are running it from the terminal. `fprintf` is a standard C function so you can look up how to use it to include more information in the output.


---

### Answer by username_1 on 2020-09-10. Score: 2

There is an [issue](https://github.com/bitcoin/bitcoin/issues/13694) in the Bitcoin Core repo on the existing IDE options. Apparently it is/was [possible](https://github.com/bitcoin/bitcoin/issues/13694#issuecomment-405761823) to use CLion in debug mode but gdb or lldb are generally recommended for line by line debugging.

There has been [discussion](https://github.com/bitcoin/bitcoin/issues/19693#issuecomment-679998170) about swapping out the existing MSVC build to use CMake but at the time of writing (September 2020) there is no open PR to do this.

Many Bitcoin Core contributors [don't use IDEs](https://github.com/bitcoin/bitcoin/issues/13694#issuecomment-405756690). Personally I am using Vim with this [configuration](https://github.com/amix/vimrc) for additional features. I would recommend you do similar as it doesn't seem like supporting IDEs like CLion is a priority for Bitcoin Core contributors currently.

February 2021 update: sipa uses mcedit, wumpus uses neovim in combination with this [automated tool](https://github.com/bitcoin/bitcoin/blob/master/contrib/devtools/README.md#clang-format-diffpy) to fix formatting issues

There is a [PR](https://github.com/bitcoin/bitcoin/pull/21123) from kiminuo to add an EditorConfig file to Bitcoin Core to help with coding style issues.


---

