トランスコスモスのShopify 詳しくはこちら
アプリ開発の豊富な実績や物流から運用改善まで対応できる総合力で、トランスコスモスならシステム構築から運用までECワンストップサービスをご提供します。
catch-img

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


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


shopifyに関するお問い合わせをするボタン  shopify資料のダウンロードをするボタン


目次[非表示]

  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資料のダウンロードをするボタン


shopify構築サービスバナー


トランスコスモスShopifyエンジニア
トランスコスモスShopifyエンジニア
トランスコスモスはShopify公式認定パートナーです。ShopifyでのECサイト制作・Shopifyアプリ開発を担うのが、トランスコスモスShopifyエンジニアチームです。Shopifyアプリの解説・紹介、Shopifyの基本的な使い方など制作や開発の過程で得られた知見をご紹介します。
トランスコスモスのShopify 詳しくはこちら

お申込み受付中のセミナー

数字で見るトランスコスモス

売上高

 3,622億円

 顧客体験向上を支援するCXサービスや
BPOサービスなどを提供

従業員数

 約70,000人

多様な人材が世界各国の拠点で活躍

お客様企業数

 約3,500社

金融、公共、情報サービスなど
多種多様なお客様との取引実績

サービス展開

 35の国と地域
181拠点

アジア最大規模のサービス提供体制で
DXサ-ビスを提供(2024年11月時点)

Webソリューション

 国内1位※1

お客様のデジタル施策を全方位的に
支援し、プレゼンスを発揮

コンタクトセンター

 国内1位※2

※2 出所:2023年度コールセンター
売上高ランキング(通販新聞社刊)

アウトソーシング(BPO) 

 国内1位※3

※3 出所:会社四季報 業界地図2025年版
(東洋経済新報社刊)

取引年数5年以上の
主要お客様企業

 70%以上

サービスが信頼され継続的な取引を獲得

※1 出所:ネット広告&Webソリューション市場の現状と展望 2023年度版(デロイトトーマツ ミック経済研究所刊、https://mic-r.co.jp/mr/02860/)より、当社および当社子会社Jストリームを合算した当社作成データです
※記載のない数値は2024年3月末時点のものです
お気軽にお問い合わせください

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

実績豊富なトランスコスモスへぜひご相談ください
ECソリューションをお届けするサービスサイト

トランスコスモス株式会社
CX事業統括
ECX本部

〒150-0011
東京都渋谷区東1-2-20
渋谷ファーストタワー
050-1751-7700(代表)

経済産業省が定める「DX認定事業者」
トランスコスモスは経済産業省が定める「DX認定事業者」
トランスプラス
トランスコスモスの全社的な情報を発信するオウンドメディア
cotra
コンタクト/コールセンターに携わる方への情報サイト
法人向けメタバース情報メディア
「メタバース情報局 by transcosmos」
トランスコスモス株式会社
企業サイト(コーポレートHP)
Global Digital Transformation Partner.
お客様企業のデジタル・トランスフォーメーション・パートナー。
shopify構築・制作・運用