06-ubuntu+VScode+conda+GFortran+fpm+Git


<center>ubuntu+VScode+conda+GFortran+fpm+Git</center>

SSSSSSSSSSSSSSSSSSSSSSSSSS

安装VScode(官网)

  1. 官网下载deb安装包,

  2. dpkg -i 安装,将vscode添加到收藏夹,

  3. 双击打开,

  4. 安装的vscode位置在什么地方?(不管了…)

SSSSSSSSSSSSSSSSSSSSSSSSSS

VScode第一次账户配置同步(Win10,用的Win10账号)

https://www.ixigua.com/6864843011277193739?wid_try=1

可同步内容,

账户选择微软账号,

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

VScode账户配置同步(linux,Win10账号失败)

linux知道密码却一直登陆失败,输入法问题,先安装谷歌拼音,但是安装需要重启,我是远程,🤮,但至少可以登录github账号;

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

VScode第一次账户配置同步(linux,用的github账号)

类似Win10账号

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

VScode账户配置同步(Win10,github账号)

https://www.ixigua.com/6864843011277193739?wid_try=1

为了将Win10的配置同步到linux,需将Win10上的配置上传到远程:

  • VScode登录github账户,选择手动合并,

  • 对每个条目根据需要选择 接受远程接受本地合并中的一个,

  • 同步信息log(有明确是那台电脑进行了操作),

  • 接下来,两台电脑会自动同步,即一台电脑修改了可同步的信息,另一台电脑的信息也会自动改变~~~

SSSSSSSSSSSSSSSSSSSSSSSSSS

VScode终端

SSSSSSSSSSSSSSSSSSSSSSSSS

FAQ:ubuntu-长屏截图

SSSSSSSSSSSSSSSSSSSSSSSSS

FAQ:VScode-ubuntu

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

VScode安装gfortran

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

FAQ:linux安装的包去哪里了?linux内存相关问题,包整理问题;

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

VScode-git源代码管理

SSSSSSSSSSSSSSSSSSSSSSSSSSSS

git clone

https://blog.csdn.net/xiao_yi_xiao/article/details/119336041;

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

VScode使用fpm编译fortran代码

  1. 使用conda安装fpm(【https://github.com/fortran-lang/fpm】),

    可使用 Anacondaminicondaminiforge安装 conda,在这里没写怎么安装 conda

  2. 进入 fpm环境,验证fpm命令能正常使用,

  3. git clone 我的 study-fpm项目(【https://github.com/Liu-Jincan/study-fpm】),添加到VScode工作区下,该项目创建过程在 FAQ:寻找关于fortran的项目管理方法(FPM)博客,

    验证fpm能正常编译运行fortran,

    • single-program,

    • multi-program,【需要删除原先的build文件夹】,

    • multi-program_level,

SSSSSSSSSSSSSSSSSSSSSSSSSS

FAQ:VScode同步后如何使语言服务器fortls正常使用?

同步后,modern fortran扩展会自动安装,相关的扩展设置也会自动同步,此时要使得fortran语言服务器fortls正常使用,还需要安装 fortls,(【Win10+VScode+Msys2+Mingw64+GFortran+Git博客】)

  1. 在fpm环境下pip安装fortls,

    pip list,

    base环境下pip list没有fortls包。

  2. 验证能否跳转…;

SSSSSSSSSSSSSSSSS

VScode 扩展 gdb 跨文件调试(ubuntu)

  • 基于 Win10+VScode+Msys2+Mingw64+GFortran+Git博客中Win10的gdb多文件调试写得;
  1. 确定安装了gdb,

  2. 确定安装了gdb扩展;

    img

  3. 项目为 test_multi_f90file,位于 Data-Assimilation-for-Ocean-Current-Forcast的github仓库 make_v0.2.0分支,(https://github.com/Liu-Jincan/Data-Assimilation-for-Ocean-Current-Forecasts/tree/v0.2.0-make)

    launch_json位于 .vscode中,其内容如下,

    {
        // 使用 IntelliSense 了解相关属性。 
        // 悬停以查看现有属性的描述。
        // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
        "version": "0.2.0",
        "configurations": [
            {
                "type": "by-gdb",
                "request": "launch",
                "name": "Launch(gdb)",
                "program": "${workspaceRoot}\\test_multi_f90file\\main.exe",
                "args": [
                    "${workspaceRoot}\\test_multi_f90file\\mod_parms.o"
                ],
                "cwd": "${workspaceRoot}"
            }
        ]
    }
    • Makefile

      FC = gfortran
      FFLAGS = -g
      runOBJS =  mod_parms.o main.o 
      
      %.o:%.f90
      	$(FC) -c $(FFLAGS) $<
      
      # $(runOBJS) 中.o文件顺序反过来会错误,说明,越是底层的.o文件,越是在前面;
      # main.exe
      run:$(runOBJS)  
      	$(FC) $(FFLAGS) $(runOBJS) -o main 
      
      clean:
      	rm -f *.o *.exe *.mod

      main.f90

      subroutine abc
          implicit none
          print *, 'hello world.'
          print *, 'hello world.'
      end subroutine abc
      
      program main
          use mod_parms
          implicit none
          real :: tmp
          call abc
          call abcd
          tmp = 0.0
          print *, 'hello world.'
      end program

      mod_parms.f90

      module mod_parms
         implicit none
         integer, parameter :: NN = 121
      contains
         subroutine abcd
            implicit none
            print *, 'hello world.'
            print *, 'hello world.'
         end subroutine abcd
      
      end module mod_parms
      • 进入 test_multi_f90file,在bash输入命令 make cleanmake run
      • 打断点,
      • 运行和调试中,开始调试,

Author: Jincan
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source Jincan !
  TOC