ソースコードエディタは、コンピュータプログラムのソースコードを編集するために特別に設計されたテキストエディタプログラムです。構文ハイライトなどの基本的な機能や、場合によってはデバッグ機能も備えています。スタンドアロンアプリケーションの場合もあれば、統合開発環境(IDE)に組み込まれている場合もあります。[ 1 ]
ソースコードエディタには、構文ハイライト(構文エラーのハイライト表示)、自動インデント、オートコンプリート、括弧のマッチング機能など、ソースコードの入力を簡素化し、高速化するために特別に設計された機能が備わっています。これらのエディタは、コンパイラ、インタプリタ、デバッガ、またはソフトウェア開発プロセスに関連するその他のプログラムを実行する便利な方法も提供する場合があります。メモ帳などの多くのテキストエディタはソースコードの編集に使用できますが、コードの編集を強化、自動化、または容易にする機能がなければ、ソースコードエディタとは定義されません。
構造エディタはソースコードエディタの一種で、生のテキストを編集するのではなく、コードの構造、一般的には抽象構文木を操作します。この場合、構文ハイライト、検証、コードフォーマットなどの機能は、具体的な構文木または抽象構文木から容易かつ効率的に実装できますが、編集は自由形式のテキストよりも制約が多くなります。また、構造エディタは各言語に対して広範なサポートを必要とするため、構文ハイライトやインデントのサポートだけで済むテキストエディタに比べて、新しい言語への拡張が困難です。そのため、厳密な構造エディタはソースコード編集ではあまり普及していませんが、一部のIDEは同様の機能を提供しています。
ソースコードエディタは、コード入力中に構文を動的にチェックし、構文エラーを即座に警告するだけでなく、コードの自動補完候補も提示できます。一部のソースコードエディタはソースコードを圧縮し、一般的には一般的なキーワードを1バイトのトークンに変換し、不要な空白を削除し、数値をバイナリ形式に変換します。このようなトークン化エディタは、後でソースコードを表示する際に解凍し、場合によっては大文字小文字の使い分けやスペースの調整を統一して整形します。また、両方の機能を備えたソースコードエディタもいくつか存在します。
Microsoft のVisual Studio Codeで初めて使用されたLanguage Server Protocol は、ソース コード エディタが LSP サーバーを備えた任意の言語の構文情報を読み取ることができる LSP クライアントを実装することを可能にします。これにより、ソース コード エディタは構文ハイライト、リファクタリング、および参照検索でより多くの言語を簡単にサポートできるようになります。[ 2 ] Neovim [ 3 ]や Brackets [ 4 ]などの多くのソース コード エディタは組み込みの LSP クライアントを追加していますが、Emacs [ 5 ] 、 Vim [ 6 ]、Sublime Text [ 7 ]などの他のエディタは、別のプラグインを介して LSP クライアントをサポートしています。
1985年、IBMのマイク・コーリショーは、オックスフォード大学出版局に出向中にLEXXを作成した。LEXXはライブパースを使用し、構文強調表示に色とフォントを使用した。IBMのLPEX(Live Parsing Extensible Editor)[ 8 ]はLEXXをベースにしており、VM/CMS、OS/2、OS/400、Windows、Java [ 9 ]で動作した。
vimの最初の公開は1991 年に行われましたが、構文ハイライト機能は 1998 年のバージョン 5.0 まで導入されませんでした。[ 10 ] 2015 年 11 月 1 日に、 NeoVimの最初のバージョンがリリースされました。[ 11 ]
2003年、 Windows用のソースコードエディタであるNotepad++がDon Hoによってリリースされました。その目的は、JavaベースのソースコードエディタであるJEXT [ 12 ]の代替となるものを作成することでした。
2015年、マイクロソフトはVisual Studio IDEの軽量かつクロスプラットフォームな代替品としてVisual Studio Codeをリリースしました。[ 13 ]翌年、Visual Studio CodeはLanguage Server Protocolを使用するマイクロソフト製品となりました。[ 2 ]このコードエディタは急速に人気を集め、最も広く使用されているソースコードエディタとして台頭しました。[ 14 ]
ソースコードエディタは、統合開発環境(IDE)の構成要素の一つです。スタンドアロンのソースコードエディタとは異なり、IDEには通常、ソフトウェア開発プロセスを強化する様々なツールが含まれています。[ 1 ]これらのツールには、構文ハイライト、コード補完候補、バージョン管理、自動フォーマット、統合ランタイム環境、デバッガ、ビルドツールなどがあります。[ 15 ]
IDEは不要な機能で肥大化していると考える開発者の中には、スタンドアロンのソースコードエディタを好む人もいます。[ 16 ]
多くのソースコードエディタやIDEは、プログラミングコミュニティで「聖戦」と冗談めかして呼ばれることもある、継続的なユーザー論争に巻き込まれてきました。[ 17 ]有名な例としては、viとEmacs、EclipseとNetBeansなどがあります。これらの論争はインターネット文化の重要な部分を形成しており、どちらかのエディタがどこかで言及されるたびに、しばしば論争が始まります。
{{citation}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク)