M1芯片Mac配置VScode调试Fortran程序
本文所有内容仅适用于M1芯片,通过本文阅读,可在不直接打开Mac terminal(终端)的情况下,在VScode内直接实现Fortran程序运行、调试。
1 基本情况
设备 :MacBook Pro (13-inch, M1, 2020);
需求 :编辑、调试Fortran程序;
IDE :VScode;
编辑语言 :Fortran
2 安装流程
2.1 安装VScode
请使用以下链接下载Apple silicon版本的VScode:
VScode安装包下载地址
下载完成后直接安装。
2.2 安装扩展
图像需要安装上图中三个“基础”扩展包1。
除此之外,还需要“CodeLLDB”、“Code Runner”、“Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code”三个扩展包。
扩展名称 | 链接(请直接在VScode中安装,此链接备用) |
---|---|
Fortran | https://marketplace.visualstudio.com/items?itemName=Gimly81.fortran |
Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code | https://marketplace.visualstudio.com/items?itemName=MS-CEINTL.vscode-language-pack-zh-hans |
Code Runner | https://marketplace.visualstudio.com/items?itemName=formulahendry.code-runner |
CodeLLDB | https://marketplace.visualstudio.com/items?itemName=vadimcn.vscode-lldb |
Fortran Breakpoint Support | https://marketplace.visualstudio.com/items?itemName=ekibun.fortranbreaker |
Modern Fortran | https://marketplace.visualstudio.com/items?itemName=krvajalm.linter-gfortran |
补充:如果扩展安装失败,请尝试离线本地安装,方法详见链接:VScode中使用vsix本地离线安装扩展的方法 |
3 程序与运行
3.1 Fortran运行环境配置
- 打开文件夹,选择项目路径
- 新建.vscode文件夹
- 创建launch.json启动配置文件
下面展示一些内联代码片
。
{
"version": "0.0.1",
"configurations": [
{
"name": "Fortran Launch (GDB)",
"type": "lldb",
"request": "launch",
"targetArchitecture": "arm64",
"program": "${workspaceRoot}//${fileBasenameNoExtension}.exe",
"miDebuggerPath": "lldb.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceRoot}",
"externalConsole": true,
"preLaunchTask": "gfortran"
},
{
"name": "Arm64 Debug Attach",
"type": "lldb",
"request": "attach",
"processId": "${command:pickProcess}"
}
] }
- 创建tasks.json配置文件
{
"version": "0.0.1",
"command": "gfortran",
"args": [
"-g",
"${file}",
"-o",
"${workspaceRoot}//${fileBasenameNoExtension}.exe"
],
"problemMatchers": [],
"presentation": {
"panel": "new" //默认为“shared“表示共享,改成new之后每个进程创建新的端口
}
}
需要注意,每次运行前,都应该在根目录文件夹中新建“.vscode”文件夹,并把tasks.json和launch.json文件复制或新建到“.vscode”文件夹中。
图片引用于:https://i-blog.csdnimg.cn/blog_migrate/1e4a17cae0f0b027de8b32c75b8c5645.png#pic_center ↩︎