Which IDE do you use?

I’d like to promote a the new scnvim plugin for neovim, though! Can be found here: https://github.com/davidgranstrom/scnvim
Been using it for a few weeks now, and it works beautifully! If you still haven’t jumped on the neovim bandwagon, this might just be the thing to get you onboard…

5 Likes

Already made the jump. I love it. Switched to scnvim!

1 Like

there is 3 very cool features i use often with vim and which are not possible currently with SCIDE:

  • editorInsert, a method i’ve added to String to insert the string just after the cursor in the editor
  • codes snippets. Want to add a Pbind ? Pbind[tab] and you have your skeleton. I have hundreds of snippets
  • custom shortcuts: i type [f4]m to show a custom gui with various operation i do often. [f4]L for levels, [f4]F for freqscope, etc. you can define a custom command to go to mark X, run the code there, then go back to original position. Handy when you work on some code and the “run the whole” code is far

I have also implemented a kind of sequencer keyboard interface in vim, each key of the computer keyboard represent a file (usually containing a Pdef) and when you hit [f3][key] it run the code. With [f2][key] you open the corresponding file to edit it. With the abilities of Pdef to replace the running code, you can implement channels. With pattern chaining you can put a default out bus (or any other key) for a channel and eventually run a channel mixer or some FX for all the patterns of the channel

2 Likes

Using the IDE (currently this is not supported for other editors):

d = Document("new", "some text");
d.string_("Let me programmatically insert ", 0, 0);
d.string

-> Let me programmatically insert some text

And if you go to the new document window, you’ll see the complete text.

Currently there is a known bug about this in Windows – the IDE is supposed to update the cursor position in the language-side Document object, but sync very often gets broken in Windows – but for Linux and Mac at least, this has been working for a couple of years now.

BTW if you’ve implemented some document-modification features for VIM, you might consider wrapping these into a parallel VIMDocument* class to improve cross-platform support, and making a PR against the scvim repository. This is a badly needed feature that hasn’t received much attention. * Or maybe it should be Document but in a vim-specific directory. I’m not sure offhand.

“<Ctrl-`> tra ” and I get, in the document:

o = OSCFunc({ |msg| s.sendMsg(\n_trace, msg[1]) }, '/n_go', s.addr).oneShot;

(Because I previously defined that string as a ‘tracenew’ snippet.)

The IDE doesn’t have this feature natively, but in my startup file, I created a globalKeyDownAction for Document that, when it detects a particular keystroke (ctrl-esc), pops up a window with a few key-enabled buttons that access some specific functions:

  • b - Object.browse
  • d - Dismiss (this dialog)
  • f - sample folder browser (a script saved on disk, not part of SC’s core)
  • k - bookmarked files (defined in my startup file, not part of SC’s core)
  • q - s.queryAllNodes
  • s - SynthDescLib.global.browse

… which sounds a lot like your thing.

So, actually, all three of these impossible things can be done currently in the IDE.

hjh

1 Like

That’s a wonderful news! i ignored that. I hope to find some time to make some tuto about it, it should be better known :slight_smile:

Regarding SCVim, i already have a PR to finish but I hang around here instead :stuck_out_tongue:
But good idea, I should try implement more method on the stub Document class of vim

1 Like

if you’re on a Mac, Dash is a really good snippet manager.

https://kapeli.com/dash

There is also yasnippets package for SC in Melpa for Emacs. It works but barely and is unmaintained.

Emacs is not only my editor for SC, it’s my window manager.
exwm FTW!

3 Likes

bump
sway, kitty, code and scnvim

1 Like

I’ve been using mainly the Supercollider IDE which I think works really well, but have recently been enamored with Atom (as I use it for other code as well). It’s very easy to set up and only needs the supercollider package (and of course scsynth via normal install). But there are some really neat features, such as the errors and debugging seem to be parsed out a bit better. Hard to break away from what all of the help and tutorials show, but works really well.

1 Like

i use the Hadron editor

3 Likes

SuperCool and beautiful design!!

2 Likes

Now, this is an alternative for me, too lazy to set up Vim or Emacs to play along with SC, I can see myself move in and live in this. All I did was to change the brown colour to something more… well, “me”.

I feel more at home than ever before in Hadron.
Thank You so much @htor for sharing.

Lukas.

1 Like

screenshot to Screenshots of SC in action please, @Lukiss :wave: :smile: :hugs:

@luka since you asked. Hadron and SC3.11.0 i think. Only gripe with Hadron really is that autocomplete and some shortcuts (in OS X afaik) isn’t working. Still use it though. :slight_smile:

1 Like

A bit of a plug but I also wrote some syntax themes for SC in Atom which highlight symbols and argument tags: Woolgathering Light Syntax and Woolgathering Dark Syntax.

Makes life a little easier. :slight_smile:

2 Likes

+1 (and I can say ‘plus one’ to make it to the minimal 20 char :slight_smile: )

just a quick plug: SCNvim does have these as well!

2 Likes

How about using Help Document in SCNvim? Unfortunately, I was unable to complete the installation of SCNvim on my machine…

SC-IDE also allows you to edit schelp files by opening the link to the files in the first line of the last two lines.

Help file source: /Users/prko/Dropbox/prko/__myDocs/Writings/Making Sound using Open Sources/mixed/dev - Bleeding edge/SuperCollider.app/Contents/Resources/HelpSource/Classes/SinOsc.schelp
link::Classes/SinOsc::

I think there must be certain users like me who will want to continue using SC-IDE unless the following features are fully supported in other code editors that allow SuperCollider to be used.

  1. Auto-completion of class, method and method argument when typing.
  2. Reading help documents via “Look Up Documentation for Cursor”.
  3. Navigating through Help documents from an open Help document.
  4. Evaluating sc codes within Help documents.
  5. Open/edit help files.
    ← I think this is important for developers too, isn’t it?