1. Windows 下 Fortran 环境为什么总在第一步卡住
Fortran 在数值计算、气象建模、CAE 仿真这些圈子里一直是主力语言,语法老派但算得快、库生态稳。问题是它在 Windows 上的开发体验远不如 Python 或 C++ 顺滑:编译器、IDE、调试器三件套要自己拼,装完还经常遇到「命令行能编译、VS 里找不到 ifx」这类割裂状态。这篇就按 VS2022 + Intel oneAPI 这条最稳的路线,把从零搭建到跑通 hello.f90 的完整流程走一遍,顺带把 AI 辅助编码通道也接上——毕竟写 Fortran 时查语法、补循环、改数组维度这些事,有模型在旁边确实省时间。
适合谁看:刚接触 Fortran 的学生、从 Gfortran 想换到 ifx 的工程人员、以及已经装好 VS2022 但 oneAPI 环境变量没配对的开发者。核心检索词就三个:Fortran 环境配置、VS2022、Intel oneAPI。装完之后你会得到两样东西——一个能编译运行 .f90 的本地工具链,一个用统一 Key 调用的 AI 编码通道,两者互不干扰。
我试过在没配环境变量的机器上直接开 VS 新建 Fortran 项目,结果编译按钮是灰的,报错说找不到编译器。所以下面每一步的顺序都别跳,尤其是 Base Toolkit 和 HPC Toolkit 的先后关系。
2. TaoToken 前置:统一 Key 与 API 通道准备
本地编译器解决的是「代码能不能跑」,AI 通道解决的是「代码怎么写更快」。TaoToken 在这里的角色是一个统一的 API 入口,你不需要为每个 AI 编码工具单独配一套 Key 和地址,换工具时只改配置文件里的模型名就行。
先拿 Key。打开官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,注册后在控制台里生成 API Key。控制台地址是 https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=console&utm_campaign=rewrite ,Key 只在生成时显示一次,复制后先存到本地文本里。
API 基础地址统一用 https://taotoken.net/api ,注意这个地址后面不加任何 UTM 参数,配置里填错会直接 404。如果你用的是 Claude Code 这类走 Anthropic 协议的工具,接入文档在 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite ,里面有协议头和 endpoint 的对应关系。
注意:Key 属于凭证,不要写进会提交到 Git 的 settings.json 里。本地测试阶段可以先放,但正式项目建议用环境变量注入。
拿 Key 这一步本身不复杂,真正容易出问题的是后面把 Key 填进不同工具的配置格式。Cline、CC Switch、Continue 这几个的字段名都不一样,下面第三节直接给可复制的骨架。
3. 可复制配置:settings.json 与 config.toml 骨架
3.1 VS2022 + oneAPI 安装顺序与工作负荷勾选
先装 Visual Studio 2022 社区版,安装器里工作负荷必须勾「使用 C++ 的桌面开发」,这一项决定了后面 Fortran 项目模板能不能挂上。Python 工作负荷可选,但如果你要用 AI 工具做脚本辅助,勾上不亏。安装位置改到非系统盘,oneAPI 加 VS 本体轻松吃掉 30GB 以上。
装完 VS 重启,再装 Intel oneAPI。下载页选 Base Toolkit 和 HPC Toolkit 两个。顺序是死的:先 Base,后 HPC。Base 提供底层运行时和编译器基础设施,HPC 里的 ifx、ifort 依赖它。反过来装会出现 HPC 装完但编译器注册不上的情况。
安装时选自定义,把路径改到其他盘。HPC Toolkit 那一步的自定义路径不用再改,因为部分组件已在 Base 阶段落位。装完点 Go to Installed Products,能看到两个工具都在列表里就对了。
3.2 AI 编码工具的 config.toml 骨架
以 Cline / Roo Code 这类 VS Code 插件为例,配置走的是 OpenAI 兼容格式。在插件设置里选「OpenAI Compatible」,然后填:
{ "apiProvider": "openai", "openAiBaseUrl": "https://taotoken.net/api", "openAiApiKey": "sk-你的Key", "openAiModelId": "claude-sonnet-4-20250514", "openAiModelInfo": { "maxTokens": 8192, "contextWindow": 200000, "supportsImages": true } }如果你用的是 CC Switch 做多通道切换,它的 config.toml 骨架长这样:
[[providers]] name = "taotoken" base_url = "https://taotoken.net/api" api_key = "sk-你的Key" protocol = "openai" [[providers.models]] id = "claude-sonnet-4-20250514" label = "Claude Sonnet 4" max_tokens = 8192字段说明:base_url 结尾不要带斜杠,带斜杠有的客户端会拼成双斜杠导致 404;protocol 按工具支持选 openai 或 anthropic,Claude Code 走 anthropic 协议时参考接入文档里的 header 写法。模型名以控制台实际可用的为准,别照抄示例里的日期后缀。
3.3 Fortran 项目模板与 .f90 文件位置
VS2022 里新建项目,语言筛选选 Fortran,模板选 Main Program Code。项目名和路径自己定,勾选「将解决方案和项目放在同一目录」方便管理。建好后左侧解决方案管理器的 Source Files 里能看到一个 .f90 文件,这就是入口。
4. 验证请求:编译 hello.f90 与 AI 补全实测
4.1 编译运行 hello.f90
把 Source Files 里的 .f90 内容替换成下面这段,保存:
program hello implicit none integer :: i real :: sum_val sum_val = 0.0 do i = 1, 100 sum_val = sum_val + real(i) end do print *, 'Hello Fortran, sum 1..100 =', sum_val end program hello点绿色三角执行(不调试直接运行),输出窗口应该打印Hello Fortran, sum 1..100 = 5050.0。如果编译按钮灰色,说明 VS 没识别到 ifx,去「工具 - 选项 - Intel Compilers」里确认编译器路径,或者重跑一遍 oneAPI 的 setvars 脚本。
命令行验证也可以,打开「Intel oneAPI command prompt」,cd 到 .f90 所在目录:
ifx hello.f90 -o hello.exe hello.exe能出结果说明本地工具链通了。
4.2 AI 补全请求验证
在 VS Code 里打开同一个 .f90 文件,唤起 Cline,输入「帮我把这个循环改成用数组求和,保持 Fortran 90 语法」。如果配置正确,模型会返回改写后的代码块。这一步验证的是 Key、base_url、模型名三者是否匹配。
想单独测通道,用 curl 直接打:
curl https://taotoken.net/api/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer sk-你的Key" \ -d '{ "model": "claude-sonnet-4-20250514", "messages": [{"role": "user", "content": "用一句话说明 Fortran 的 implicit none 作用"}] }'返回里有 choices 字段且内容正常,说明通道没问题。报 401 查 Key,报 404 查 base_url 有没有多写路径,报 model not found 就去控制台核对模型名。
5. 本篇常见错排查
编译按钮灰色 / 找不到 ifx:九成是 oneAPI 装完没重启,或者 VS 工作负荷没勾 C++ 桌面开发。重装工作负荷比修环境变量快。
HPC Toolkit 装完但 Fortran 模板不出现:检查 Base Toolkit 是不是后装的。顺序错了就卸载 HPC 重装一次,不用动 Base。
AI 工具报 404:base_url 写成https://taotoken.net/api/带尾斜杠,或者写成了带 UTM 的完整链接。配置里只填https://taotoken.net/api。
curl 返回 401:Key 复制时带了空格,或者用了控制台里已删除的旧 Key。重新生成一个。
模型返回空内容:max_tokens 设太小,或者模型名拼错。Fortran 代码补全建议 max_tokens 不低于 4096。
VS 里能编译但命令行 ifx 找不到:命令行没走 oneAPI 的环境初始化。用开始菜单里的「Intel oneAPI command prompt」而不是普通 cmd。
6. 通道分流:按你的使用场景选入口
环境跑通之后,AI 通道怎么用取决于你的工作形态。如果你只是偶尔查 Fortran 语法、让模型解释一段老代码,直接用模型对话入口最轻量:https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_content=model_chat&utm_campaign=rewrite ,不用装插件,浏览器里就能问。
如果你打算长期在 VS Code 里写 Fortran、让 AI 参与重构和补全,那 Coding Plan 更合适,额度模型和调用方式都按编码场景优化过:https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding_plan&utm_campaign=rewrite 。配合上面给的 config.toml 骨架,换项目时只改模型名,Key 和地址不用动。
Key 管理和新建入口在 https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api_keys&utm_campaign=rewrite ,建议给本地开发和 CI 环境分别建 Key,方便单独吊销。Claude Code 用户走 Anthropic 协议的话,接入文档 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite 里有完整的 endpoint 和 header 对照表。
最后提醒一句:oneAPI 的 ifx 和 ifort 在部分老代码上行为有差异,迁移时先用 ifx 编译一遍看警告,别直接替换生产构建脚本。AI 补全给的 Fortran 代码也要过一遍编译器,模型偶尔会写出固定格式和自由格式混用的片段。