0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

VSCodeでFortran拡張機能を使うときに警告を無視する設定を追加する方法

Posted at

概要

最近Visual Studio Codeをエディタとして使ってFortranを書いています。この記事などを参考に設定を済ませ、概ね快適に書けるようになりました。記事の内容通りModern FortranとFORTRAN IntelliSenseの拡張機能を使用しています。
ところが、

i = 21/2

などと書いた際、

Integer division truncated to constant '10' at (1) [-Winteger-division]

のように警告が出ます。要するに整数除算の警告ですが、C言語などでもおなじみの仕様であり、このとき書いていたパラメータ設定に使うという明確な用途の上でいちいち警告として残ると煩わしいと感じました。
というわけで、この警告に限り拡張機能の上で無視してもらう設定を行います。

環境

  • macOS Big Sur 11.6
  • GNU Fortran (Homebrew GCC 11.2.0) 11.2.0
  • VSCode:1.62.2
  • Modern Fortran v2.3.0

結論

settings.json

"fortran.linterExtraArgs": [
    "-Wall",
    "-Wno-integer-division"
]

を追加します。

仕組み

Modern Fortranは、Featuresに

Code linting based on gfortran to show errors wiggles in your code

とあるように、gfortranの機能でLintingを行います。これにユーザー設定を加えられるようにするため、fortran.linterExtraArgsという設定項目があります。

If you want to pass extra options to the gfortran executable or override the default one, you can use the setting fortran.linterExtraArgs. By default -Wall is the only option.

とあるように、引数をリスト形式で与えれば実行時にそれが追加されます。
デフォルトで指定されている-WallはWarning allで、すべてのあり得る項目に警告を出します。つまりこれによってLintingを実行できています。
これに対し、-Wno-[warning-name]を指定すると、warning-nameの警告は出なくなります(参考)。先程の整数除算の警告は

Integer division truncated to constant '10' at (1) [-Winteger-division]

だったので、-Wno-integer-divisionを引数に指定し、警告を無視しているというわけです。

応用すれば好きな警告を無視できますが、むやみに設定すると警告の意味がないので程々にすべきだと思われます。

参考文献

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?