VScode没有直接运行Fortran的环境,需要搭建。
VScode没有直接运行Fortran的环境,需要搭建。
1.下载MinGW-W,并搭建环境。
2.下载vscode安装。
3.安装vscode插件。
1.下载地址
2.下载注意:
下载最近版本的,且下载后缀为seh的文件(如下图)。
点击链接可以直接下载。下载完成以后,解压即可。
下载好的东西就是一个文件夹,要想使用,还需要配置环境变量。
1.进入解压后的bin文件夹,并复制所在路径:E:\APP_resource\mingw64\bin
2.打开电脑的环境变量设置页面,此电脑——属性——高级系统设置——环境变量;打开后如图所示:
在环境变量和系统变量的Path分别添加刚刚赋值的Bin路径。然后点击确定
3.验证环境是否搭建成功:打开命令行窗口,输入gcc, g++, 或者gfortran;若显示提示找不到输入文件, 那么就表明GNU Complier环境变量配置成功了, 如果显示: gcc/g++/gfortran is not recognized as the name of a cmdlet, function, script file, or operable program. 则表示GNU Complier环境变量没有配置成功。
如下图所示是配置成功的:
打开vscode,以此安装Fortran,Modern Fortran 0.4.5,Fortran Breakpoint Support
1.编写配置文件
当新建一个项目时,每一次都需要写**配置文件(.vscode文件夹)**才能使用VScode的编译环境(其实这个配置文件使用其他的IDE时也需要,但是其他的IDE都是自动为我们写好的,而VScode需要我们根据使用的插件不同自己写,这个也是VScode是如此轻小的原因)。
以后新建新的Fortran项目, 将配置文件的.vscode文件夹复制到别的项目下即可。
下面就来说说怎么配置.vscode文件夹。
1.在你的工程路径下面新建立一个文件夹,命名为.vscode
如下图所示:
2.在.vscode这个文件夹的下面新建:launch.json和tasks.json两个文件
3.在launch.json和tasks.json两个文件分别写入如下代码
launch.json:
要注意其中的"miDebuggerPath": "E:/APP_resource/mingw64/bin/gdb.exe"要写自己的路径
{
"version": "0.0.1",
"configurations": [
{
"name": "Fortran Launch (GDB)",
"type": "cppdbg",
"request": "launch",
"targetArchitecture": "x86",
"program": "${workspaceRoot}\\${fileBasenameNoExtension}.exe",
"MIMode": "gdb",
"miDebuggerPath": "E:/APP_resource/mingw64/bin/gdb.exe",//结合自己的路径!
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceRoot}",
"externalConsole": true,
"preLaunchTask": "gfortran"
},
{
"name": "Intel Debug Attach",
"type": "cppvsdbg",
"request": "attach",
"processId": "${command:pickProcess}"
}
] }
tasks.json:
{
"version": "2.0.0",
"command": "gfortran",
"args": [
"-g",
"${file}",
"-o",
"${workspaceRoot}\\${fileBasenameNoExtension}.exe"
],
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "new", //这里shared表示共享,改成new之后每个进程创建新的端口
"showReuseMessage": true,
"clear": false
}
}
4.在该工程目录下新建fortran文件
后缀填写为.f90。
如下图所示:
5.粘贴如下代码
program projectName
implicit none
print *, "Hello world"
read(*,*)
end program projectName
6.点击调试按钮,开始运行。
出现下面的结果就说明已经配置好了。生成了.exe文件。
这里说一个我犯的错误!!!!!
(1)先说正确的情况。就是vscode运行fortran文件时,打开的文件夹必须得是fortran的那个工程的文件夹,这样的话就会直接调用这个工程下的.vscode文件夹中的launch.json,就会选择对应的调试器运行程序。
如下图所示,THERMAL_CONDUCTIVITY是fortran的工程目录,vscode自动找该工程目录下的.vscode,进而调用正确的调试器。
(2)但是当vscode打开的文件夹是该fortran工程目录的上一级,如:TTOP文件夹下有thermal_condutivity的fortran工程文件夹以及一个bulk_density.py的文件,那么vscode会在TTOP这个文件夹下找.vscode文件。但是找不到的,所以就会问你用哪个编译器(下第2图)以及让你在TTOP文件夹下建立launch.json等文件的错误。
所以调试fortran工程时,一定要注意打开fortran那个工程的文件夹,不要打开上一级文件夹。