3

I am looking for an 'ideal' environment for writing and running simple C programs for beginners in programming. What I want is something that has an appealing design, like Sublime Text 3 or Visual Studio Code, lightweight, in addition with the feature of creating the project folder automatically and also a straightforward building and running program with one click. It would be nice to see the output side-by-side with code.

The other way of saying what I need is a repl.it with visual appearance of Sublime or Visual Code. Or some of these editors or similar, like Atom, with simple run button.

Software I know that is out there but don't have all of that features:

  • Code::Blocks makes creating everything for project, but with too many steps and it's also not easy for setting a theme.

  • Dev-C++ can create a mess when creating project by not creating a folder for it. Also, the brackets completion is not good, it's easy to duplicate it and mess with syntax. Some themes are available, but are not good as in Sublime, for example.

  • It's possible to build C in Sublime, but it doesn't work with programs that need input.

  • Visual Studio Code has built-in terminal, but user needs to create a folder and run gcc commands and this doesn't encourage him/her to experimenting enough.

Simply, I need a nice looking, easy to use tool, with no lagging, in order to achieve a good user experience for beginners that allow easy experimentation with C code.

Additional question

I think I'm gonna use Visual Studio Code integrated with Terminal. I was wondering if I can make some bash script (not sure if this the right thing I need) which would create a directory named with parameter and setting a variable so that using other script, user could run and compile the current working file. I think I can figure it out, I'm just not sure it will work properly.

  • What operating system would this need to run on? – Alejandro Oct 2 '18 at 12:43
  • Additional question - should be asked separately, and not on this site – Mawg Oct 3 '18 at 10:18
3

CudaText (free, open source) is lite and allows it, but with some steps from user.

  • user needs plugins: Config Toolbar, External Tools (all in Addon Manager)
  • user needs to add a "tool" to compile code; and second "tool" to run compiled app. Via Tools menu (from plugin).
  • and enter reg.ex. in "tool" properties (for both tools)
  • user needs to add 2 buttons via Plugins / Config Toolbar (just call commands list there, find your "tools")
  • to use "projects" user needs to work with Project Manager plugin (standard)

Better if you do all steps for user, and make CudaText zip, with plugins and config (in settings/ dir). It can be .zip file which must be unpacked over CudaText.

Screenshot of External Tools dialog CudaText ExtTools

  • Adding run button to an editor seems the right thing for me and design is good, but SmartScreen is preventing me from running it. – user162208 Sep 2 '18 at 10:56
  • I'm using Windows 8.1 – user162208 Sep 2 '18 at 10:58
  • It is false positive of Win8 (it finds malware? I use Linux build and don't know.) – RProgram Sep 2 '18 at 14:28
  • I had to disable SmartScreen temporarily and run it. I'm not sure whether I will use it, since my students would need to disable it also. The project files are not wrapped into a folder and they could end with a mess of project and source files. I know its a detail, but it's important. – user162208 Sep 2 '18 at 21:28
  • But I'm trying to set it up. Could you help me to set the compile tool? I selected gcc and in Parameters I tried different things, like -o "{FileNameNoExt}" "{FileName}". But nothing happens, no output and no executable created. – user162208 Sep 2 '18 at 21:32
2

You might want to look at Geany.

Both free and Free, builds available for Linux, Windows, and OS X, has plugins for all sorts of stuff, and has configurable-by-file-extension "build", "compile" and "run" buttons/menus.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.