LoginSignup
23
16

More than 1 year has passed since last update.

VSCode。。。エディタやめるってよ。

Last updated at Posted at 2021-11-25

VS CODEってなんですか?

超高機能なテキストエディタ です。最近では統合開発環境(IDE)だと言っても良いぐらいに高機能になりました。

IDEってなんですか?

ソフトウエア開発のためにプログラムエディタ、コンパイラ呼び出し、テストの実行、デバッグ支援などの機能を統合したソフトウェアのことです。だいたいこんな機能を持っています

NO. 機能 概要
1 任意コンパイル ユーザーの求めに応じて、プログラムをコンパイルする。
2 オートコンパイル プログラムの変更の度にコンパイルして、問題などがあればエディタ上にわかりやすく表示する。
3 補完 入力された情報から、取り得る選択肢を並べる。開発者はその中から適切なものを選択する。
4 フォーマッタ インデントなどを適切に整形してくれる
5 シンタックスハイライト プログラムに色を付けて構文をわかりやすくする
5 依存解決 そのプログラムが利用する外部のライブラリを読み込む
6 多言語対応 自然言語じゃないよ。Javaとかcとかたくさんのプログラミング言語に対応するってことだよ。

だいたい1〜4までできたらIDEって言ってもいいかな。と個人的に思う。

IDEはなんでいるんですか?

これは一言でいえば、 使わないとプログラムという作業が煩雑になりすぎるから

プログラムはただのテキストファイルです。テキストエディタとコンパイラもしくはパーサがあれば、 プログラムを作ることは可能。 事実、僕は、19の時分からJavaを書き続けているが、最初は、Emacsで書いて、javacコマンドでコンパイルしたものです。

ProjectImages-TextEditor.drawio.png

こういった開発スタイルは早晩生産性の観点で、行き詰まります。代表的には以下のような場合です。

  • プログラムの文法上の間違えの発見が遅れる。
  • パッケージ含んだクラス名を一字一句間違いなく覚えることも、入力することも現実には難しい。
  • プログラム整形を人手で行う。そのため、品質が安定しない上に時間がかかる
  • リファクタリングが難しい。

この問題を解決してくれるのがIDEです。つまり

  • オートコンパイルで常に文法的には正しいプログラムを書ける。
  • プログラム補完で、入力すべきコードが補完されるため「名称の一部」を覚えておけばよくなった。
  • プログラム整形は、IDEにおまかせ♪
  • リファクタリングが簡単なので、より良いプログラムに変更を続けられる。

ProjectImages-IDE.drawio.png

こんな感じになります。

VS CodeってIDE?

これはちょっと判断が難しいところですね。デフォルトの状態ではVSCodeはIDEではありません。超便利な、テキストエディタ です。ただし、VS Codeは拡張機能が豊富なため、組み合わせれば超強力な 統合開発環境(IDE) へと変貌します。

たとえば、私は

  • Pythonを書いたり
  • Javaをデバックしたり
  • Ansible Playbook で構築作業を自動化したり
  • Plant UML だってかけちゃう。

そう、VS Codeならね♪

つまり、基本的にはただのエディタに過ぎないVS Codeは拡張機能を組み合わせることで、単なるエディタであることをやめ、統合開発環境へと変貌するのです。

Java を書いてみる

導入拡張機能

Java拡張機能.JPG

わたしの導入している Java関係の拡張機能はこんな感じです。殆どがExtensions for Javaを導入すると一緒にはいります。

ソースコード整形

まずは整形です。
フォーマット前.JPG
このように、1行になってしまっている、Javaのソースコードも。。。
フォーマット手順.JPG

ドキュメントの整形を実行すれば...
フォーマット後.JPG

このようにあっという間に整形されます。

コード補完

たとえば、このようにString#formatを呼び出したい場合も、途中まで入力すれば補完候補が表示され、開発者はそれを選択するだけです。

補完.JPG

ビルド

Java 拡張機能は、Mavenでのビルドをサポートしているため、このように。Maven packageを実行することが可能です。
WS000015.JPG
はい。ビルド完了です。
WS000017.JPG

デバッグ

さて、私が大好きなIDEな機能の一つにデバッグ機能があります。どんな言語の開発でもデバッガを探しておくことから私は始めます。これなしでは問題追跡がやりにくいからです。

このように、ブレークポイントを設定してから。
ブレークポイント.JPG

Debugを押すと、プログラムの動作を開始しますが。ブレークポイントに処理がささると。。。

デバッグ実行.JPG

処理を一時停止します。

ストップ.JPG

この後、1行1行個別に実行する「ステップオーバー」も可能ですし、呼び出されるメソッドの中に入って実行を継続する「ステップイン」も可能です。このとき、変数内のデータを参照することが可能です。

そのほかのIDE

No. IDE 特徴
1 Eclipse IBMの製品をOSSとして現在のecipse.orgに寄贈。長い間Javaのデファクトスタンダード的なIDEとして君臨。独自のビルドツールのほかMaven等にも対応
2 NetBeans もともとはOpenJDKとともに公開されていた、デフォルトIDE。いまはApacheプロジェクトに寄贈されている。ネイティブでMaven対応していたり、Junitのテストケースのガワを勝手にはいてくれたり。僕の大好きなIDE
3 InteliJ なぜか、みんな大好きInteliJ ビルドはgradleを採用。逆にGradleを書く場合は最強
4 Android Studio Googleが開発したIDE、だった。いまはInteliJ派生。Androidのプロジェクトを作成するのに便利
5 Pycharm これもInteliJ派生
6 Visual Studio Code 言わずと知れたVS Code。

まとめ

  • IDEがないと、生産効率ぐんと下がるよ
  • VSCodeも拡張機能を入れれば、IDEとして使えるよ
  • Javaの拡張機能を例に、使い方をみてみたよ
23
16
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
23
16