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?
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.
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”.
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”.
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.
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”.
Platformio is an IDE based on VSCode.
VSCode CAN be an IDE.
But it isn’t natively an IDE
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.
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?
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.
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.
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.
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?
that does work, it’s a little clunkier than i’d like but it’s better than the code not running
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.