I am fairly new to programming and for my cs class i need to run individual programs. they don’t need to interact with anything else, so i am trying to just run the file I’m currently on but Kate just greys out the option. I really want to avoid using projects if i can because they’re just extra effort for no reason when I only need to run a single file. I did try using one, but Kate doesn’t have a new project button for some reason and i had some trouble with Cmake.

I’m aware that these are actually pretty basic things, but I can’t find anything online that actually explains how to use Kate at all. I would try using something else, but every IDE seems to have this same issue where by default it can’t run code and it has no documentation of any kind regarding actually running code, so i’ll just stick with the one that came with my distro.

also as a bonus question, why does every IDE seem to require you to configure every single option before it can run code and why do they all seem to discourage doing anything less than making an entire app?

18 points

also as a bonus question, why does every IDE seem to require you to configure every single option before it can run code

What IDE’s have you tried?

Kate (and vscode) aren’t really IDE’s, they’re more like extremely extensible text editors. You can make them IDE’s, but they dob’t come like that out of the box.

On the other hands, actual IDE’s often have the inbuilt capability to install and manage the programming language related software.

permalink
report
reply
3 points

I’ve tried Kate, vscode, some python one on windows (idk which one it was years ago), kdevelop, and I think a couple others but I forgot which ones.

permalink
report
parent
reply
-7 points

VSCode is absolutely an IDE. It is full of IDE features. The idea that it isn’t an IDE is one of those weird memes that won’t die, like people saying “an historic occasion”.

permalink
report
parent
reply
14 points

Vscode is an IDE, but only after I spent 15 minutes finding and selecting the appropriate java extensions and ensuring that my Linux system had Java installed.

But what was a 15 minute process to me, could easily be a 2 hour struggle to someone who is setting up a development environment for the first time and “just wants autocomplete and debugging”.

permalink
report
parent
reply
1 point

Yes in some ways it is not a beginner friendly IDE. I would also point to launch.json as being a right arse.

Still an IDE though.

permalink
report
parent
reply
8 points

Vscode is a text editor, sorry…“code editor”. Like you so graciously called out in a later comment, MS even clarified that it’s not an IDE. If VSCode is an IDE then so is VIM or Sublime Text or Notepad++, which of course is nonsense. IDE doesn’t just mean integrated development environment, it means it was meant to be used that way. Just because I turned my lawnmower into something that looks like an F1 race car doesn’t mean it’s an F1 race car.

You’re clearly aware of all of the arguments why VS code isn’t an IDE so it’s pointless to have this argument, but you seem to think that just because something looks like an IDE means it is, which is just categorically false.

permalink
report
parent
reply
-1 points

MS even clarified that it’s not an IDE

Microsoft doesn’t get to define what an IDE is. Also… I actually reread what they said and the implicitly say it is an IDE (and a “code editor” which is a fairly meaningless term):

Visual Studio Code is a streamlined code editor with support for development operations like debugging, task running, and version control. It aims to provide just the tools a developer needs for a quick code-build-debug cycle and leaves more complex workflows to fuller featured IDEs, such as Visual Studio IDE.

“to fuller featured IDEs”, not “to IDEs”.

permalink
report
parent
reply
5 points

Platformio is an IDE based on VSCode.
VSCode CAN be an IDE.
But it isn’t natively an IDE

permalink
report
parent
reply
4 points

I would say that for something to be an IDE it has to be meant to be an IDE. Clearly Microsoft didn’t intend for it to be an IDE or they would have called it that. Just because you can build something that looks and performs like an F1 race car in your garage out of an old lawnmower or ford Taurus or whatever doesn’t make it an F1 car. Unless it’s racing at Monaco in an F1 race, it ain’t an F1 car. Same thing with VS Code. It’s a code editor, like Sublime or vim.

permalink
report
parent
reply
3 points

Honestly interested what makes something not an IDE but can be one? The fact that it requires plugins to turn it into an IDE?

Does that mean Eclipse is not an IDE either, since it requires either JDT or CDT to be anywhere near useful?

permalink
report
parent
reply
10 points

I struggled with stupid basic things like that (“how do I run a file??!”) when I was beginning to learn programming. What you can do is just open a terminal and run a command, that’s it, like python main.py. Sorry that it doesn’t answer the question.

permalink
report
reply
6 points

TBH, I haven’t really used Kate for coding, but I vaguely remember it having a built in a terminal as a pane, like many IDEs

permalink
report
parent
reply
9 points

I hadn’t heard of Kate before, so I can’t offer much hands-on advice. I dug around and found a “handbook” here: https://docs.kde.org/stable5/en/kate/kate/index.html

Unfortunately it does look like you need to define a project to compile/run anything, which appears to require manually creating a .kateproject file in the directory as outlined here: https://docs.kde.org/stable5/en/kate/kate/kate-application-plugin-projects.html#project-create

I had exactly the same problem when I moved from languages that were interpreted or combined the IDE and runtime environment into one, and starting to use languages which had their own external compiler. Unfortunately, open source project user documentation is often terrible for beginners (what I found above for Kate seems to be no exception), and IDEs often seem to be written by people who don’t really expect anyone to actually use the included build options (to be fair, most folks seem to like using their own separate build utilities, so probably this is often the case)

If you can tell us which compiler or interpreter you’re using (e.g. gcc, clang, Python), someone can probably tell you how to compile and/or run a single-file program from the terminal with a fairly simple command.

permalink
report
reply
2 points

I believe both clang and gcc are present on my system right now. and yeah, the Kate documentation was a little lacking. they do have little pop-ups letting you know though

permalink
report
parent
reply
5 points

What language are you programming in?

As far as I’m aware, in many cases, Kate just gives you access to the terminal where you can type commands to compile / run your code.

permalink
report
reply
1 point

C

permalink
report
parent
reply
4 points

So, I’m a bit rusty, but I believe in Kate you would hit F4 to get a terminal window and you would execute

gcc your_file.c -o your_output_file

Then after that’s run you’d type just “your_output_file” and hit enter

I think on windows you’d need to make sure the output file name ends with .exe but I’m not sure about that, maybe someone else can chime in?

permalink
report
parent
reply
3 points

that does work, it’s a little clunkier than i’d like but it’s better than the code not running

permalink
report
parent
reply
4 points
*

From my experience and understanding there are generally two ways to ‘run’ a file.

Firstly, the output is an executable itself. Assuming the permissions are valid you can just do “. /yourFile” and it’ll just execute. If the file doesn’t have the proper permissions, just do “chmod +x ./yourFile” to allow execution.

Secondly, some executables require you to run them through a specific program. Such as Java or Python. If Java, it’d be something like “java ./yourFile.jar” If Python, it’d be something like “python ./yourFile.py”

Sometimes it requires extra flags like “-jar” or similar. You just gotta look it up at that point. ¯_(ツ)_/¯

In Kate, you can toggle the terminal through a shortcut for easy access.

permalink
report
reply

Programming

!programming@programming.dev

Create post

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person’s post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you’re posting long videos try to add in some form of tldr for those who don’t want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



Community stats

  • 2.3K

    Monthly active users

  • 970

    Posts

  • 8.7K

    Comments