Notepad++(nppまたはNPPと表記されることもある)は、Microsoft Windowsで使用するテキストおよびソースコードエディタです。タブ編集をサポートしており、1つのウィンドウで複数のファイルを開いて作業できます。プログラム名は、C言語の接尾辞インクリメント演算子に由来しています。[ 5 ]
Notepad++ は、GNU General Public License (GPL) 3.0 以降の下で、フリーかつオープンソースのソフトウェアとしてリリースされています。このプロジェクトは当初SourceForgeソフトウェアリポジトリ(2003~2010 年)でホストされ、そこから 2800 万回以上ダウンロードされ[ 6 ] [ 7 ]、SourceForge Community Choice Award のベスト開発者ツール賞を 2 回受賞しました[ 8 ] 。プロジェクトは TuxFamily (2010~2015 年) に移り、その後GitHub (2015 年~現在)に移りました[ 9 ] 。Notepad ++ はScintilla エディタコンポーネントを使用しています。Windows DirectWriteとすべての主要な Windows カラーフォント形式 ( 、、およびOpenType ) をサポートしています。COLRv0COLRv1SVG
Notepad++ の開発は、パリ・ディドロ大学の元コンピュータサイエンス学生であるドン・ホーによって 2003 年 9 月に開始されました。[ 10 ] [ 11 ] [ 12 ]ホーは当初、会社でJEXT ( Javaベースのテキストエディタ) [ 13 ] [ 14 ]を使用しましたが、そのパフォーマンスの悪さに不満を抱き、 Scintillaを使用したC++で書かれたテキストエディタの開発を開始しました。[ 12 ]会社にアイデアが却下されたため、彼は余暇に開発を行いました。[ 12 ] Notepad++ は Microsoft Windows アプリケーションとして構築されました。開発者は、 wxWidgetsを使用してMac OS XおよびUnixプラットフォームに移植するというアイデアを検討しましたが、却下しました。 [ 12 ]
Notepad++ は、Windows 専用アプリケーションとして 2003 年 11 月 25 日にSourceForgeで初めてリリースされました。 [ 10 ]これはScintilla エディタ コンポーネントをベースにしており、パフォーマンスの向上とプログラム サイズを削減するために、 Windows API ( Win32 ) アプリケーション プログラミング インターフェイス ( API ) 呼び出しのみを使用してC++で記述されています。標準テンプレート ライブラリ(STL)のみを使用しています。 [ 15 ] [ 16 ]
2010 年 1 月、米国政府は、米国を拠点とするオープンソースプロジェクトのホストに対し、米国法を遵守するため、キューバ、イラン、北朝鮮、スーダン、シリアからのアクセスを拒否するよう義務付けた。 [ 17 ]開発者がフリーでオープンソースのソフトウェア(FOSS) の理念に反すると感じたことへの対応として、2010 年 6 月、Notepad++ はフランスの TuxFamily でバージョンをリリースし、米国の管轄区域から離れた。Notepad++ のコミュニティ サービスの一部 (フォーラムやバグ トラッカーなど) は、Notepad++ が SourceForge から完全に撤退する 2015 年まで SourceForge に残っていた。[ 18 ] [ 19 ] [ 20 ]
2011年、LifehackerはNotepad++を「Windows向けの最高のプログラミングテキストエディタ」と評し、「シンプルで軽量、かつ拡張性の高いプログラミングプレーンテキストエディタをお探しなら、無料のオープンソースであるNotepad++が第一候補です」と述べています。[ 21 ] Lifehackerはユーザーインターフェースを批判し、「実際、かなり見苦しい。幸いにも外観をカスタマイズできる項目は多く、洗練さに欠ける分、機能性で補っている」と述べています。[ 21 ]
2014年にLifehackerの読者はNotepad++を「最も人気のあるテキストエディタ」に選び、16,294人の回答者のうち40%が最も好きなエディタとして挙げた。[ 22 ] Lifehackerチームはこのプログラムを「高速で、柔軟性があり、機能満載で、完全に無料」と要約した。[ 22 ]
2015年にStack Overflowが世界規模の開発者調査を実施したところ、Notepad++が世界で最も使用されているテキストエディタとして選ばれ、26,086人の回答者のうち34.7%が毎日使用していると回答した。[ 23 ] Stack Overflowは「物事が変化すればするほど、それらの物事がWindowsマシン上のNotePad++でJavaScriptで書かれている可能性が高くなる」と指摘した。 [ 23 ] 2016年の調査ではNotepad++は35.6%だった。[ 24 ]
2015年、 SourceForgeでホストされているプロジェクトのスタッフによる乗っ取りに対応して、Notepad++はSourceForgeから完全に撤退し、フォーラムはNodeBBに、バグトラッカーはGitHubに移行した。[ 20 ] [ 25 ] 2019年には、ウェブサイトnotepad-plus-plus.orgがHostingerに移行した。[ 18 ] [ 20 ] [ 26 ]
2025年、国家支援のハッカー(中国のAPT31と疑われる)が、ホスティングプロバイダを侵害することでNotepad++のアップデート機能を乗っ取った。東アジアの組織が標的となり、数ヶ月にわたってアップデートを悪意のあるサーバーにリダイレクトしてマルウェアを配信した。この問題は、より安全なホストに移行し、アップデートの検証を強化することで解決された。[ 27 ] [ 28 ] [ 29 ]攻撃のメカニズムは、Notepad++アップデーターの変更を伴うものgup.exeで、この変更はNotepad++バージョン8.8.8で導入された。実行ファイルはから最新のアプリケーションバージョンを取得しhttps://notepad-plus-plus.org/update/getDownloadUrl.php、という名前のファイルからアップデートURLを取得しgup.xml、取得したファイルを一時ディレクトリに保存して実行する。この接続はISPレベルでTLS傍受される可能性があり、ダウンロードを任意のURLにリダイレクトできる。正規のアップデートファイルは自己署名ルート証明書を使用するが、アップデーターは改ざんの徹底的なチェックを行わない。その結果、悪意のあるサーバーから取得した、NSISインストーラーを含む悪意のあるペイロードが実行されます。このインストーラーはディレクトリを作成し、4つのファイルを抽出し、ディレクトリを隠しディレクトリに設定し、結果として生成されたペイロード内で実行されます。次に、悪意のあるDLLがサイドロードされ、シェルコードファイルがメモリにロードされ、復号化されて実行されるため、 Webインターフェースを使用する攻撃者によるコンピュータのコマンドと制御が可能になります。[ 30 ] [ 31 ]gup.exeupdate.exe%AppData%\Bluetooth\BluetoothService.exe
Notepad++ はソースコードエディタです。プログラミング言語、スクリプト言語、マークアップ言語の構文ハイライト、コード折りたたみ、限定的なオートコンプリート機能を備えていますが、インテリジェントなコード補完や構文チェック機能はありません。そのため、サポートされているスキームで記述されたコードを適切にハイライト表示することはできますが、構文が内部的に健全であるかコンパイル可能であるかを検証することはできません。[ 23 ] [ 32 ] [ 33 ] [ 15 ]バージョン 7.6.3 の時点で、Notepad++ は 78 種類の構文の要素をハイライト表示できます。
Notepad++は、3種類の改行形式(CR、CR+LF、LF)を認識し、それらをリアルタイムで変換できます。さらに、さまざまな文字エンコーディングのプレーンテキストファイルの再解釈をサポートし、 ASCII、UTF-8、またはUCS-2に変換できます。そのため、文字エンコーディングが正しく検出されていないために意味不明なテキストが表示される場合でも、Notepad++なら修正できます。
Notepad++には、プレーンテキスト編集の体験全般を向上させる機能も備わっています。例えば、以下のようなものがあります。
Notepad++ はマクロとプラグインをサポートしており、[ 36 ]さまざまな新機能をプログラムに統合できる堅牢なプラグイン アーキテクチャで注目されています。[ 37 ]現在、Notepad++ 用に 140 を超える互換性のあるプラグインが開発されており、そのうち 10 個はプログラムにデフォルトで含まれています。[ 38 ]プログラムに最初に含まれたプラグインは「TextFX」で、HTML と CSS の W3C 検証、テキストのソート、文字の大文字小文字の変更、引用符の処理が含まれています。[ 39 ]
Notepad++は、アプリケーション固有の形式のXMLファイルによる国際化をサポートしています。このファイルには、特定の言語で国際化されたすべての文字列(ダイアログのキャプション、メニューのタイトルや項目など)が格納されており、アプリケーションの設定から再読み込みできます。そのため、既存のファイルを編集するだけで、新しい言語への翻訳を作成できます。
Notepad++は、政治的な発言力、特に人権問題やロシア・ウクライナ戦争におけるウクライナ支援において、その姿勢が際立っていることで知られている。
2008 年 3 月、「北京 2008 ボイコット」というバナーが Notepad++ の SourceForge.net ホームページに掲載されました。[ 40 ]数か月後、2008 年 6 月 26 日から 7 月 24 日にかけて、中国のほとんどのユーザーが SourceForge.net ウェブサイトにアクセスできなくなりました。これにより、中国がボイコットのバナーへの報復として SourceForge.net を禁止したという見方が広まりました。[ 41 ] [ 42 ] [ 43 ]
2014年6月4日、Notepad++は「天安門6月4日事件版」というコードネームのバージョン6.4.4をリリースした。リリースノートの中で、開発者は前述の事件で虐殺された民主化運動の参加者たちに敬意を表した。[ 44 ]
2015年1月、Notepad++のウェブサイトが、Je suis Charlieを支持するイースターエッグに反対するFallaga Teamの活動家によってハッキングされた。[ 45 ] Fallaga TeamはISILと関連付けられており、2017年の英国国民保健サービスのウェブサイトのハッキングにも関与していると考えられている。[ 46 ]
2019年10月29日、Notepad++は「Free Uyghur」というコードネームのバージョン7.8.1をリリースした。このコードネームは、続く2つのバージョン、7.9(2019年12月5日)と7.9.2(2020年1月16日)で共有されている。7.8.1のリリースノートで、開発者は、新疆ウイグル自治区の再教育キャンプで数十万人のウイグル人が「政治的教化を受け、時には拷問さえ受けている」ことに懸念を表明した。彼は「ウイグル人に対する抑圧的な行為と犯罪を止めるよう中国政府にさらなる圧力をかける」よう求めた。[ 47 ]このソフトウェアの専用サイトは分散型サービス拒否攻撃を受け、GitHubの課題ページは辛辣な民族主義的なコメントで溢れかえったが、後にCloudflareのアンチDDoSサービスの背後に移動されたことで復旧した。 [ 48 ] [ 49 ]
2020年7月16日、Notepad++は「Stand with Hong Kong」というコードネームのバージョン7.8.9をリリースした。このコードネームは、7.9(2020年9月28日)と7.9.2(2021年1月1日)という2つの連続したバージョンで共有されている。7.8.9のリリースノートで、開発者は中国政府による香港国家安全維持法の施行について懸念を表明した。 [ 50 ]これに対抗して、 Tencent(QQ BrowserとWeChatの組み込みブラウザ)、Alibaba(UC Browser)、360、Sogouが開発した中国本土のブラウザは、公式サイトのダウンロードページをブロックし始めたが、他のページはブロックしなかった。[ 51 ]
2022年2月3日と15日に、Notepad++はバージョン8.3と8.3.1をリリースした。どちらも「Boycott Beijing 2022 」というコードネームが付けられていた。リリースノートの中で、開発者は中国、特にウイグル族と香港人の人権について懸念を表明した。彼は顧客に「ゲームを見たり、注意を払ったりしないように」と勧めた。[ 52 ] [ 53 ]
2022年2月27日、Notepad++は「Declare variables, not war」というコードネームのバージョン8.3.2をリリースした。リリースノートの中で、開発者はロシアによるウクライナ侵攻を非難し、ウクライナへの支援を呼びかけた。[ 54 ] 3月15日、Notepad++は「Make Apps, not war」というコードネームのバージョン8.3.3をリリースした。開発者は同様に侵攻に対する見解を表明し続け、4月26日にリリースされた次のアップデート、バージョン8.4(コードネーム「Stand up for Ukraine」)でも同様の見解を示した。[ 55 ]
2024年6月4日から9月17日まで、Notepad++は3つの連続したアップデートをリリースしたが、いずれも「台湾の主権を支持せよ」(8.6.8)[ 56 ] 、「台湾の独立を支持せよ」(8.6.9)[ 57 ] 、「台湾の国連復帰を支持せよ」(8.7)[ 58 ]など、台湾の支持を求める政治的なスローガンを掲げていた。
2024年11月27日と31日、Notepad++は再びウクライナへの支持を示し、コードネーム「イーロンの世界では、ゼレンスキーになろう」[ 59 ]というバージョン8.7.2と、コードネーム「ブルースカイのためにXを離れる」[ 60 ]というイーロン・マスクを批判するバージョン8.7.3をリリースした。
2025年3月8日から5月5日にかけて、Notepad++はバージョン8.7.8から8.8.1をリリースし、ウクライナへの支持を再び表明し続けました。これらのバージョンはすべて「We Are With Ukraine」という適切なコードネームが付けられています。[ 61 ]
2026年6月4日、Notepad++は「天安門事件記念」というコードネームのバージョン8.9.6.4をリリースした。リリースノートの中で、開発者は1989年の天安門広場での抗議活動と虐殺に関する継続的な政治的抑圧と政府の透明性の欠如を批判している[ 62 ] 。
{{cite web}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク)