Which IDE is the most popular for SuperCollider editing code nowadays

I am curious which alternative IDE is currently the most popular amongst SC users. Some previous research about two years ago many SuperCollider users preferred using VS Code as a more general-purpose code editor and then added the “vscode-supercollider” extension as a versatile option for those who work with multiple programming languages and want a unified development environment. Is VS Code still the way to-go besides the default IDE.

Thanks

I use NeoVim SCNVim - A NeoVim frontend for SuperCollider

I like emacs, and use vs code for other languages too because of so many features nowadays (but don’t think it’s “better” in any way really).

Never really used nvim for real work, why is it appealing for you?

I learned vim when writing large Lilypond scores and I’ve found the modal, keyboard only workflow to be fast and comfortable. I suffered some hand issues and prefer to limit chording and mouse use. Neovim improves on vim by allowing use of Lua for config and scripting - async scripts etc. The integration with SCNvim is also very nice - you can easily write Lua scripts that interact with sclang and conversely sclang can interact with the document you are working in. The plugin ecosystem in nvim is more vigorous than the old vim world - plugins like Telescope are very nice. And Treesitter etc…

Finally its nice to simply work in the terminal or tmux (as of course you can also do with emacs…)

2 Likes

I also use scnvim.

2 Likes

Neovim + scnvim here as well.

1 Like

You can use any editor you want, but remember that vi vi vi is the text editor of the beast.

// https://audio-video.gnu.org/video/stallman_free_software_song_320x240.ogv

(

// Free(hack).share(us.join[now]);
SynthDef(\iGNUcius, {
    var 
        freq, amp, 
                  gate, osc, 
                                lfo, out, 
                                            aenv, filterEnv, 
                                                       bus, resoFilter, 
                                                                      bowNoise;
    
   // [hackers]:free.be(ll), you!help(software).share;
    freq = \freq.kr(440);
    amp = \amp.kr(0.5);
    gate = \gate.kr(1);
    bus = \bus.kr(0);
    
    // piles.of(can.get)hoarders.money,is[true];
    osc = Pulse.ar([freq, freq*2], LFNoise1.kr(0.5!2).range(0.1, 0.9)) +
          Pulse.ar([freq*3, freq], LFNoise1.kr(0.5!2).range(0.1, 0.9));

    // neighbors.their(help).but!cannot; true.is[that];
    lfo = SinOsc.kr(\lfoFreq.kr(0.5)).range(-0.05, 0.05) * \lfoDepth.kr(1);
    bowNoise = WhiteNoise.ar(0.15) * EnvGen.kr(Env.perc(0.01, 0.1), gate); 

    // enough(when).software.free.have[we], call.our[at];
    out = (osc + bowNoise) * (1 + lfo);
    aenv = EnvGen.ar(Env.adsr(0.05, 0.2, 0.9, 0.5), gate, doneAction: Done.freeSelf) * amp;
    filterEnv = EnvGen.kr(Env.adsr(0.01, 0.3, 0.7, 0.5), gate);

    // dirty.those(licenses).kick[we'll] out.ever.more;
    resoFilter = RLPF.ar(out, freq * \filterMul.kr(4), \resonance.kr(0.4));
    out = RHPF.ar(resoFilter, 100) * aenv;

    // be.free, hackers.you'll.join(us).now[and];
    Out.ar(bus, DFM1.ar(out));
}).add;

)

(
// software.free.and.share(us.join[now]);
p = Pbind(
    \instrument, \iGNUcius,
    \octave, Prand([2, 3], inf),
    
    // call.at[hackers].our, have(we).free;
    \degree, Pseq([2, 1, 0, -1, 0, 1, 0, -1, -2, -2, -1, 0, 1, 0, 2, -1, -1, 2, 1, 0, 2, 1, 0, -1, 0, 1, 0, -1, -2, -2, -1, 0, 1, 0, 2, -1, -1, -1], inf),
    \dur, Pseq([0.5, 0.25, 0.5, 0.5, 0.5, 0.25, 0.25, 0.25, 0.5, 0.75, 0.75, 0.25, 0.75, 0.5, 0.5, 0.75, 1.5, 0.5, 0.25, 1, 0.5, 0.25, 0.5, 0.5, 0.5, 0.25, 0.25, 0.25, 0.5, 0.75, 0.75, 0.25, 0.75, 0.5, 0.5, 0.75, 1.25, 1.5], inf)
);

// be.free[hackers].you'll.share(software).join;
p.play;
)



1 Like

I used the standard IDE for a few years, now that I’m more comfortable with programming, I switched to emacs a couple week ago, and I’m quite happy to see it eases programming a lot. If you’re comfortable with memorizing a lot of keyboard shortcuts, it’s a cool tool to use.

I suppose there’s a thousand reasons why some other IDEs are way better, but since I’m not a full-time programmer, I don’t want to spend that much time learning/configuring a programming software.

Blockquote You can use any editor you want, but remember that vi vi vi is the text editor of the beast.

But you know that real programmers use butterflies right? :laughing: :laughing: :laughing:

Long time vim user.

Used scnvim for a while, then got annoyed at having to switch my config to lua (nvchad is a good middle ground but still annoying to set up) - now I just use the IDE. For other languages I normally use a jetbrains product with the vim keys addon.

Whats good about neovim isn’t really the plugins and all the nice tooling (which is cool), but its the way you navigate text, once you get used to it, you cannot go back… wish scide had that feature!
But, in supercollider, I don’t really edit text all that much, more time is spend listening than writing, so its not such an issue.

vscode-supercollider is cool, but did odd things with indentation last time I tried, might need to revisit it

+1. !!!

I have tried using Emacs, Atom, Vim, Sublime Text and VSCode etc. I loved Notepad++ but could not find a way to use sc in it. So I had to use SC-IDE. However, I still use VSCode and online code-difference-checker to find or replace text in SCD, schelp and sc files in my working directories. Ah, I also used brackets a lot to edit schelp files before using VSCode.

Sadly, I just saw this now.