恩田2017年11月15日シェルやエディタの話は昔から宗教戦争を引き起こす危険な話題です。移行しているところです。魅力を語ろうと思います。イケてないところを見てみましょう。ターミナルで直接使えないのは決定的な違いですね。機能を使わなければ編集できません。編集できるということでもありますが。ほとんどの機能をキーボードで操作できます。ツールウィンドウを操作する小さなボタンなど、ショートカットキーが定義されていなくて、マウスでないと使えない機能がどうしても残っています。ないと変更できないのは問題です。管理したり、共有したりする、となると途端に難しくなります。ファイルで直接編集するインターフェースが用意されています。よる設定管理は簡単に行えます。いう便利拡張も有名です。プログラマブルではないプログラマブルでないというのは言い過ぎですが、プログラムによるカスタマイズの敷居が少々高いです。ようにプログラミング言語ではないので、設定ファイルにちょっとコードを書いて機能拡張することはできません。独自拡張の作成は敷居が高くなってしまいます。偏った問題でしょうか。プロジェクトやモジュールをはじめ独自の概念が多数あり、設定もすべてを把握するのはもはや不可能なほど大量の項目があり、ちょっと触ってみようとするには少々腰が重くなってしまいます。VSCodeの強みはたくさんあります。ないとこの記事を書く意味がありません。マルチプラットフォームです。いずれも同じように利用できます。説明やカラースキームなど変更したときにどう変わるかをプレビューで見ながらカスタマイズが可能です。設定ファイルを管理できないというデメリットの裏返しでもありますが。プレビューしながら編集できます。扱えるのも嬉しいポイントです。ような複雑なコマンド体系を覚えることはほぼ不可能に近いのです。強力でデータベースやコールツリー、コードの継承構造や依存関係など、グラフィカルに構造を把握できるツールが非常に充実しています。できることではありますが、あえて別項目としました。条件付きブレークポイント、停止時点の変数やコールスタック表示、スタックの巻き戻し、任意のスタック時点でのコード評価など、ビジュアルデバッガなしでどのように開発するのか私には想像もできません。開発しろ、と言われるとイメージいただけるでしょうか。デバッグしていた頃の苦労を知っていると思います。ナビゲーションの高機能さクラスやメソッドなどのシンボルやファイル名から一発で対象ファイルを開くことができます。コマンドパレットと呼ばれるキー入力でコマンドを探して実行する機能も標準装備です。等で頑張って設定しないといけない機能が何ひとつ設定することなく、より高度な機能として組込まれています。拡張(プラグイン)の標準インターフェースが定められていて、標準の拡張リポジトリがあります。アドオンのように手軽に拡張をインストールして使うことができるのです。拡張機能で用意されています。設定ファイルでカリカリにチューニングをしていなければ、コードエディタ上の操作性はほとんど変わらないと言えるでしょう。本質的な違いはプログラミング言語を構造的に処理できるかどうか、と言えるでしょう。呼んでも支障はないと思います。メソッドの定義箇所にジャンプしたり、特定のインターフェースを実装するクラスを一覧化したり、プログラミング言語の構造に従ったナビゲーションが可能です。差はそう大きくありません。補助できる領域が限られてしまうためです。現在、2010年代後半からは静的型付け言語の復権がはじまったといっても過言ではないでしょう。モダンな静的型付け言語が人気でした。型情報があるからこそ自動補完や自動インポートが可能になります。現代のプログラミングで必須とも言えるリファクタリングも自動化され、名前変更やメソッド抽出といったよく使うリファクタリングは、キーボードショットでインラインで実現できてしまいます。高機能になったのはコンパイラの進化も大きく貢献しています。独自にコンパイラを実装してました。はじめとするコンパイル中の情報が得られないからです。自動補完の候補一つ出すことができません。独自にコンパイラを作らざるをえなかった時代だから話題になりましたね。用のコンパイラをそれぞれ開発するのは明らかにリソースの無駄使いです。変換したり、処理をフック可能なコンパイラの実装が増えてきました。して標準化が進んでいます。対応している言語しか使うことができませんでした。エディタで自動補完やリファクタリングをはじめとするプログラミング言語サポート機能が利用できます。利用されていません)新しい道具を積極的に試していこう慣れた道具は変更しづらいソフトウェアエンジニアが意外と古い道具に頼っていることはままあります。道具は使い込めば使い込むほど体に馴染みますし、設定という継ぎ足し継ぎ足し煮詰めてきた秘伝のタレを各自持っているので、新しい道具に乗り換えるのは難しいのは確かです。新しいサービスを作る立場だからこそ私達ソフトウェアエンジニアは新しいサービスやシステムを開発するのが仕事です。そのような新しいサービスやシステムはライフスタイルや仕事の仕方自体を変えるものです。ドッグフーディングという言葉がありますが、仕事の仕方や生活を変えるプロダクトを生み出す立場だからこそ、積極的に新しい道具を試し使いこんでいく心構えが必要なのではないかと思います。ちなみにこの記事も早起きしたのでベッドの上で音声入力を使ってほとんど書き上げました。エディタも進化している本題に戻りましょう。エディタは凄まじく進化し続けています。コントリビューションの多いプロジェクトです。いずれも無償で利用できるので、是非試してみてください。この記事が新しい環境を使ってみる後押しになることを願って。ついてのお問い合わせやご応募は、TwitterとFacebookでも随時受付中です!オフィス見学もお気軽にどうぞ!お仕事のご依頼・ご相談・お問い合わせはこちらまで。メールでのお問い合わせいつでもお気軽にお問い合わせください。お問い合わせフォームはこちらです。