Vscode

您所在的位置:网站首页 如何打开openfoam Vscode

Vscode

2024-05-25 08:33| 来源: 网络整理| 查看: 265

Vscode-OpenFOAM

badge

介绍

使用现代化的编辑器vscode进行OpenFOAM编程的配置,大大提升编程体验。

说明 首先搜索扩展c/c++安装如下的C++扩展:

cpp

打开工作文件夹,即你的OpenFOAM求解器存放的文件夹,按住shift+ctrl+p开启命令框,输入c/c++:conf后选择如图的第二条命令,生成.vscode/c_cpp_properties.json

1

打开Make/options,可以看到所有需要包含的头文件,以-I开头

值得注意的是,其中的$(LIB_SRC)所指的地址就是OpenFOAM源代码路径。

如果你不知道这个路径,终端下执行

src pwd

打印出的内容就是$LIB_SRC

值得注意的是,Make/options中的头文件并不完整,还需要加入以下两个头文件:

/opt/OpenFOAM/OpenFOAM-v1912/USERNAME/src/OpenFOAM/lnInclude /opt/OpenFOAM/OpenFOAM-v1912/USERNAME/src/OSspecific/POSIX/lnInclude

请自行搜索以上两个头文件在你的设备中的位置。

接着把完整路径放到C++配置文件的includePath中:

3

注意每条路径用" "括起来,行末加,(最后一行路径除外)

接下来还有一些小工作要做,先wmake求解器,你会看到下面的输出:

4

第一个参数g++说明wmake使用g++编译器,因此将g++的路径替换compilerPath中的内容,不知道g++路径?终端里which g++得到。后面-std = c++11 -m64 ... -ftemplate-depth-100是compilerArgs, 大部分是规定了编译过程错误信息输出以及优化信息,其中,-W开头的参数规定了编译过程中错误信息如何输出,对于我们使用编辑器没有作用,-std = c++ 11 -m64 -O3这几个参数则规定了编译使用的C++标准和优化信息,可以保留,而 以-D参数开头的是一些宏定义,他们有的规定了所使用的精度等级,这些定义十分重要,如果不加会引起类型错误。最后-ftemplate-depth-100规定了实例化搜寻深度,默认值为900,所以如果不加应该也没有问题,但是对性能的影响尚不清楚。 如果你觉得太麻烦,你可以将他们全都加到compilerArgs里

5

最终效果:

6

自动补全,代码提示、跳转都正常

NOTE

由于OpenFOAM”特殊“的编程风格,常在头文件中写代码段而不是类声明等常规写法,会导致报错,比如头文件中runTime的undefined错误提示和Info的ambigous提示,目前没有解决方法。如果你不想看到这些错误提示,可以设置忽略,具体方法在网上很容易找到

OpenFOAM的.C .H后缀可能使得Vscode识别语言类型错误,可以在.vscode下创建settings.json设置类型绑定,具体方法在网上很容易找到

由于C++扩展进行intellisense会占用较大的存储空间,每打开一个工程,就会相应生成一个100Mb左右的预编译文件,但是对于intellisense没有作用。可以定期清理~/.cache/vscode-cpptools/ipch下的缓存文件来释放空间,或者在设置中把intellisense cache size设为0禁用。

如果是wsl用户,可以使用wsl插件在vscode中调用bash,上述操作均在vscode连接Ubuntu后进行

wsl

如果遇到问题请点我发起issue LICENSE

本内容基于CC-BY-4.0 协议,转载请注明出处



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3