ウィングIDE

ウィング Python IDE
開発者ウィングウェア
初回リリース1.0 ベータ版 / 2000年9月7日 (2000-09-07)
安定版リリース
11.0.5 / 2025年9月26日
書かれたPythonCythonCC++
オペレーティング·システムWindowsOS XLinux
タイプPythonIDE
ライセンス独自の
Webサイトウィングウェア.com

Wing Python IDE は、 Pythonプログラミング言語専用に作成された Wingware の統合開発環境(IDE)ファミリであり、 Pythonコードの編集、テスト、デバッグ、検査/参照、およびエラー チェックをサポートします。

IDE には 3 つのバージョンがあり、それぞれ異なるタイプのユーザーに焦点を当てています。

  • Wing Pro – プロのプログラマー向けのフル機能の商用バージョン。
  • Wing Personal – 学生や趣味人向けに、これらの機能の多くを省略した無料版。
  • Wing 101 – 初心者プログラマーに教えるための非常に簡素化された無料バージョン。

Wing Pro は、AI 支援開発、ローカルおよびリモートデバッグ、編集 (複数のキー バインディング自動補完、自動編集、複数選択を使用)、ソース ブラウザーとコード ナビゲーション、コード リファクタリング、インポート管理、エラー チェック、自動再フォーマット、コード カバレッジによる単体テストバージョン管理、プロジェクト管理、Python 環境とパッケージ管理、単一ファイルと複数ファイルの検索、きめ細かなカスタマイズ、DockerおよびLXCコンテナーのサポート、Python スクリプトによるサードパーティ製のフレームワークおよびツール (Django、Flask、Matplotlib、Pandas、Blender、Maya、Unreal Engine、PyQt、wxPython など) の操作支援、包括的なドキュメントを提供します。

Wing PersonalとWing 101では、これらの機能の多くが省略されています。Wingの3つのバージョンはすべて、WindowsMac OS X、IntelおよびARM Linuxへのインストールをサポートしています。

Wing Pro の無料ライセンスは、教育ユーザーおよび無償のオープンソース ソフトウェア開発者にご利用いただけます。

AI支援開発

Wing Proでのみ利用可能なAIアシスタントは、新しいコードの作成、既存コードのリファクタリングまたは再設計、コードの検査と理解に使用できます。アシスタントを使用すると、ユーザーは以下のことが可能になります。

  • ユーザーの指示に従って、選択したコードをリファクタリングまたは書き換えます。
  • 記述に従って、現在のエディターの挿入ポイントに AI によって作成された新しいコードを挿入します。
  • 既存のソースコードを直接変更することなく、AI アシスタントとチャットしてコードについて質問したり、バグ修正や拡張の解決策を反復したりすることができます。
  • Claude、Grok、Gemini、OpenAI、Perplexity、Mistral、Deepseek、Ollama、およびその他の OpenAI API 互換 AI プロバイダーをサポートします。

デバッガ

デバッガーは、バグの特定と修正に使用できるだけでなく、コード設計時の実際のランタイム状態で対話的に新しいコードを記述する手段にもなります。デバッグサポートのレベルは使用するバージョンによって異なり、サービスレベルが上がるにつれて、ユーザーはより多くのデバッグ機能を利用できるようになります。

Wing 101 は以下をサポートします:

  • IDEから起動されたデバッグ コード(「python -m」を使用したファイルまたはモジュールとして)。
  • 統合された Python シェルからの (および Python シェル内での) 対話型デバッグ。
  • 例外およびトレースバックのレポート。
  • スタック、ローカル/グローバル変数、戻り値を表示します。
  • データフレームと配列ビューア。
  • 設定可能なテキスト エンコーディングを備えた統合デバッグ I/O ツール。
  • オプションのネイティブコンソールI/O、および
  • importlib フレームをステップオーバーします。

Wing Personal は次のように付け加えています。

  • マルチスレッドデバッグ。
  • Web フレームワークまたは Python の埋め込みインスタンスで実行されるコードを含む、IDE の外部で起動されたコードをデバッグします。
  • デバッグ値のツールチップ。
  • デバッグデータの値を変更する。
  • 名前付きエントリ ポイントを定義し、起動構成をデバッグします。

Wing Pro は次のように付け加えています。

  • 自動補完構文の強調表示、定義への移動、呼び出しのヒント、ドキュメント リンクなど、現在のデバッグ フレームを検査するための対話型のデバッグ プローブ コマンド ライン。
  • マルチプロセスおよび自動子プロセスのデバッグ。
  • IDE からリモート デバッグ プロセスを起動します。
  • 条件付きブレークポイントと無視カウントブレークポイント。
  • ブレークポイントを有効/無効にします。
  • デバッグ プログラム カウンターの移動。
  • ユニットテストをデバッグします。
  • DjangoFlaskJupytermatplotlibweb2pyPloneZopeDockerAWSVagrantRaspberry PiWindows Subsystem for LinuxBlenderUnreal EngineNukeなどのチュートリアルと追加機能。
  • Shift キーとスペース キーを押すとエディター内のすべてのシンボルの値が表示される機能。
  • 別のデバッグ スタック フレームのコンテキストで呼び出されたコードの再帰デバッグ。
  • 便利な再起動デバッグ ツール。
  • 参照による値の追跡。
  • 式の評価。
  • ブレークポイント マネージャー。
  • デバッグプロセスのアタッチ/デタッチ。
  • sys.modulesの検査;および
  • エディターでコードの範囲をマークして、Python シェルまたはデバッグ プローブで簡単に再評価できるようにします。

コードインテリジェンス

コードインテリジェンス機能は、編集の高速化、コード内ナビゲーションの容易化、コードエラーの検査を実現します。これらの機能は、プロジェクト内のPythonコードの静的解析と、デバッガーがアクティブな場合、または統合されたPythonシェルでコードがアクティブな場合は常に、Pythonパスと実行時コード解析の両方に依存しています。ユーザーが利用できる機能は、使用しているバージョンによって異なります。

Wing 101 では以下が提供されます:

  • Python コードと統合された Python シェルで補完を提供する自動補完機能 (この機能は Wing 101 ではデフォルトで無効になっていますが、設定で有効にすることができます)
  • 各エディタのソースインデックスメニューは、ソースコードへの便利なインデックスを提供します。
  • 定義へ移動
  • 自動インデント
  • PEP8、Black、YAPF、Ruffの再フォーマット
  • 構文とインデントのエラーインジケーター
  • 貼り付け時にインデントと行末文字を変換する
  • PEP 484 および 526 の型ヒントを理解する

Wing Personal は次のように付け加えています。

  • シンボルの検索: 現在のファイルまたは任意のプロジェクト ファイル内でキーボード操作による定義の検索
  • Python以外のファイルでの自動補完
  • インデント分析と変換
  • ソースアシスタント: PEP287 ドキュメント文字列のレンダリングにより、コンテキストに適した呼び出しシグネチャとドキュメントを提供します。
  • 単一ファイルまたはプロジェクト全体のクラス ブラウザー

Wing Pro は次のように付け加えています。

  • コード警告ツール
  • Pylint、pep8チェッカー、mypy、flake8、Ruffの統合
  • モジュールブラウザ
  • ソースアシスタントには標準ライブラリドキュメントリンクが含まれています
  • 同じ名前の異なるシンボルを除外して、シンボルの使用箇所をすべて検索します。
  • 現在のファイルまたはすべてのプロジェクトファイルで、名前でシンボルを検索します。
  • リファクタリング: シンボルの名前変更や移動、使用ポイントの更新、コード範囲の抽出、新しい関数やメソッドの作成、変数の導入、インポートの管理など

プロジェクト管理

Wingのプロジェクトマネージャーは、開発者が開発構成を設定、管理、共有することを可能にします。既存または新規のソースディレクトリに対するプロジェクトの作成をサポートし、オプションでバージョン管理リポジトリからのコード取得も可能です。IDEは、 virtualenv、pip、uv、Poetry、pipenv、condaを使用して、ローカル、リモートホスト、またはDockerやLXC/LXDで管理されるコンテナ上で、Python環境を簡単に作成・設定できます。 [ 1 ]

バージョン管理

Wing Proは、 GitMercurial、Perforce、Subversion、CVSなど、様々なバージョン管理システムと連携します。ステータス確認、コミット、ログ記録、非難/賞賛/注釈、リバート、解決、リポジトリのプッシュ/プルといった機能を提供します。また、ファイルやディレクトリの比較や、コミットされていない変更の確認に使用できる差分・マージツールも利用可能です。[ 1 ]

パッケージ管理

Wing Proには、開発環境におけるPythonパッケージの検査、追加、削除、アップグレードを簡素化する統合パッケージ管理ツールが含まれています。pip、uv、Poetry、pipenv、conda環境をサポートしています。[ 1 ]

ユニットテスト

Wing Proは、 unittestpytestdoctest 、 nose 、そしてDjangoテストフレームワーク向けに作成されたユニットテストの実行とデバッグを可能にすることで、ユニットテストをサポートします。オプションでコードカバレッジを追跡することで、コードがどの程度テストされているかを把握し、コードの変更によって影響を受けるテストのみを再実行できます。

リモート開発

Wing Proは、 Docker 、Docker Compose、LXC/LXDでホストされるリモートホスト、仮想マシン、コンテナ上でのセキュアな開発もサポートします。リモートシステム上のコードは、ローカルに保存されたファイルと同様に、IDEから編集、デバッグ、テスト、管理できます。リモート開発では、外部から起動したデバッグもサポートされます。

その他の機能

すべてのバージョンに共通するその他の機能は次のとおりです。

Wing Personal は次のように付け加えています。

  • 複数選択してファイルの複数の部分を同時に編集します
  • カスタムキーバインディングを定義する
  • さまざまな開発タスク用のプロジェクトを作成する
  • 名前フラグメントでプロジェクトファイルを素早く開く
  • プロジェクト内のファイルの追加、削除、名前変更、移動
  • 既存の virtualenv、Anaconda env、pipenv、uv、または Poetry 環境を使用して新しいプロジェクトを作成します。
  • プロジェクト全体および複数ファイルの検索
  • 正規表現とワイルドカード検索
  • ドキュメントを検索

Wing Pro は次のように付け加えています。

  • 統合された Python シェル内の Goto 定義、呼び出しのヒント、ドキュメント リンク
  • virtualenv、pipenv、uv、conda、Poetry、Docker を使用した Python 環境の作成
  • pip、pipenv、uv、conda、Poetry を使用した Python パッケージ管理
  • ファイルの追加、削除、名前の変更、移動の操作はアクティブなリビジョン管理システムに追跡されます。
  • ブックマークの設定と移動
  • 再帰的なインラインデータ入力を含むコードスニペット
  • カスタムユーザーインターフェースレイアウトの命名に関する視点
  • 統合されたOSコマンドツールで外部コマンドを実行する
  • PythonスクリプトでIDEの機能を拡張する

歴史

Wing の最初の公開バージョンは、2000 年 9 月 7 日に 1.0 ベータ版として Linux 専用としてリリースされました。

最初の安定バージョンは Linux 用の v1.0 で、2000 年 12 月 1 日にリリースされました。

2004 年 3 月 29 日、Archaeopteryx Software Inc は Wingware として事業を開始しました。

Wing バージョン 4.x 以前はGTK2 をベースとしており、OS X 版では X11 が必要でした。Wing 5 はPySide 経由でQt4に移行し、OS X では X11 を使用しなくなりました。Wing 6 は PyQt5 とともに Qt5 に移行しました。Wing 10 は PyQt6.5 を使用しています。

参照

参考文献

  1. ^ a b cアメリカ、Wingware PO Box 400527CambridgeMA02140-0006United States of. 「プロジェクト管理機能 - Wing Python IDE」 . wingware.com . 2024年7月7日閲覧{{cite web}}: CS1 maint: numeric names: authors list (link)

[ 1 ]

  1. ^引用エラー: 名前付き参照が呼び出されましたが、定義されていません (ヘルプ ページを参照してください)。:0