A Csound language plugin for Visual Studio Code.
csound-vscode-plugin currently provides:
-
Syntax Highlighting for Csound .orc and .udo files
-
Opcode completion with popup hints for opcode arguments
-
Show opcode documentation in the editor
-
Play the file in the currently-active editor window by choosing
Csound: Play Active Document
from the command palette or using thealt+.
shortcut. To kill a playing Csound subprocess, chooseCsound: Terminate any running csound subprocess
from the command palette or use thealt+escape
shortcut while the focus is still in a Csound text editor window. -
Evaluate code at runtime (live coding) using
Csound: Evaluate Orchestra Code
orctrl+enter
(cmd+enter
on macOS) for ORC code andCsound: Evaluate Score Code
for SCO code.
You must have Csound properly configured on your system so you can use it on the command line.
Live coding with csound-vscode-plugin requires Csound to use UDP server mode listening to the port given in settings (by default, port 10000). Csound itself must be configured to listen to the matching port that the plugin will use. This can be done per-project by adding --port=10000
to the CsOptions of the project's CSD, or done for every project by adding the above flag to the csound.playArgs
settings. (Caution: Unless all of your Csound work is live coding, adding the --port flag may cause your project to run indefinitely if the project was not designed for live coding.)
setting | default | description |
---|---|---|
csound.executable |
"csound" |
The Csound executable |
csound.playArgs |
[ "-odac" ] |
Arguments to give to Csound when used for playing the current file. An array of strings, each element an argument including the leading dash. |
csound.saveSilentlyOnPlay |
false |
Save without prompting before playing the current file. |
csound.UDPAddress |
127.0.0.1 |
Address to send live coding evaluations over UDP. |
csound.UDPPort |
10000 |
Port to send live coding evaluations over UDP. |
csound.htmlFilePath |
"" |
Csound manual root directory on local file system for loading opcode documentation. If empty, defaults to C:\Program Files\Csound6_x64\doc\manual on Windows, and /Library/Frameworks/CsoundLib64.framework/Versions/6.0/Resources/Manual on macOS. |
None.
- Adds support for autocomplete for variables by document
- Adds support for embedded JSON support for Cabbage section of CSDs
- Enable opcode completion and hints for web extension
- Fix import of opcodes.json
- Adds support for autocomplete, popup hints for opcode arguments, and showing opcode documentation in the editor.
- Adds .instr as file extension for ORC syntax highlighting
-
Adds support for folding for #region / #endregion comments
-
Updated README for information on using --port=10000 flag for live coding
-
Can now play from ORC/SCO pair, associating to the file from the currently-active editor window a file contained in the same folder with the same name but opposite extension.
-
Added CSD barebone as snippet, use the keyword
barebone
to insert the template code in your CSD file.
- Updated to vscode 1.60 extension format to work as a Desktop and Web extension. (Play commands currently disabled until WebAudio Csound can be integrated.)
- Updated opcode entries to 6.15.0 (synced to Nate Whetsell's Atom language-csound plugin)
- Added live-coding commands to evaluate ORC and SCO code by sending to Csound over UDP.
- Don't switch focus to output window when playing a CSD file.
alt+escape
only kills Csound subprocesses when focus is in a CSD text editor window (for better compatibility with other modules).
- Fix issue when attempting to kill when there are no Csound subprocesses running.
- Add command to kill any running Csound subprocess. Kill any Csound process on exiting from VSCode.
- Added the ability to play CSD files from within VSCode.
- Alpha: initial release