Which IDE do you use?

I am a newbie in programming and sometimes SC-IDE lacks typing and editing features… I am would like to try out a new text editor, but I am lost with so many options. Which text editor do you like to use with SC? Why? Any compatibility issues? Which works best for live coding? Which works best for large projects? Which is better for OSX? Linux? :exploding_head:

Which IDE do you use ?

  • SC IDE
  • Sublime text
  • Emacs
  • Vim
  • Atom
  • Gedit
  • TextMate
  • Kate

0 voters

[]'s
Zé Craum

Care to elaborate? Maybe it can serve as inspiration for future improvements.

Emacs.
But you need to WANT to use Emacs. It’s highly configurable, extensible and is much more keyboard centric than most of editors.

I haven’t managed to setup yasnipets and auto-complete properly, but it’s possible. Also, I want to find a way to have flashing when eval-ing function (brackets). I know it’s all possible, but the code is scattered around the web. I want to join that elusive and elite SCEL.CLUB where elders would guide my shaking hand through some setup that makes your SC Emacs IDE a total back magic.

I acutally quite like the SC-IDE (Qt-collider), and very nice, works great and everything. But I miss emacs-style keyboard shortcuts for movement (C-f, C-b, C-p, C-f, C-a, C-e). I hate cursor keys. I hate lifting my wrist.

Ok, nuf said.

I’ve got more to say about Emacs.

Emacs changed my life and it can change yours too. If all you ever write is sc-lang, then it’s not worth the effort get into Emacs, to re-learn the common shortcuts you’ve spent your life using, or the time you might spend debugging your Emacs config file.

I have to say though, if you write multiple languages, hate using a mouse, and are excited to take part in almost 40 years of open source development, then Emacs is right for you. Learning it to just write Supercollider is not worth it. Learning it to be apart of your everyday life is priceless.

Familiar with Vim keystrokes and interested in Emacs? Check out Spacemacs. It’s a pre-configured Emacs distro that comes with vi key bindings out of the box, plus all the other great packages like Helm and Magit.

All this said, I did have to fiddle around with the Emacs package for Supercollider (scel) to get it to play nice with the help system and auto complete. It took a couple of evenings to get it right, which is too long, but now it works great.

2 Likes

I used to use vim (still do for everything else), but I decided to try Emacs when I started learning SuperCollider a few weeks ago. When I ran the SCVim plugin for Vim, SC displayed an error in the post-window about line 225 (missing or having an etra quotation mark i think). Since I’ve always wanted to try Emacs anyway, I took the chance and went through the Emacs tutorial and set up SC for emacs. :stuck_out_tongue: So far, I only have use-package, which-key, w3m… no autocomplete or yasnippets or anything fancy yet though. If anyone got any tips or recommendations, I would love to hear how you’ve set up your Emacs and some of the useful packages you’re using!

ps. you guys have that same line 225 error with SCVim right?

@jmt2080ad and @luka can you print some screens and post it here to show how SC looks like with Emacs ?

here’s my setup: i3 (tiling) window manager, also little hack to SCHelp css to produce dark gray SC documentation. The post window is actually a separate frame/window. Happy to answer any more questions if you have them.

3 Likes

I’m exremely curious what are the recipes to make auto-complete work. Does it come with drop-down menu of suggestions?

Ha! I’m an i3 user too! It complements so well with Emacs.

1 Like

No, just tab complete really, and it’s spotty. I don’t think I’ve tried to get the snippets to work yet. When I want to know function arguments, I just C-RET inside the function. It functions well enough for me as I have it, but my setup might not be fully featured.

1 Like

Luka’s is way slicker, but this is a typical work layout I would use. I’ve got vmpk parked up top, a help menu off to the side, my code an post buffer in my Emacs window. I don’t know how Luka got his help menu to be inside an Emacs frame! Mine opens up in a separate window and snaps to my Emacs window thanks to i3. Note that this is all on an 11" screen. Being able to close and push windows around to different desktops is really important for me. i3 is amazing for that.

2 Likes

Help is not inside Emacs frame. It’s the post window that is in a separate frame (aka window) so they can be stacked vertically by tiling window manager while the window with code is on its own. To create a new frame within the same Emacs session use C-5-2 keybinding.

How did you made it???

My purpose with this topic is to know what are the pros and cons of each text editor regarding using SC. Currently I am programming only high-level stuff like SC, Processing, Pd and sometimes Matlab, 90% of the time doing artistic stuff.

If I am not mistaken, using Emacs would be impossible to visually use SC-IDE’s resources like the bottom and top menu, right? This would also happen in editors like Atom and Sublime, right?

IMO SC-IDE miss some stuff that would help many mouse oriented users like me:

  • A second window for monitoring with scope, freqscope, levelmeter, nodetree, record gui, all grouped in a full screen window which newbie users could toggle between with simple keyboard shortcut. Something like traditional DAWs;
  • Retain docklets arrange between each initialization;
  • Alternatives for color schemes, specially concerning the help docklet;
  • Multi-line cursor would be awesome;
  • Code snippets shortcuts;
    *Tweaking code option (like Processing) would be really great, although I can imagine that this would demand too much work from the developers…

I think that SC-IDE is really good, thanks a lot for that, congrats dev team! And I also know that improving the IDE it is not the priority in the developers team, but sometimes I feel that it is too minimal. For me Emacs seems frightening and using Atom seems that I would miss the coolest graphical stuff from SC-IDE… Trying to find a solution in which I can have the best of both worlds…

I’ve been using SC exclusively through SCVim/tmux/iTerm2 on osx for a couple years now and don’t recall ever having seen that error.

If I remember correctly there used to be an osx-specific issue with an incorrect path being hardcoded somewhere, but I think that got fixed a while back. Anyway it’s been ages since I set it up, and it’s worked with no trouble since then.

Anyway…

…yeah, you’re definitely not looking for vim or emacs, at least not for now. Personally, I feel every bit as strongly about vim (especially for working with SC) as others in this thread do about emacs, but that’s a different story; each of those editors offers something very different from the “modern IDE” paradigm as I understand it.

Having said that, I should note that the various docklets and graphical widgets are independent of SC-IDE. They all have representations in sclang and can be opened by evaluating the appropriate statements, for example:

HelpBrowser.new
Server.local.meter
Server.local.scope
Server.local.plotTree

…and so on. I do this from vim all the time. No reason you couldn’t do it from e.g. Atom as well.

1 Like

Actually, Emacs does have menus for it’s various modes. It’s just not common for people to use them. This is most of what the menu has. There isn’t a lot there.

@luka I looked at my autocomplete a bit more closely, there is a menu there. This is what I see when I tab on “Si”.

EmacsAutocomplete

If you are interested getting your config to do this, maybe we can start a separate thread. I’d love to take a look at your i3 config file. That setup looks awesome.

He has 2 emacs frames opened, and the help browser window is a regular terminal window.
Aside from that, he has a bar on top for time, temperature, hdd space, etc (popular bars these days are: lemonbar, polybar…) As for what else he has that’s not shown in the screenshot or the config for i3, you’re going to have to wait for Luka, like the theme he uses for Emacs, etc. :wink:
For desktop customization or the aesthetic aspect of linux, reddit’s unixporn subreddit is pretty neat and is a good place to get ideas from. It has its own discord server as well. Of course, there’s also a very active irc community, and the most popular are rizon’s #rice, and nixers.net’s unix.chat irc server. :blush:

what linux distro are you guys running by the way?
I’m on archlinux at the moment.

by the way, do you guys have the entire scide running, just with the help browser shown and rest hidden or is there a way to only launch the help browser as a detatched window?

any idea on how to get w3m to work in emacs? when i installed via use-package, i’m getting some bytecompile error - w3m did get installed, but when I try to search for things in the sclang’s help browser via w3m in emacs, none of the searches seem to work for some reason.

add

body {
    -webkit-filter: invert(100%);
    filter: invert(100%);
    background: #333;
    color: #555;    
}

to the bottom of /usr/local/share/SuperCollider/HelpSource. this works for the Help in QT window, regardless of using SCIDE or SCEL (Emacs)

EDIT: apologies, the path above is missing the filename : scdoc.css

/usr/local/share/SuperCollider/HelpSource/scdoc.css

11 Likes

I run SCHelp from SCEL, therefore Emacs. No SCIDE necessary. You can run it from anywhere where you are running sclang, just evaluate:

HelpBrowser.new

From Emacs/SCEL use C-c h <RETURN> - if your cursor is on a method or UGen it will propose in the bottom command buffer to open that in HelpBrowser.

Make sure you don’t do C-c C-h, cause that will try to open help in w3m in an Emacs buffer.

2 Likes