What is a good IDE to read TensorFlow Source Code and contribute code for it?

The Codebase of Tensorflow covers many different languages, mainly Python and C++, but many IDE is specific to one language. I have tried to use Clion to read TensorFlow code, but it seems that Clion does not deal good with bazel: It does not seem to resolve methods imported from other files, so I can not navigate though the code easily. Here is an example discussing this problem.
What IDE do the developers of TensorFlow use to write code for it?

1 Like

Have you tried to use the official VSCode devcontainer:

2 Likes

More info at:

Spent some time trying out VS Code and the dev-container. It works well! That helped me a lot!

1 Like

You can go with vsCode or pyCharm both are good in terms of ui, code review and features.

I have tried pyCharm, but it does not behave good when browsing C++ coding(I cannot navigate by Ctrl+Click the method name). And VS Code is working well for me.

I’ve tried to improve and integrate this directly in the TF repo but it was rejected:

Share with us any feedback on your experience with Vscode/Devcontainer as in the meantime I am still maintaining the TF .devcontainer and Dockerfile in that Microsoft repo.

For Keras, as it is now in a new standalone repository and Github organization, I have proposed to contribute a Keras Devcontainer in their repository:

Hi, I have encountered a problem about the devcontainer. When I enter the terminal of VS Code, I will get into the path /workspace/tensorflow by default, however, when I am under this directory, the command prompt did not show up after the command is executed(or it may take a long time, like minutes), but if I press Ctrl+C to force stop it, the prompt shows up.
This phenomenon occurs when I am at the /workspace/tensorflow path or path under this directory, but it behaves correctly if I go to parent directory of /workspace/tensorflow like /workspace or /


I am uploading a screen recording to youtube and I will share the link when it finishes processing.

Before 1:25 in this video I am waiting for the prompt to show up, and after that is me showing how it behaves outside the directory.

I don’t have this issue do you have an updated Vscode version?
The distributed .devcontainer exclude some build directories with defaults names bazel-*:

Do you have other directories to exclude?

Also, do you have activated test discovery (I see in your video that in the status bar the test discovery is running)?
Don’t activate test discovery as this will work only with pytest (as in the Tensorflow addons .devcontainer) and other testing frameworks but not with bazel tests as in TF cause the official VSCode bazel extension seems that it is not actively developed anymore by the Bazel team (see the specific bazel test FR):

Hi, I have using VS Code 1.58.2 version for Mac. My devcontainer.json file is the same as that on github, so I think I only have them excluded. And I will have a check at the test discovery.

For navigation alone I use https://cs.opensource.google/tensorflow/tensorflow/+/master:tensorflow/

I pair this with Vim.

But then I use Vim for everything, so maybe not that useful, just that navigation via that website might be a feasible solution

2 Likes