Process.run('code.cmd', ['<path-to-file-you-want-to-open>']);
Points to consider: When you install Visual Studio Code, you will be asked if you want to add it to the PATH. If you turn it ON, you will be able to start VSCode with the code command.
However, the correct command is actually code.cmd. Just code will not work when launching from Flutter's Process.run, so you need to include .cmd.
That's all.
Below is a previous workaround that seemed cumbersome but was kept as a memo because it might still be meaningful. Not recommended.
I wanted to launch VSCode from a Windows app made with Flutter.
if (Platform.isWindows) {
var r = await Process.run('where.exe', ['code']);
if (r.exitCode != 0 || r.stdout == '') {
return;
}
var l = r.stdout.split('\r\n');
Process.run(l[1], ['<path-to-file-you-want-to-open>']);
}
It's a bit forced, but this is how I did it.
where.exe works the same way as which on macOS or Linux. Error handling should be done more properly, but in this case, since the users are limited, I did it roughly like this.
The ProcessResult instance resulting from Process.run will have exitCode == 0 if the command completes successfully. If it fails, it will be something other than 0, probably 1.
However, I didn't use the exitCode for determination this time.
The command result is stored in the stdout of the ProcessResult. In the case of Windows, the newline code is \r\n.
The result of where.exe will output the full path without extension on the first line and with the extension on the second line. To execute with Process.run, specify the one with the extension.