vscode-fortran-support
vscode-fortran-support copied to clipboard
feat: Auto-generation of `launch.json` and `tasks.json`
Is there an existing request for this?
- [x] I have searched the existing issues
Feature Request
I'd like to request a feature "Fortran: gfortran build and debug active file", just like what the C/C++ extension does when someone debugs his .c
or .cpp
source code. Obviously we need tasks.json
configured as well (to setup a preLaunchTask
).
Here are my configurations:
// .vscode/launch.json
{
"configurations": [
{
"name": "Fortran: gfortran build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"preLaunchTask": "Fortran: gfortran build active file",
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
// .vscode/tasks.json
{
"tasks": [
{
"type": "shell",
"label": "Fortran: gfortran build active file",
"command": "/usr/bin/gfortran",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "${fileDirname}"
},
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Task generated by Debugger"
}
],
"version": "2.0.0"
}
I was wondering if there's a way to generate launch.json
and tasks.json
automatically with minor modification to this extension.
While I agree that some automatic generation of tasks.json
and launch.json
files for debugging would be really nice.
I think that a more complete approach would be a command that generates a new fpm
project at the current directory with something like fpm new --backfill
and also the .vscode
files with some setting similar to https://github.com/fortran-lang/fpm/discussions/479#discussioncomment-2942179
While I agree that some automatic generation of
tasks.json
andlaunch.json
files for debugging would be really nice.I think that a more complete approach would be a command that generates a new
fpm
project at the current directory with something likefpm new --backfill
and also the.vscode
files with some setting similar to fortran-lang/fpm#479 (reply in thread)
This is a great idea @fedebenelli. FYI there are plans for making fpm fully integrated with VS Code similar to CMake, but we will probably save that for a GSoC project or a funding proposal, since the dev time required would be in the hundreds of hours.
@yuxuan-z19 No it is not currently possible. We rely 100% on the C++ extension so for me software-wise it makes sense not duplicating these file generation processes, since they will inevitably get outdated. I appreciate that this is not the most reasonable thing for a user though. Users just want to have these scripts ready.
Maybe there is a way (through some registered command) to call the C++ extension's task and launch generation scripts and then edit them.