What coding-editor do you use?

Hi!
I’m starting take up programming again. First JavaScript, html5, Java, but will also look at Phyton and php.

I’m looking for a coding-editor that will work for me in OpenSUSE. I’m testing Processing with P5 JavaScript.
I know there is many other alternative. I also test Microsoft VSCode (Yes i have a Microsoft-app running).

But i want to hear about your experiences :slight_smile:

Let the Games (or Flames) begin …

https://imgs.xkcd.com/comics/real_programmers.png

(SCNR)

vim for small stuff, larger stuff, I use Komodo Edit.

Jim

Jim Henderson
openSUSE Forums Administrator
Forum Use Terms & Conditions at http://tinyurl.com/openSUSE-T-C

Netbeans ( https://netbeans.org/ ) for real Projects and KWrite for small changes in HTML, PHP, JS, CSS etc.

For a general syntax highlighting editor Kate. It’s very easy to switch files on this which can be a great help at times. Similar but not the same as having a tabbed editor available. There are other features too.

If gui work a suitable ide can be more convenient. Java for instance - a rather good one.

https://www.jetbrains.com/idea/

It seems that use of some features of java now require a licence fee to be paid. So far it’s not clear to me which features these are. I’m not sure how capable the os java is.

I vaguely remember reading that kde or maybe qt use java script for scripting so would assume that the ide for those will support it. You can install what’s available by using the development pattern. On kde 4 this was seriously flawed as the docs didn’t tie up with what it could do. Hopefully 5 is better. There is also something similar for gtk but I’ve never been near it.

Html in my view was designed to wear out keyboards - a task more suitable for program generators of one sort or the other.

John

On 2017-06-01, ronnys <ronnys@no-mx.forums.microfocus.com> wrote:
> I’m looking for a coding-editor that will work for me in OpenSUSE.
> <SNIP>
> But i want to hear about your experiences :slight_smile:

What you code is much more important than your choice of editor. However the natural choices are fairly obvious:

KDE users: kate
GNOME users: gedit
Console users: nano

I use (including for this post) Vim and emacs, but mostly Vim. And when I use emacs, I use the `evil’ extension. Emacs
has many extensions which Vim does not so that’s why I recommend emacs over Vim. For me however the Vim keys are burnt
far too deeply into my fingers to switch to emacs shortcuts.

The Vim vs emacs debate is pointless except for light-hearted mirthful entertainment. Either are better than any other
text editor especially for programming. But the benefits are only really seen after a very long time ascending their
steeping learning curves which is not worthwhile for most people. So for those who want a convenient instantly-usable
editor I recommend kate, gedit, or nano.

@Jim: I would have thought that Vim would be the preferred choice for large rather than smaller stuff :slight_smile: .

If you’re very, very raw taking your first steps,
Your biggest lesson that will stay with you the longest is to get used to writing your code in a consistently constructive way.

So, for your stated languages, I’d recommend Jetbrains PHPstorm.
https://www.jetbrains.com/phpstorm/
It’s free for anyone attached to a public open source project, costs but is affordable for other use (I think there may also be an Academic license somewhere).
With an IDE, when you create a project, your libraries are managed and placed in the same place. Your code files are in the same place.
You’ll also have goodies like auto-completion which will automatically look up libraries intelligently as you code and minimize syntax problems, this will also accelerate understanding how to write code properly.

Although I consider it enormously big and unwieldy, I’d also mention Eclipse as the ultimate in flexibility and power. Unless you’re looking to join a team using Eclipse though, I wouldn’t ordinarily recommend it for beginners because it’s unnecessarily big and complex… But, keep in mind that if you do become involved in a <very> big and complex project, Eclipse may then be the best tool to use. And, Eclipse supports practically everything I’ve ever encountered (except of course the Microsoft CLR).

If you write HTML/CSS3/Javascript exclusively,
Because of its relative simplicity, tools are often somewhere between an “Enhanced Editor” and not usually a full IDE, but vary.
In fact, if you write SPA(Single Page Applications), it’s possible to reference online libraries using a CDN(Content Delivery Network) so your code is only the HTML and links without having to distribute or include libraries, so a text editor is all that’s needed(hardly any folder tree is involved). If there is any structure, it’s created when you create a new project (eg Jekyll Bootstrap framework)
This type of coding is very flexible, and is often deployed not just on Servers (eg at Github) but also as client applications (eg Adobe Cordoba which was called PhoneGap originally)
There are also a large number of choices, both online and offline.
These are continually evolving and every few months a really nice, new editor is launched, and older editors like Atom (one of the most popular which is often embedded in other apps) can undergo upgrades and transformations.
https://atom.io/
https://www.rollapp.com/app/atom

Some stuff I’ve written that would be relevant for your investigation (Focus on HTML, Javascript)
Setting up Ruby (eg Github and Jekyll) and Ruby on Rails on openSUSE. Includes instructions for deploying your Jekyll website to Github (yes, it’s all free, no strings attached unless you also configure a custom Public Domain name)
https://en.opensuse.org/User:Tsu2/Install_Ruby
Setting up nodejs on openSUSE(nodejs is running Javascript as a server app or a standalone app not requiring a webserver or running a nodejs webserver)
https://en.opensuse.org/User:Tsu2/nodejs

You might also be interested in going through some BASH scriptlets I’ve found useful (Any kind of scripting will improve your overall scripting skills). The “Basic Stuff” link also leads to Shell Checker, an online syntax checker.
https://en.opensuse.org/User:Tsu2/Scripts_and_Scriplets

When you get more advanced and don’t need something to help structure your code,

  • I’ve found Vim really interesting. There are a multitude of plugins that can accelerate writing code.
  • Really serious coders where I live often use Sublime, which is more of a souped up enhanced Text Editor that can provide a lot of the goodies I described in JetBrains PHPStorm, but doesn’t impose structure. Only for when you know how to organize your projects or using something like Jekyll that sets up structure for you.

Bottom line is that there are a great <many> choices today that fit every liking.
I tried to describe as many types as possible but mentioned only one or two actual apps, there are probably at least a half dozen or more other extremely popular apps of each type that vary somewhat and might have different features, particularly the online variety.

HTH,
TSU

On Fri, 02 Jun 2017 13:18:56 +0000, flymail wrote:

> The Vim vs emacs debate is pointless except for light-hearted mirthful
> entertainment. Either are better than any other text editor especially
> for programming.

But vim is clearly superior. :wink:

(J/K - the ‘superior’ one obviously is the one the individual is used to)

> @Jim: I would have thought that Vim would be the preferred choice for
> large rather than smaller stuff :slight_smile: .

A lot depends on what I’m doing, honestly - if I’m doing a search/replace
operation, I’ll default to vim regardless of the size. But I find the
syntax highlighting in Komodo Edit better in a lot of ways, and
particularly when I’m working on a long Python script (which is a
language I code in but wouldn’t say I’m exactly fluent in), it helps a
lot particularly in noting formatting issues that affect the program
(which I don’t know that vim will do as well).

There are also times when I’m working with XML files where I’ll use an
editor like Oxygen XML Editor (which I use at work a lot), specifically
because of it’s ability to scope search/replace operations to an XPATH
expression. But that’s not strictly programming usage, either.

Jim

Jim Henderson
openSUSE Forums Administrator
Forum Use Terms & Conditions at http://tinyurl.com/openSUSE-T-C

Kate is enough for me.

On VIM, there are a lot of useful plugins (I’d have to re-discover where I got a number of them)

Some useful plugins (description only)

  • Enhance color coding code blocks automatically
  • Automatically creating closing script tags
  • Plugin managers (very important, there are so many plugins available)

In fact, instead of listing individually, I’ll only point to a few listings on github (Nowadays, I go to github for all free software that’s not openSUSE specific)

Extra support for coding specific languages
https://github.com/WolfgangMehner/vim-plugins

5202 plugins/scripts to extend Vim
https://github.com/vim-scripts?tab=repositories

A pre-packaged custom Vim, but you can also use it as a suggestion list to extend your own Vim
https://github.com/amix/vimrc

So,
You can do a lot to build your own enhanced text Vim editor…
But, personally, I generally let somoeone else build something and then use it…
I customize my Vim only for the general purpose “grab something handy to get something done” tool, and reserve real work for a specialized, pre-built tool.

TSU

Tsu’s comments are, as always, very helpful and informative. So are Jim’s, but I have a couple of suggestions in
response to his comments.

On 2017-06-02, Jim Henderson <hendersj@no-mx.forums.microfocus.com> wrote:
> A lot depends on what I’m doing, honestly - if I’m doing a search/replace
> operation, I’ll default to vim regardless of the size.

I wouldn’t use Vim for search-and-replace because it’s a bit unwieldy for single operations on multiple files. Try sed
for such operations - it’s much more efficient.

> But I find the syntax highlighting in Komodo Edit better in a lot of ways,

I admit I’m not familiar with Komodo Edit, but syntax highlighting in Vim can be made to be exquisitely
language-sensitive using plugins (the same is of course true for Emacs). However the chosen formatting and colour scheme
is dictated by your ~/.vimrc configuration. Indeed my feeling is looking at the ~/.vimrc file of a Vim user is like
looking into his/her soul.

> and particularly when I’m working on a long Python script (which is a
> language I code in but wouldn’t say I’m exactly fluent in), it helps a
> lot particularly in noting formatting issues that affect the program
> (which I don’t know that vim will do as well).

Yes it does. By default Vim handles F/C/C++ and AT&T-style assembler files perfectly (although by default it doesn’t
recognise more exotic extensions such as *.txx etc…). But Python requires a combination of a vim-python plugin and
several changes to ~/.vimrc (indeed Guido has provided a prototype).

On the IDE side, for those who find Eclipse to be unwieldy, I’ve heard good things about Geany. However I can’t really
advise here because I loathe IDEs. They hide everything and certainly therefore provide a poor environment for
newcomers to learn coding. However, I can see why some people might find them convenient for debugging; although I
personally find them no more helpful than gdb/pdb/etc although Vim has a new swanky plugin for gdb debugging which I’m
almost tempted to try…

On Sat, 03 Jun 2017 02:14:12 +0000, flymail wrote:

> Tsu’s comments are, as always, very helpful and informative. So are
> Jim’s, but I have a couple of suggestions in response to his comments.
>
> On 2017-06-02, Jim Henderson <hendersj@no-mx.forums.microfocus.com>
> wrote:
>> A lot depends on what I’m doing, honestly - if I’m doing a
>> search/replace operation, I’ll default to vim regardless of the size.
>
> I wouldn’t use Vim for search-and-replace because it’s a bit unwieldy
> for single operations on multiple files. Try sed for such operations -
> it’s much more efficient.

Indeed, I do. Or I use awk.

>> But I find the syntax highlighting in Komodo Edit better in a lot of
>> ways,
>
> I admit I’m not familiar with Komodo Edit, but syntax highlighting in
> Vim can be made to be exquisitely language-sensitive using plugins (the
> same is of course true for Emacs). However the chosen formatting and
> colour scheme is dictated by your ~/.vimrc configuration. Indeed my
> feeling is looking at the ~/.vimrc file of a Vim user is like looking
> into his/her soul.

Yeah, for me, it’s largely the defaults that I go with for each - I could
spend a lot of time tweaking my environment, but if I wanted to do that,
I’d use KDE rather than GNOME. :wink:

>> and particularly when I’m working on a long Python script (which is a
>> language I code in but wouldn’t say I’m exactly fluent in), it helps a
>> lot particularly in noting formatting issues that affect the program
>> (which I don’t know that vim will do as well).
>
> Yes it does. By default Vim handles F/C/C++ and AT&T-style assembler
> files perfectly (although by default it doesn’t recognise more exotic
> extensions such as *.txx etc…). But Python requires a combination of a
> vim-python plugin and several changes to ~/.vimrc (indeed Guido has
> provided a prototype).

Yeah, I thought I remembered reading something like that. There again,
it depends on what I’m doing. One of the nice features of Komodo Edit is
that it’s not just syntax highlighting, but word completion and language
reference all wrapped together - if I start typing out a method, it’ll
give me tips on the parameters that need to go in, and it learns about
variables that are created and will suggest them if I start typing them.
That sort of thing really helps with me not fat-fingering a varname, or
having to keep a language reference nearby to remember the parameters I’m
passing in.

It interestingly also understands many python modules, so if I include
the requests module, it also knows about those functions and objects.

Komodo Edit is the free version of the Komodo IDE. For the size of
project I work with, I generally don’t need a full IDE.

> On the IDE side, for those who find Eclipse to be unwieldy, I’ve heard
> good things about Geany. However I can’t really advise here because I
> loathe IDEs. They hide everything and certainly therefore provide a
> poor environment for newcomers to learn coding. However, I can see why
> some people might find them convenient for debugging; although I
> personally find them no more helpful than gdb/pdb/etc although Vim has a
> new swanky plugin for gdb debugging which I’m almost tempted to try…

I generally agree about IDEs - the first C compiler I used was on a
Commodore 64, and there wasn’t room for an IDE in that environment. But
Eclipse and some of the other Java IDEs are pretty good - I know pro
developers who work with them and do very good work. Ideally, an IDE
isn’t going to hide things from you, but it’s going to make them more
accessible as you’re coding and help you follow dev standards and styles
(for example) to make your code more maintainable.

Jim

Jim Henderson
openSUSE Forums Administrator
Forum Use Terms & Conditions at http://tinyurl.com/openSUSE-T-C

vi(m) for system stuff ( grew up with nothing but vi ), kate for php, html, javascript etc.