Which IDE do you use?


#43

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…


#44

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


#45

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


#46

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


#47

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:


#48

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


#49

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

https://kapeli.com/dash


#50

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


#51

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