catch-img

VSCODEの機能強化 ~Python LinterをPylintからFlake8に切り替える~ 【Shopify運用支援】


画像ファイルの表示サイズを一括リサイズするプログラミングを始める前に、今回は、Microsoft Visual Studio Code(以下、VSCODE)の機能強化をしてみたいと思います。


目次[非表示]

  1. 1.Flake8をインストール
  2. 2.VSCODEの設定変更
  3. 3.linterを適宜切り替えるには



以前、VSCODEをインストールした際にPythonの拡張機能を設定しましたが、その拡張機能にはPylintというPythonのコードをチェックしてくれる機能(linterといいます)がデフォルトに指定されています。このPylintをFlake8というlinterに切り替えて使えるようにします。PylintとFlake8の違いは、検索サイトで「pylint flake8 比較」などと検索すると情報が得られると思いますが、ザックリいうと、Flake8の方が軽量で、VSCODEで中小規模のコードを書くのに向いているといったところでしょうか。また、VSCODEはlinterを切り替えてチェックするということもできますので、まず、Flake8を使いながらコードを書き、一段落したらPylintに切り替えて再チェックするといった使い方もできます。



Flake8をインストール

pip show flake8 と pip install flake8

まずはコマンドプロンプトを開き、pip show flake8 で Flake8がインストールされているかどうかを確認しましょう。インストールされていなければ pip install flake8でインストールします。インストールの結果、「Successfully instaled」が表示されればOKです。

筆者のPCはクリーンな状態でないためインストール中に表示されるメッセージは上図のようになっていますが、初回インストールやアップデートの場合は関連パッケージのダウンロードやインストールの状況を確認することができます。


VSCODEの設定変更

Ctrl+,(カンマ)で設定タブを開く

Flake8のインストールが完了したらコマンドプロンプトは閉じて構いません。次にVSCODEを起動して Ctrl+,(カンマ)で設定タブを開きます。この設定タブの上段に「設定の検索」という入力ボックスがありますので、ここに「pythonlintingenabled」と入力します。すると検索結果として「Python > Linting:~~ Enabled」(~~部分はさまざまな名称になります)が一覧表示されますので、その中の「Python > Linting: Flake8 Enabled」の下にある「Whether to lint Python files using flake8」をチェックし、「Python > Linting: Pylint Enabled」の下にある「Whether to lint Python files using pylint」のチェックを外します。そして設定タブを閉じてください。もし、「拡張機能 flake8がインストールされていません。」というポップアップが表示された場合は「install」ボタンをクリックしてください。(このポップアップがどういう状況で現れるのかは未調査です。機会があったら調べてみます。)


Flake8がどのように機能するのかを確認してみる

では、Flake8がどのように機能するのか試してみましょう。Ctrl+Nで新しいファイルを開き、Ctrl+Sで適当なファイル名(ファイルの拡張子は .pyにします)を付けて保存してlinterが働くようにしてコードを書いてみます。


適当に、下図のようなコードを書いてみると、2行目の「sys」の下に赤い波線、3行目の先頭に黄色い波線が表示されました。右端のすくろーろばーにも赤と黄のマークがついて問題のある行を示しています。また、このタブのファイル名が赤くなって「2」という数字がついていますが、これはこのファイルに2つの問題があることを示しています。

波線部分にマウスオーバーするとポップアップでどういう問題があるのかを示してくれます。


「sys」の方は、1行の文字数が87文字あり、79文字を超えているといっています。PEP8というPythonのコーディング指針では1行あたりの文字数は最大79文字にすることが推奨されているため、そのルールが守られていないことを示しています。


3行目の先頭の波線のほうは下図のようなポップアップが表示されました。ファイルの最後に余計な空行があると指摘しています。


また、Alt+F8を押すとポップアップ表示ではなくインラインで警告を表示されることができます。Alt+F8を押すたびに次の警告へ移るので、波線が見つけにくいときなどはAlt+F8が便利です。



linterを適宜切り替えるには

Python: Select Linter

次にlinterを切り替えてみましょう。Ctrl+Shift+Pを押しVSCODEのコマンドパレットを開き、「>」と表示されている入力ボックスで「>」に続けて「python select linter」と入力すると「Python: Select Linter」がサジェストされます。


そこで「Python: Select Linter」を選択すると有力ボックスに「current:flake8」と表示され現在のlinterがflake8であることが示されます。また下には「Disable Linting」(linterを無効にする)や選択可能なinterが一覧表示されます。


このlinterの一覧で「pylint」を選ぶとlinterをFlake8からPylintに切り替えることができます。(もしかすると、このときPylintがインストールされていないというポップアップが表示されるかもしれません。その場合は「install」を実行してください。)


Pylint先ほど書いたコードを見てみるとFlake8で出ていた警告が無くなりました。Pylintのほうがデフォルト(オプション無し)ではコーディングスタイルのチェックが緩いのかもしれません。


元々 Pythonは可読性の高いプログラミング言語ですが、コードをきれいに書くということはバグを減らすことにも繋がりますし、半年後、一年後にコードを見返すようなことがあったとき、汚いコードよりきれいなコードのほうが短時間で思い出したり、理解することができますので、ぜひ、linterに怒られないようなきれいなコードが書けるように心がけてください。


今回は以上です。それではまた!


トランスコスモスShopifyエンジニア
トランスコスモスShopifyエンジニア
トランスコスモスは日本で7社しかない最上位の「Shopifyプラスパートナー」です。最上位認定を堅持しShopifyでのECサイト制作・Shopifyアプリ開発を担うのが、トランスコスモスShopifyエンジニアチームです。Shopifyアプリの解説・紹介、Shopify基本的な使い方など制作や開発の過程で得られら知見をご紹介します。

採用情報(求人)


Shopifyアプリ解説・紹介記事

ShopifyのECサイト制作ならトランスコスモス

トランスコスモスは、Shopifyのエンタープライズ版「Shopify Plus」の優れた成果を持つ提携企業として認定された、国内に7社しかいない(2021年9月時点)最上位の公式パートナーです。

Shopifyを使ったECサイト制作から、調査分析・戦略立案、WEB広告(SEM)、ECサイト制作、お客様サポート、受発注、フルフィルメントまで業務設計・運用代行いたします。


トランスコスモスのEC全領域を網羅するサービス



Shopify問い合わせフォーム

関連記事


【無料】セミナー動画視聴


EC関連サービス


数字で見るトランスコスモスの強み

お気軽に
お問い合わせください

Shopify(ショッピファイ)
ECストア構築・運用代行

トランスコスモスは日本に7社しかない最上位の「Shopifyプラスパートナー」企業です
shopify専用倉庫スピードロジ

Shopify人気記事ランキング

 Tag(タグ)

 記事検索

 カテゴリー

 【無料】募集中セミナー

正社員募集(求人)

 【無料】資料ダウンロード

Shopify認定パートナー企業

トランスコスモスは日本に7社しかない最上位の「Shopifyプラスパートナー」です。
Shopifyでのサイト制作ならお任せください