As someone who experiments with different programming languages and environments, the following are the requirements I look for in IDE integration, whether for Visual Studio Code, or another IDE.
- "Run" command that runs a sample piece of code, given an entry point, and exits when it's done. Be able to do this multiple times, after making changes to the source in the editor.
- Run under a debugger. Place a break-point somewhere in the executation path, hit F5, and make sure it breaks there. Continuing after that, should go to the end and exit (not remain in the debugger)
- Run a set of tests.
- Place a breakpoint in any test or production code that's in the execution path of a test, run a set of tests (all tests), and hit the breakpoint on the first test that hits it.
- Be able to run an individual test.
- Be able to debug an individual test, and break where a breakpoint is set.
- Syntax highlighting
- Navigate to source of a a build error
- Navigate to source from excepton during debugging
- Simple refactoring (rename, extract, inline)
- Code-coverage
- Performance testing (CPU, Memory, I/O)
- Node, Haxe, Zig, C++, Haskell, Lua, Clojure, Racket, Janet, OCaml, Dart, Nim, Kotlin, C#, Python, PowerShell, Rust, C++, Go, Deno, WASI (Emscripten, C#, Rust, AssemlbyScript)
I wasn't keeping track of which passed and which didn't. Maybe I'll start doing that.
Seems basic, but I'm surprized how difficult it is to set this up vscode or vim, but trivial with JetBrains or Visual Studio.