MPS 2019.1ヘルプ

MPSスクリーンキャスト

このページでは、JetBrains TVのMPSチャンネル(英語)で公開されているMPS関連のスクリーンキャストを一覧にして分類しています。

カスタマーストーリー

誰がどのようにMPSを使用します。MPSのお客様がMPSの使用方法を紹介しています。

  • なぜJetBrains MPSなのか(英語) - 気にする必要がある人とその理由MPSについての概要のビデオ

  • 音声メニューIDE(英語) - MPSができることのより徹底的な例。音声メニュー定義言語は、MPSの可能性を説明するためのサンプルドメインとして使用されています。

  • mbeddr.comプロジェクトがMPSを使用する理由(英語) - mbeddr.comは、言語拡張と組込みソフトウェア開発のための正式な方法の利点を探ります。MPSでCプログラミング言語を実装しました、それは私たちが意味のある方法でそれを拡張することを可能にします、例えば、状態機械、物理的な単位でまたは製品ライン可変性のサポートで。このスクリーンキャストでは、なぜこのプロジェクトにMPSを選んだのかを簡単に説明します。

  • オーストリアのインスブルックにあるMPS(パート1(英語)およびパート2(英語))のModelwerkstattアプリケーション - MPS(英語)を使用して、エンタープライズアプリケーションを構築するための強力なDSLを開発します。開発プロセス全体はMPSで実現されています。この2部構成のスクリーンキャストを見て、MPSがこの特定の分野のテーブルに何をもたらしているのかを知ることができます。

ファースト・ステップ

MPSがどのように機能するかについての最初のインサイトをあなたに与える2つのビデオ

MPSの紹介

MPSで言語がどのように定義されているかを一目で確認するには、この一連の短い紹介ビデオを参照してください。シリーズ全体を見た後は、言語を定義するために必要な手順がわかり、全体像をよく理解できます。

MPS IDEのコマンド

これらのスクリーンキャストは、投影型MPSエディターとMPSのさまざまなIDEの側面に精通できます。

  • MPSエディターのヒント(英語) - この紹介されたスクリーンキャストを見て、MPSエディターを命令する方法を学びましょう。コード内を移動し、リファクタリングし、インテンションを起動し、領域を選択するなど、さまざまな方法がわかります。MPSを初めて使い、MPSプロジェクションエディターを使いこなしたい場合は、このスクリーンキャストがお勧めです。

  • MPSソリューションを実行する(英語) - この紹介スクリーンキャストは、MPSソリューションを実行する方法を示すことを目的としています。MPS電卓チュートリアルプロジェクトを参考にして、実行可能なJavaコードの生成方法、実行設定の作成と管理方法、そしてMPSをJavaプロジェクトに統合する方法を学びます。

  • コンテキストアシスタント(英語) - このビデオでは、サンプルロボットKaja言語のコンテキストアシスタントの使用と定義について説明します。

  • コンテキストアクションツール(英語) - このビデオでは、コンテキストアクションツールの使用方法と定義について説明します。

  • 言語定義のためのコンテキストアシスタント(英語) - このビデオでは、Context Assistantが言語定義言語 - 構造とエディター - の中で提供するガイダンスを強調しています。

  • 変換メニュー言語(英語) - このビデオでは、新しいトランスフォームメニュー言語について説明します。これは、サイドトランスフォーメーション、置換、およびその他の状況依存アクションをエディターで定義するために使用されます。

MPSの基本

MPSを使ってDSLを構築するためのコア原則を網羅したビデオ

  • MPSの基本 - あなたの最初の言語を作るこ(英語)と - この入門スクリーンキャストは、MPS初心者が最初のDSLを作成するときに直面する可能性がある一般的な問題を克服できます。DSLを作成する3つの基本的なステップ、つまり言語構造、エディター、ジェネレータを定義します。MPSに不慣れで、DSL定義プロセスの基本にあなたのつま先を浸したいなら、この短いデモを見てください。

  • MPSの基本 - 定数の言語を拡張する(英語) - MPS新入生を対象とした一連の入門用スクリーンキャストの第2回目は、前回のエピソード(英語)で作成された定数用の単純な言語を基にしており、そのいくつかのグリッチを磨き、式と変数型でDSLを強化します。言語のインポートと単純な制約の定義についても触れます。

  • MPSの基本 - 参照の種類と範囲(英語) - MPS入門シリーズのスクリーンキャストの3回目のエピソードでは、参照、単純型システム規則、およびスコープ制約を使って実験用定数言語を拡張します。

  • MPSの基本 - インテンションとASTの操作(英語) - MPS基本シリーズの4回目のエピソードでは、インテンションと、ドメイン固有言語のASTを操作する方法について説明します。DSLになめらかで楽しいユーザーエクスペリエンスを提供したいなら、このスクリーンキャストはあなたのためです。

  • MPSの基本 - TextGenを使ってテキストを生成する(英語) - MPS初心者シリーズの5番目のエピソードでは、TextGenの側面に慣れてきます。MPSベースのDSLを取得し、それからRubyコードを生成します。

  • MPSの基本 - ルールの確認と迅速な修正(英語) - 静的コード分析は、開発者がコード内のバグや問題を迅速に発見して解消できます。疑わしいコード部分を強調し、コードを修正するための自動リファクタリングを提供することによって、現代のIDEは開発時間を安全にし、ソフトウェアの欠陥の数を減らす。MPSは、この機能をドメイン固有言語の分野に拡張します。

MPSの基本 - バンドルされたサンプルプロジェクトを網羅するスクリーンキャスト

相互運用性

MPSは真空中では生きていません。スタンドアロンで使用することも、他の開発環境に統合することもできます。詳細についてはこれらのスクリーンキャストをチェックしてください。

  • MPS内のMPS言語IntelliJ IDEA - パラレルforループの例(英語) - MPS 2.5の最も注目すべき新機能はIntelliJ IDEAとの統合です。DSLと言語拡張機能は、Javaコードと緊密に統合されたお気に入りのJava IDEで直接使用できます。このスクリーンキャストは、この統合がどのように機能するのかを示しています。

  • MPSでIntelliJ IDEA言語プラグインを構築する(英語) - このスクリーンキャストでは、IntelliJ IDEAで使用できるように言語をパッケージ化する方法を説明します。単純なプロパティー言語を作成し、その言語を生成してパッケージ化するビルドスクリプトを定義してから、IntelliJ IDEAで直接プロパティー言語を使用します。

  • IntelliJ IDEA用のDSLをパッケージする方法(英語) - このスクリーンキャストを見て、自分の言語を他の人と共有し、MPS(英語)IntelliJ IDEA(英語)の両方の内部で使用できるようにする方法を学びましょう。サンプル言語用のビルドスクリプトを作成して、その言語をコンパイル、ビルド、およびパッケージ化し、適切なIntelliJプラグインzipファイルを作成します。

  • IntelliJ IDEAでMPSを有効にする方法(英語) - IntelliJ IDEAにMPSのコア機能を追加する方法、およびサードパーティの言語をインポートする方法については、このスクリーンキャストを参照してください。IntelliJ IDEA内でMPSプラグインを有効にし、プラグインを設定し、最初のデモを作成して実行するさまざまなオプションについて説明します。コードに含まれている言語を使用するために、別の言語プラグインをインポートします。

言語拡張

言語を拡張することは、MPSの基本的な利点の1つです。これらのスクリーンキャストを見て、既存の言語を改善、カスタマイズ、および構築する方法を学びましょう。

  • 言語拡張 - 新しい文を作成する(英語) - このスクリーンキャストを見て、MPSの基本について学びましょう。簡単な言語拡張の内部について議論し、言語設計プロセスの詳細を探ります。このスクリーンキャストはシリーズの最初の部分であり、リスナーにMPSの基本原則を徐々に紹介することを目的としています。

  • 言語拡張 - 表式を作成する(英語) - 連載第2回では、カスタム決定表式の実装について説明します。テーブルをBaseLanguage式に変換するジェネレータの実装と同様に、テーブルの構造、エディター、および型システムの規則を定義する方法を示します。このビデオを見て、テーブルやその他の自明ではない言語構成要素のより良いコマンドを入手してください。

  • 言語拡張 - 新しい型とリテラルを作成する(英語) - 連載第3回では、カスタム・マネー言語について説明します。アクションを通じてエディターの振る舞いをカスタマイズする方法、カスタム型の演算子をオーバーライドする方法、既存のJavaライブラリーの上にDSLを構築する方法、そしてほとんどの場合MPSでお金を掛ける方法を示します。

  • 言語拡張 - データフローの説明(英語) - このシリーズのこのエピソードでは、http://www.vaclavpech.eu/(英語)が言語拡張のデータフローの側面を調べます。スクリーンキャストを見て、MPSが到達不可能なコード、潜在的なNullPointerExceptions、またはあなたのカスタム言語拡張の初期化問題を検出する方法を学びましょう。

  • 言語拡張 - 提案された変数名のカスタマイズ(英語) - 連載第5回では、推奨される変数名のリストをカスタマイズする可能性について簡単に説明しました。ユーザーが直接または「変数の導入」リファクタリングを介して新しい変数を作成するたびに、名前の候補が提示されます。デフォルトの実装では実際の型に基づいた名前が提供されますが、Base Language拡張機能の設計者はこのプロセスに参加して、カスタマイズされた提案を提供することができます。これは、MPSがどのようにして非常にきめ細かいレベルで言語を拡張できるかを示す良い例です。

  • 言語拡張 - インテンションを作成する(英語) - 今回はhttp://www.voelter.de/(英語) インテンションを通してご案内します。インテンション(クイックフィックスとも呼ばれます)は、手近なコードを改善したり変更したりするための提案をユーザーに提供します。スクリーンキャストでは、インテンションを使ったプレーンとサラウンドの両方に焦点を当て、それらを作成し、適切な言語要素にフックする方法、そして明らかにそれらをあなたの利益のために使用する方法を示します。

  • javaのためのメモ(英語)

  • Javaのテール再帰最適化(英語)

  • Java用の並列forループ(英語)

言語定義の高度な側面

これらのスクリーンキャストは、MPS言語定義の分野に深く入り込んでいます。

チュートリアル

これらのビデオは紹介計算機言語のチュートリアル(英語)を伴います。

  • 入門電卓言語チュートリアル(英語) - このscrencastはMPSを学ぶための代替方法を提供します。オンライン紹介のMPSチュートリアル(英語)で説明されている手順に従って、スクリーンキャストは、計算機定義言語の構築プロセスを案内し、構造、エディター、ジェネレータなどの基本的なMPSの概念の使い方を紹介します。オンラインチュートリアルを少し乾燥していて従うのが難しいと思うなら、このスクリーンキャストはあなたがそれを乗り越えるのを手助けするかもしれません。

  • 入門電卓言語チュートリアル - 制約と型システム(英語) - これは、制約と型システムについて説明している「計算機言語チュートリアル」の第2部です。このscrencastはMPSを学ぶための代替方法を提供します。オンライン紹介のMPSチュートリアル(英語)で説明されているステップを踏まえて、スクリーンキャストは、最初の部分(英語)で構築した計算機言語のスコープ制約と単純な型システム規則を作成するプロセスを案内します。

最終更新日: 2019年4月12日