2019.10.25

Visual Studio Code開発環境で役立つエクステンション機能について(その3)

はじめに

前回に引き続き、今回もVisual Studio Codeでの開発を助けてくれるエクステンション機能についてご紹介を行います。

今回はコードを自動フォーマットしてくれるエクステンションを2種類ご紹介したいと思います。
うまく使いこなせれば、複数名で開発するプロジェクトでも効果があると思います。

※以下の内容は、Windows10 環境を前提とし、すべて本稿執筆時点(2019/10/03)のバージョンでのものとなります。

Uncrustify

多言語に対応する自動フォーマッタです。
C、C++、C#、D、JAVA、Objective-C、Pawn、Valaに対応しています。
正式に対応しているわけではありませんが、Apexでも使えなくはないと開発者の公式コメントにこっそり書いてあります。

Visual Studio Code は標準で「Shift+Alt+F」がフォーマッタのショートカットキーになっています。オープン中のソースファイルに対するフォーマッタが適用されるようになっていますがApexに適用可能なフォーマッタが初期状態では存在しないため、ショートカットを実行しても次のようなメッセージが表示されるだけになります。

使い方

本機能を Extentions メニューからインストール後、コマンドパレットから「Uncrustify:Create Config Default File」を実行して設定ファイルを作成します。

その後、同じくコマンドパレットから「Uncrustify:Open Config File」を実行して設定ファイルを作成します。

設定が非常に細かくできるのですが、メニュー数がかなり膨大です。
とりあえず以下の項目など設定してみるところからスタートするのがよろしいと思います。
筆者もこのくらいしか把握していません。
設定項目 設定内容
indent_columns インデントする深さを設定します。
indent_with_tabs インデントをスペースで行うか Tab で行うかを設定します。
indent_cmt_with_tabs コメント行がコード行のインデントに追随してインデントされるか設定します。
正しく設定が完了していれば、Apexコードを開いた状態で「Shift+Alt+F」キーを押せば自動でフォーマットしてくれるようになります。

Astyle

こちらも同様の自動フォーマッタです。
Apexには本来対応していませんが、設定を変更することで対応可能に出来ます。
導入時の手間は Uncrustify に比べ若干時間がかかりますが、フォーマッタ自体の設定は簡潔で公式のドキュメントサイトも情報が充実しています。

使い方

はじめにAstyle本体をダウンロードします。
下記サイトのDownloadから「Artistic Style」をダウンロードします。

http://astyle.sourceforge.net/

筆者の場合「AStyle_3.1_windows.zip」をダウンロードしました。
ダウンロードzipを展開して出来上がった「AStyle」フォルダを任意の場所に配置します。

次にAStyleフォルダ下のbinフォルダ内にあるAstyle.exeへパスを通します。
ここではユーザ環境変数の方に追加するものとして手順を解説します。

Windowsのスタートメニューから「設定」を選択します。
Windowsの設定で検索ボックスに「環境変数」と入力し、「環境変数を編集」を選択します。

ユーザ環境変数の「Path」行を選択して「編集」ボタンを押します。
「新規」ボタンを押して、先ほどの Astyle.exe までのパスを設定します。

「OK」ボタンを押して保存します。
設定ダイアログを閉じます。
Visual Studio Code の Extentions メニューから Astyle エクステンションを
インストールします。

画面左下の設定アイコンから設定画面を開き「拡張機能メニュー」内の「Astyle configuration」を選択します。

Additional_languages項目の settings.json で編集をクリックして jsonファイルを編集します。

末尾に、「"astyle.additional_languages": ["apex"]」 を追加します。

Settings.jsonファイルを保存したら一度 Visual Studio Code を再起動します。
「Shift+Alt+F」でAstyleがフォーマッタとして実行されるようになります。

フォーマットの書式設定を行うには同様の手順で Settings.jsonファイルに対し
Astyle:Cmd_options行を追加して設定します。

設定オプションの詳細については Astyle の公式サイト内のドキュメントをご参照ください。

http://astyle.sourceforge.net/

おわりに

いかがでしたでしょうか。

はじめは設定に時間がかかるかもしれませんが、一度設定してしまえば、カッコのインデント位置合わせ等の煩わしい作業から解放されます。

プロジェクトごとにコーディング規則が定められている場合には注意が必要となりますが、うまく運用できればチームでのコーディング開発も強力にサポートしてくれるツールだと思います。

次回に続きます。それでは!
35 件
     
  • banner
  • banner

関連する記事