IntelliJ IDEA用のDLangプラグイン(Alpha、EAP、POC)

こんにちは Dプログラミング言語の専門家ですか? この言語を初めて知った人は、適切なIDEを見つけるという問題に直面することがよくあります。 また、典型的なタイプロプログラマとして、IntelliJ IDEA 14プラットフォームでD言語をサポートするためのプラグインを作成することを約束しました。



免責事項1:これはバージョン0.0.8であり、最小限の機能が実装されていますが、おそらくバグがあり、プラグインは何も知らないと思うでしょう。 プラグインを「使用可能」状態にするために行うべき多くの作業があることを認識しています。



免責事項2:それでもソースコードを調べることにした場合は、これがIntelliJ IDEAの最初のプログラミングエクスペリエンスであることを警告します。 批判は大歓迎です。 プルリクエストと同様に。



DLangプラグイン0.0.8









何ですか:

  1. 構文の強調表示
  2. 構文ツリーの解析と構築。
  3. クラスナビゲーション
  4. 外部のdmdコンパイラまたはダブビルドシステムの呼び出し。
  5. 外部LIBファイルとソースライブラリの接続。




まだやるべきこと:

  1. コードのフォーマット;
  2. 解析エラー処理。
  3. コード内のリンク。 つまり、名前で変数/関数/メソッド/クラス/モジュール/テンプレートの宣言に進む機能。
  4. ヒントとコード補完。
  5. チェック、チェック、チェック。 IDEAは、変数のタイプとそれに書き込まれる値をチェックし、関数とメソッドの引数のリスト、使用される変数/関数/クラスのスコープ、テンプレートの正しい使用、一貫性と不変性、その他の多くのセマンティックチェックをチェックできる必要があります。 このロジックはすべて、コードを記述する必要があります。 もちろん、コンパイラーに依存してエラーを見つけることもできますが、なぜIDEなのでしょうか?
  6. アプリケーションを起動してデバッグします。 正直なところ、IDEAがデバッグされたプログラムとどのように対話するか想像できません(スタックの分析、ブレークポイントの設定、変数値の表示など)。例としてintellij-erlangおよびintellij-haxeソースがあるのは良いことです。
  7. JSON形式のDUBアセンブリシステムおよびその構成ファイルとの統合。




これまでのところ、「チーム」にはMac OS Xのベータテスターが1人おり、私はWindowsプログラマです。



インストールとセットアップ



プラグインには、IntelliJ IDEAバージョン14以降が必要です。 [設定]> [プラグイン]に移動します。 検索フィールドに「D言語」と入力し、「プラグインのインストール」をクリックします。





これで、新しいDLangプロジェクトを作成できます。



新しいプロジェクトを作成する方法



プロジェクトには、「Dアプリケーション」と「DUBを使用したDアプリケーション」の2種類があります。 ビルド設定のみが異なります。 最初のタイプのプロジェクトでは、デフォルトで、DMDコンパイラー(Digital Mars D)を使用してプロジェクトをビルドするための構成が作成されます。 別のタイプでは、DUBを介して構成をビルドします(DLangプロジェクトに公式に推奨されるビルドシステム)。



DMDは、Digital Marsによって開発されたコンパイラです。 dlang.org/download.htmlでダウンロードすることを申し出るのは彼らです。

どのオプションを選択しても、アセンブリをDMDからDUBに、またはその逆に再構成する機会が常にあります。



最初のプロジェクトを作成したら、DLang SDKを構成する必要があります。 プロジェクト構造を開き(Strl + Alt + Shift + S)、「Digital Mars D Compiler」を追加します





dmd



実行可能ファイル(またはdmd.exe



)がdmd.exe



するフォルダーを選択する必要がdmd.exe



。 例E:\dmd2\windows\bin\





これで、Dプロジェクトをビルドして実行できます。



モジュール設定



IntelliJ IDEAのプロジェクトはモジュールで構成されています。 DLangモジュールには独自の設定があり、Javaモジュールの設定をほぼ繰り返します。





DUBを使用してアセンブリを開始する方法



推奨されるアプリケーションビルドシステムはDUBです。 プロジェクトは、メタ情報、サブモジュール、外部依存関係、コンパイルオプションを示すdub.json



ファイルを使用して構成されます。 詳細については、 http://code.dlang.org/package-formatを参照してください。 プラグインは、IDEからビルドコマンドを直接実行できます。







残念ながら、DUBとの統合は不完全です。 プラグインは、 dub.json



ファイルからプロジェクトをインポートし、依存関係を分析し、IDEAのMavenプラグインのような他の多くのものをdub.json



できる必要があります。 これは将来への挑戦です。



開発計画



残念ながら、プラグインの開発に1日8時間を費やすことはできません。これは私の仕事ではないからです。 しかし、開発は確かに継続します。 重要な機能のリストは上記です。 インストール、使用、バグの送信。 Javaを知っていて、支援したい場合は、 Githubにようこそ。



PS独自のプログラミング言語を作成することに決めた場合、1つか2つの文字を決して呼び出さないでください。 文字「D」または単語「Go」で何かをグーグルで検索することは非常に困難です。 プログラミング言語の名前を8文字の略語、Ndebele言語の単語、D&Dのモンスターの名前、またはシリーズ「Stargate」の架空の惑星としましょう。 単語が一意であればあるほど、Web上の情報を見つけやすくなります。 申し訳ありませんが、沸騰しています!



All Articles