あなたのKotlinイベント、Kotlin/Everywhereに登録しませんか?

こんにちは。JetBrains堀岡です。

2019年のGoogle I/Oや以下で発表されていますが、現在GoogleとJetBrainsは「Kotlin/Everywhere」と呼ばれる世界各地で開催されるKotlin関連のコミュニティ・イベントを開催・支援する取り組みを行っています。

Blog-Post-Grey

Kotlin/Everywhere 登録サイト(英語)

https://events.withgoogle.com/kotlin-everywhere

Kotlin Blog「Kotlin Is Everywhere! Join the Global Event Series」(英語)

https://blog.jetbrains.com/kotlin/2019/05/kotlin-is-everywhere-join-the-global-event-series/

Google Developers 「Kotlin Everywhere を開催します」(日本語)

https://developers-jp.googleblog.com/2019/06/kotlin-is-everywhere-join-global-event.html

が、本ブログを執筆時点(2019年6月12日)の日本の開催状況を見てみると、5月18日の開催済みイベントしか登録されていません😅(温泉イベントを登録・開催頂いた皆様ありがとうございます。最新状況はこちら

【2019年9月2日アップデート】8月に開催されたKotlin/Everywhere Ehimeも登録されました🎉

KEJapan

ということで、より多くの技術者コミュニティの皆様がKotlin/Everywhereの機会を活用して、イベントを企画・開催して、Kotlinをいろいろな機会でより便利にお使い頂けるよう、JetBrainsの日本語ブログでも紹介したいと思います。

Kotlin/Everywhereとは

  • Kotlinの要素技術やベストプラクティスについて学ぶ、世界各地で開催される、コミュニティ主催の技術者向けイベントの総称
  • どなたでも主催、どなたでも参加可能
    • GDG(Google Developer Group)やKUG(Kotlin User Group)、その他コミュニティ主催者がイベントをKotlin/Everywhereイベントとして登録可能
  • 主催者がKotlin/Everywhereとしてイベント登録すると、Kotlin/Everywhereウェブサイトに掲載される
  • イベントの内容・規模に応じてGoogle/JetBrainsからサポートを得られる場合がある(すべてのイベントがサポートを得られるとは限りません)。
    • サポート内容例
      • 会場費や飲食代、グッズ作成にかかる費用(イベントの詳細が決まった段階で早めにご相談ください。リクエストから回答まで2週間ほどかかる場合があります。)
      • スピーカーの派遣(イベント開催の2ヶ月以上前に要連絡)
  • サポート対象のイベントの開催期間は2019年5月15日から2019年12月1日まで
  • イベントでのセッション内容の例

主催者向けガイドではKotlin/Everywhereのセッション・トークでは例として以下の内容が紹介されています。私自身、昨年から日本のKotlinイベントに数回参加しましたが、皆様が主催・参加されたKotlin勉強会やイベントで話された内容と共通する部分が多いのではないでしょうか。

KETopics

加えて、これから新たにハンズオンセッションを企画したいと考えている場合、codelabやプレゼンテーションスライド、トレーニングコースのビデオへのリンクも主催者向けガイドに掲載されています。

KECodelab

あなたのKotlin関連イベント、Kotlin/Everywhereに登録してみませんか?

ということで、既にKotlin関連のイベントや勉強会の主催の予定がある皆様、これから12月1日までに企画したいと考えている皆様

  • 既に開催予定のイベントをKotlin/Everywhereに登録することによりVisibilityを上げたい
  • イベントを開催するにあたり、Google/JetBrainsから何らかのサポートを受けたい
  • ハンズオンイベントをリードすることにKotlin力を高めたい

場合は、ぜひKotlin/Everywhereへの登録をご検討ください。

Kotlin/Everywhere登録のための準備

これから登録を検討したいと考えている方はイベントの詳細を決定する前に

を確認しておくと、必要なアクションをスムーズに進めることができます。

イベント企画から開催までの大まかな流れ

イベントの企画から開催までの流れは以下のようになると思います。

  1.  イベントの企画・準備
    • 開催日時、イベント内容(Kotlinに関するトピック、想定レベル)、想定参加者数、会場の決定、イベント登録サイトの準備を行います。
    • 登録されるイベント名は「Kotlin/Everywhere   [コミュニティ名 or ABC company(任意)]」のように「Kotlin/Everywhere」が含まれる必要がある
  2. Kotlin/Everywhereの登録
  3. イベントの告知
  4. イベントの実施
  5. 開催後レポートの提出
    • イベント開催後1週間以内に主催者サーベイへの回答、費用の補助を受ける場合請求書の提出等を行う必要があります。

サポートが必要であればお手伝いします

イベント登録や、登録後のGoogle/JetBrains チームを英語で行わないといけないのが不安だと思っていませんか?安心してください。Kotlin/Everywhere事務局はイベントが開催される国や地域のコミュニティと連携して、皆様のイベント開催をサポートします。Kotlin/Everywhereのイベント登録等で質問やお手伝いが必要であればKotlin/Everywhereオーガナイザーグループや、私宛にTwitter等でご連絡ください。

皆様のご登録をお待ちしています。

Posted in Kotlin, お知らせ, イベント | Leave a comment

RubyMine 2019.1がリリースされました!

RubyMine 2019.1 がリリースされました!

この新しいメジャーバージョンへアップグレードすると、次のようなことを体験できます:

  • RubyMineでDockerとの作業をスピードアップ
  • Recent Locations(最近の場所)ポップアップ(Shift + Cmd + E / Shift + Ctrl + E)を使って、より素早いナビゲーション
  • Ruby and Railsアプリケーションのプロファイリング
  • Factory Botのフルサポート
  • Call Hierarchy(呼び出し階層)でメソッド呼び出しを調査
  • 新しいUIテーマ

新バージョンには、TruffleRubyのサポート、改善されたJavaScriptとデータベースツール、そして多くのバグ修正も含まれています。

新機能の詳細については、 What’s new ページをご覧ください。サムライズム様による翻訳はこちらにございます。ぜひ、今すぐ新しいRubyMine 2019.1をダウンロードしてお試しください。

改善点の一覧については、リリースノートをご確認ください。また、発生した問題についてはYouTrackに報告してください。 そして、ぜひ RubyMine Slackにも参加してください!

よろしくお願いいたします。
RubyMine チーム

[原文Original post in English is written by Artem Sarkisov

Posted in RubyMine, お知らせ | Leave a comment

CLion 2019.1リリース:組み込み開発、ClangFormat、メモリビュー、言語の注入(Inject)、カスタムテーマなど

CLionの今年初のメジャーアップデート、CLion 2019.1がリリースされました!

すぐにアップデートするには、Toolbox App、スナップパッケージ(Ubuntu)、当社のウェブサイト、または2018.3の最新ビルドからのパッチアップデートが利用可能です。ぜひ今すぐアップデートしてください! :)
CLion 2019.1がリリースされました!

サムライズム様によるWhat’s Newの翻訳はこちらにございます。

以前に発表したように、今年当社は主に、IDEのパフォーマンス、Clangdのさらなる活用、そして組み込み開発に重点を置いています。 今回のアップデートではその3つの分野すべてで前進しております:

詳細についてぜひこのまま読み続けて、Phil Nash(フィル・ナッシュ)によるこちらの短いWhats Newビデオ(英)をご確認ください:

JetBrainsは30日間のCLion無料体験版を用意していますので、サブスクリプションを購入する前に、これらの全機能をすべて試すことができます。

CLion 2019.1をダウンロード

 

Clangdベースの言語エンジンとのインテグレーションの強化

私たちは引き続きClangdのより広範なインテグレーションに重点を置いているため、当社は補完的なClangdベースの言語エンジンを開発することに尽力を注いでいます。 可能な限り(機能およびパフォーマンスの観点から)、このエンジンにさまざまなアクションを再実装していますが、そのようなアクションに対してはCLion独自のエンジンに切り替えるオプションもございます(現時点では)。

ユーザーの観点からは、それによりエディタの反応がよくなることがわかります。 Clangdのより広範なインテグレーションに向けて当社が取ったもう1つのステップは、Clangdを利用してクイックフィックスが必要な場所を特定するようになったことです。 つまり、Clangdベースの言語エンジンは、コード内の潜在的な違反を特定してエラーや警告を表示するだけでなく、クイックフィックスの場所を提供するためにも使用できます。 ただし、実際のクイックフィックスはCLionによって提供されることにご注意ください。
Clang fix location

一方、この2番目のステップには欠点がいくつかあり、その結果、クイックフィックスの一部は一時的に削除されました(CPP-15243)。

また、エラーアノテーターが改善され、Clangから取得されたより詳細なエラーメッセージを表示できるようになりました。 実用的な例として、Clangが置換失敗に対する詳細な理由を提供できる、失敗したオーバーロード解決のデバッグ:
Clangエラー

また、当社のC++言語サポートチームは、CLionが提供する独自のコードチェックにも取り組んでおり、それらをClangdに実装しています。 例えば、Member function can be static(メンバー関数は静的にできます)チェック。 これはメソッド本体を分析し、それがthisに依存しているかどうかを確認しようとします。
Member static

CLion独自の言語エンジンの改善

IDEパフォーマンス

Clangdベースのエンジンに取り組んでいる一方で、私たちは当社独自の言語エンジンの改善に向けても、懸命に取り組んでおります。 まず、Clangdがまだ適用できない、IDEのパフォーマンス向上を目標としております。次に、少なくとも現在の状態ではまだClangdエンジンに移行できない、リファクタリングの精度を高めることです。

新規プロジェクトを作成したり最初に開いたりする際の初期インデックスの時間を短縮させました。 つまり、プロジェクトに適している限り、CLionは最近開いた他のプロジェクト用にすでに構築されているシンボルを再利用できるようになりました。 例えば、STLまたはBoostライブラリ、あるいは現在のプロジェクトや新規プロジェクトで広く使用されているその他のカスタムライブラリを使う場合に便利な改善点です。 私たちはこの機能にさらに取り組み、今後それを拡張する予定です。

より正確なリファクタリング

私たちはリファクタリングに1つずつ取り組み、改善していましたが、今回は、Extract(抽出)に取り組む必要がありました。 結果が正確であることを確認するために、私たちはそれが、std::名前空間修飾子、テンプレートの特殊化、テンプレートパラメータ、および型エイリアスを尊重するようにしました。

また、Rename(名前の変更)リファクタリングも改善されました。 ファイルに対して呼び出されたRenameで、関連するクラス/構造体の名前変更がトリガーされずに、代わりにこのオプションをサジェストするポップアップが表示されるようになりました。 またその逆も!
Rename class

さらに、ヘッダファイルの名前が変更された際に、ヘッダガードがこのヘッダファイルで使用されている場合は、それに応じてヘッダガードも更新され、使用されるヘッダガードスタイルテンプレートにはヘッダファイル名が含まれます。

組み込み開発への第一歩

STMicroelectronicsボード用に開発している場合は、CLionがSTM32CubeMXと統合されたことを知って、とても喜ぶでしょう:

  • CLionの新しいプロジェクトウィザードは、STM32CubeMX(.ioc)プロジェクトの作成を提案してくれます。このタイプの既存のプロジェクトをCLionで開くこともできます。
  • その後、いつでもCLionから直接STM32CubeMXを起動してボード設定を更新し、コードを生成できます。
  • また、CLionは、あなたの.iocプロジェクトが正しく動作するように、対応するCMakeファイルを生成し、ボード構成を選択することも提案してくれます。

OpenOCD + STM32CubeMXプラグインを試したことがあれば、機能は非常に似ていることに気づくでしょう。私たちはこのプラグインのアップデートされたバージョンをCLionにバンドルしました。

このプラグインの2つ目の部分は、どの組み込みデベロッパーにとっても便利です。というのもこれは、 Open On-Chip Debuggerとのインテグレーションを提供しているからです。 ‘OpenOCD Download and Run’ の新しい実行/デバッグ構成テンプレートを使用して、マイクロコントローラでデバッグできます。
OpenOCD

このインテグレーションについて、または必要な設定の詳細については、この詳細なブログ記事(英語)をご覧ください。

CLionをあなたのコードスタイルに調整

ClangFormat

ClangFormatツールはC/C ++の世界で広く使用されており、多くの開発者によって標準として評価されています。 よくオープンソースプロジェクトはリポジトリに.clang-format構成ファイルを保存しています。 現在、CLionでそのようなプロジェクトを開くと、IDEは構成ファイルを検出し、ClangFormatに切り替えるように提案するようになりました。 つまり、ClangFormatは代替フォーマッタとしてCLionに統合されました! これはIDEのすべてのアクションに影響するため、それに完全に切り替えることができます。
ClangFormat

Settings/Preferences | Editor | Code Style で、ClangFormatのスイッチャーもあります。 詳細については、私たちの専用ブログ記事(英語)をご確認ください。

C/C++命名

クラスや構造体用のPascalCase、メンバー関数や変数用のcamelCase、マクロや定数用のSCREAMING_SNAKE_CASE、グローバル関数用のsnake_case、すべての列挙型の接頭辞としての ‘E’ -これら全ての命名規則。 CLionはあなたの苦痛を理解し、Settings/Preferences | Editor | Code Style | C/C++ | Naming Convention で対応する設定を提供し、すべてのコード補完、コード生成、リファクタリングアクション、およびクイックフィックスでその選択を尊重するようになりました。

事前に設定されたスキームから命名スタイル(およびその他のコードスタイル設定)を選択することもできます。Google、LLVM、Qtなどが利用可能です。 また、Inconsistent Naming(一貫性のない命名)インスペクションを有効にすると、IDEは問題のある名前について警告し、クイックフィックスを使用してより正確な名前をサジェストし、すべての使用箇所を置換することもできます。
命名規則

ヘッダガードスタイル

ヘッダファイルで通常何を使用しますか? pragma、それともヘッダガードですか?  デフォルトでは、CLionはヘッダガードを生成します(Settings/Preferences | Editor | File and Code Templates でpragmaを使用するようにヘッダファイルテンプレートを変更できます)。ヘッダガード派の方は、喜ぶと思いますが、 CLion 2019.1には、ヘッダガードスタイルを構成する新機能が追加されています:
ヘッダガード設定

このテンプレートは、Apache Velocityシンタックスをサポートし、${PROJECT_NAME}${PROJECT_REL_PATH}${FILE_NAME}${EXT}などの事前定義された変数もいくつか使用します。 より標準的なスタイルを使用したい場合は、事前定義されたスタイルオプションのどれかを選択できます(命名規則と同じように)。

カスタムビルドターゲットと実行/デバッグ構成

IDEで提供されているカスタムコマンドのようなものを使用してプロジェクトをビルドする機能が欲しいというご要望を、最近多くのユーザーから頂いております。 また、実行/デバッグ構成をカスタム実行可能ファイルに指定することで、IDEでバイナリを実行/デバッグする機能についてもご要望を多数頂きました。 この機能は特に、CLionでサポートされている(ほとんどすべてのビルドシステムから抽出できる)コンパイルデータベースプロジェクトに役立つでしょう。 私たちはCLion 2019.1で、それを実現しました。

カスタムコマンドを使用してプロジェクトをビルドするには、Custom Build Target in Settings/Preferences | Build, Execution, Deployment | Custom Build Targets でカスタムビルドターゲットを作成してください。そこで、ツールチェーンとビルド/クリーンコマンドを指定できます:
カスタムターゲット

CLionでカスタム構成を実行またはデバッグするには、Run | Edit Configurations…でCustom Build Applicationの構成を設定してください。そこで、カスタムターゲット、実行可能ファイル、プログラム引数などを指定できます。
Custom configuration
これらすべてがどのように機能するかの詳細については、当社のウェブヘルプをご覧ください。

デバッガの機能強化

メモリビュー

CLion 2019.1以降、デバッグ時にポインタの後ろの生メモリをダンプできます。 また、デバッグ中にメモリビューを開き、ステップ実行中にメモリへの変更を追跡できます。
メモリビュー

これはまだ進行中の作業です。 例えば、次のアップデートではデバッグモードで任意のメモリアドレスをダンプする機能を予定しています。

逆アセンブリビュー

逆アセンブリビューが改善され、機能ごとに分類された情報を表示するようになりました。 またこれは、LLDBでも動作するようになったため、LLDBとGDBの両方が現在カバーされています。
Disasm view
ソースコードのない関数で Force Step Into(強制ステップイントゥ) (Win/LinではShift+Alt+F7、macOSでは⌥⇧F7) を使用すると、このビューが開きます:

変数をミュート

変数の計算にはかなりの時間がかかることがあります。コードをステップ実行する際には、特にパフォーマンスに重大な影響を与える可能性があります。 変数の計算に注意を払う必要がある場合、膨大な作業になる場合がある一方、最終的には必要ない場合もあります。 そのような状況では、一般的なIDEごとのスイッチを使って変数をミュートできるようになりました。 また、必要に応じて、Load(読み込み)オプションを適用して、現在のステップで特定の変数を計算できます。
変数をミュート

注入された言語

コードの一部を含む文字列リテラルは、実際のコードの一部として扱うことができます。 つまり、コードのハイライト、言語固有のインテンションやアクションをそれらに適用できます。 典型的な例は、SQLまたはHTML文字列、あるいは正規表現などです。

一時的に言語を注入するには、Alt+Enterを押して“Inject language or reference”(言語または参照を注入する)インテンションを適用し、適切な言語を選択すれば完了です! 専用のエディタセクションでコードフラグメントを編集したり、特定のアクションを適用したりできるようになりました。例えば、IDEで文字列がRegExpに一致するかどうかを確認できます。
Inject language
これは便利ですよね?

カスタムテーマでIDEをカラフルに!

デフォルトのホワイトとDarculaのテーマでは不十分な場合、ぜひカスタムテーマを作成してください! アイコンやラジオボタンから矢印まで、IDEのすべての項目のすべての色を調整できます。 お好みに合わせて調整してから、それをすべて新しいテーマプラグインとして保存してください。 こちらのチュートリアルで調整方法をご確認ください。
カラーテーマ

Rustプラグインのアップデート

IntelliJ RustプラグインはCLionでRustのサポートとCargoビルドシステムおよびデバッガを提供します。 このバージョンはそれが大規模にアップデートされました:

  • プロファイラがRustでサポートされるようになりました:macOSではDTrace、LinuxではPerf。
  • 範囲外の項目はコード補完でサジェストされ、使用時に自動インポートをトリガーします。
  • doc commentsでコードスニペットへのRust言語挿入が提供されるようになりました。
  • Cargo checkアノテーター、LLDB、およびGDBフォーマッタのさまざまな改善。

ぜひ「はじめてのCLion+IntelliJ Rust」ブログポストもご確認ください。

その他の機能強化

その他の改善には、新しい Recent Locations(最近の場所)ポップアップが含まれています。最近訪れたすべての場所を時系列順にまとめた概要と、バンドルされたCMake(3.13)、バンドルされたLLDB(7.0.1)、および最近サポートされたCygwin(3.0)の更新されたバージョンを提供。

さらに、CLionのプラグインを構築するプロセスは、gradle-intellij-plugin (バージョン0.4.2以降)によって使用されるMavenの依存関係としてCLionを公開することで、簡素化されました。

以上です! ぜひ新しい改善点をお試しください。そして、いつものように、フィードバックは大歓迎です。

CLion 2019.1をダウンロード

[原文Original post in English is written by Anastasia Kazakova

Posted in CLion, お知らせ | Leave a comment

GoLand 2019.1がリリースされました!

GoLand 2019.1がリリースされました!

blog@2x

GoLand 2019.1では、ビルトイン Memory、CPU、Block、Mutexプロファイラが統合され、高度な機能でデバッガが強化され、新しいリファクタリングを追加しました。また、GoLand 2019.1はさまざまな方法で式にnilを使用することで発生する可能性があるエラーについて警告してくれます。

新しいバージョンでは、IDEから直接Go SDKをダウンロードしてインストールできるようになり、新しい設定済みの Sublime Text キーマップを使用できます。

これらは、新しいGoLandが提供する新機能のわずかなリストです。 ぜひこのまま詳細をお読みいただくか、当社のWhat’s Newページに移動し、Goモジュール、ナビゲーション、インテンションアクション、バージョン管理、ウェブ開発、データベースについて当社が行ったことの詳細をご覧ください。サムライズム様による翻訳はこちらにございます。

GoLand 2019.1をダウンロード

一方で、GoLandをまだお試しになられていない場合、ぜひ30日間の無料体験版を使用し、新機能を試してみてください。
ハイライトをお読みいただくか、こちらのクイックデモでそれらをご確認ください(英語):


プロファイリング

ワンクリックでビルトインMemory、Heap、CPU、Mutex、またはBlockプロファイラを実行できます。 GoLandで専用のツールウィンドウを使って、分析結果を確認し、ソートできます。

デバッガ

  • 一連の呼び出しとネストされたメソッド呼び出しのデバッグが、新しいデバッガアクションの Smart Step Into(スマートステップイントゥ) を使用することで、はるかに簡単になりました。
  • デバッガはスレッドの代わりにゴルーチンを表示します(その逆も)。 Int変数の表示方法を2進数、10進数、16進数のいずれかで選択できます。
  • ゴルーチンリストを右クリックして、Debugger タブで Copy Stack(スタックのコピー)を使うと、フレームスタック全体をクリップボードにコピーできます。
  • マウスジェスチャーとして、Run to Cursor(カーソル位置まで実行)が利用できます。
  • Windowsミニダンプがサポートされています。
  • Run/Debug(実行/デバッグ)設定はsudoで実行できるようになりました。

リファクタリング

  • 新しい Extract Interface (インターフェースの抽出) リファクタリングを使用すると、選択したタイプに基づく新しいインターフェースをすばやく作成するのに役立ちます。
  • Rename リファクタリングには、インタフェースで宣言されたメソッドの名前を変更する機能が含まれるようになりました。

コードインスペクション

  • Nilness Analyzer(nil値アナライザ)は、さまざまなケースで、変数にnil値があるかどうかを即座に検出するように設計された新しいコードインスペクションセットです。
  • Multiple defaults in switch(switchの複数のデフォルト)コードインスペクションでは、switch文内の冗長なデフォルトのケースについて警告し、重複したデフォルトにすばやく移動できます。

新しいUIテーマとテーマカスタマイズのサポート

IntelliJ IDEAベースのIDEのすべての新しい2019.1バージョンでは、すべてのUI要素の色を完全にカスタマイズできます。 本当に、何の色でも変えられます

ちょっとはしゃぎすぎてしまったかもしれませんが、3つの新しいテーマを作成しました:ダークパープルライトシアングレー。 ぜひお試しください!

IDEからGo SDKをインストール

GoLandで新しいプロジェクトを作成する際に、ベータ版とRC版を含む、SDKの必要なバージョンをダウンロードしてインストールするオプションが追加されました。

さまざまな便利な変更

  • 新しい設定済みの Sublime Text キーマップが、Preferences | Settings | Keymap から利用できます。さらに、VS Codeキーマップがこのプラグインから利用できます。
  • Recent locations(最近の場所)のポップアップは、コードスニペットとして最近訪れた/変更されたコードの場所のリストを提供し、プロジェクト周辺のナビゲーションに役立ちます。
  • ウェブ開発用のプロジェクトテンプレート(React AppReact NativeHTML 5 BoilerplateFoundationなど)がすべて、ウェルカム画面からご利用いただけます。
  • コードスタイル の設定をJSONにエクスポートする新しいオプションが、Preferences /Settings | Editor | Code Style で利用できます。
  • JetBrains製のプラグインの設定は、Preferences/Settings ダイアログで検索できます。
  • 無視されたファイルとフォルダは、Project ビューでオリーブグリーン色で表示されます。
  • ファイルをドラッグしてBlank Diff(空白差分)ウィンドウにテキストをコピー&ペーストできます。

新しいインテンションアクション

  • 一連のインテンションアクションは、宣言を再フォーマットするのに役立ちます:Settings/Preferences | Editor | Intentions | Declaration。
  • Export(エクスポート)のインテンションアクションを使用すると、パッケージ間で切り替えずにプライベート関数、型、またはフィールドをエクスポートできます。

Goモジュール

  • インポートされていないGoモジュールのコード補完を追加しました。
  • Goモジュールのプロジェクトテンプレートには、新しい Vendoring mode のチェックボックスが追加されました。

バージョン管理の改善

  • Partial Git(部分的なGit)コミット(git add -p)のUncheck all(すべてのチェックを解除)チェックボックスにより、すべてのコードチャンクのチェックを一度に解除できます。
  • FixupSquash Intoアクションを使って、正しいfixup! とsquash! メッセージを使用して、 コミットを 作成できます。
  • Mark Branches that have incoming/outgoing commits in the Branches(ブランチに着信/送信コミットがあるブランチをマークする)ポップアップが利用可能になりました。
  • VCSアノテーションに作者のフルネームの代わりにイニシャルを表示できます。

ウェブ開発

  • 一連のリファクタリング、インテンションアクション、およびクイックフィックスにより、コード内のオブジェクトと配列を簡単にデストラクチャリング(分割代入)を始めるのをサポートします。
  • Convert to async function(非同期関数に変換)インテンションアクションは、Promiseを返す関数をasync / await付きの非同期関数に変更するのに役立ちます。
  • HTMLとCSS用のドキュメントに、MDNの説明とブラウザサポートに関する情報が表示されるようになりました。
  • Jest、Karma、Mocha、またはProtractorを使用してテストを実行して、その一部が失敗すると、IDEはエディタで失敗したコードをハイライトします。

データベース

  • Remember password(パスワードを保存)機能に、パスワードを保存するためのオプションが2つ付きました。Forever(永遠に)For session(セッション間)です。
  • Greenplum、Vertica、Apache Hiveデータベースのサポート。
  • 完全に作り直された接続ダイアログ。
  • 新しいキープアライブと自動切断オプション。
  • データエディタのフィルタはクリップボードの値をサジェストします。

当社のさまざまな改善案は、ユーザーの皆様から頂いたご意見から生まれました。 フィードバック大歓迎です!当社のバグトラッカーでご要望等をお伝えいただくか、@GoLandIDEをメンションして、ツイートしてお伝えいただけますと幸いです。 よろしくお願いいたします!

[原文Original post in English is written by Ekaterina Zharova

Posted in GoLand, お知らせ | Leave a comment

IntelliJ IDEA 2019.1がリリースされました! テーマのカスタマイズ、Java 12のSwitch式、Dockerコンテナ内でのデバッグなど

IntelliJ IDEAの今年初のメジャーアップデート、IntelliJ IDEA 2019.1がリリースされました! この大規模なアップデートには、たくさんの新機能と改善点が含まれています。新機能ページをぜひご確認ください!サムライズム様による翻訳はこちらにございます。

このブログ記事では、このアップデートの主な新機能の概要をご紹介いたします。

blog@2x

ユーザーインターフェース

  • 新しいテーマが追加され、テーマのカスタマイズが公式にサポートされるようになりました!

詳細は、新機能ページのテーマセクションをご覧ください。

Java

  • IntelliJ IDEAは、Java 12のプレビュー機能、Switch式JEP 325をサポートしています。 詳細はこちら
  • Extract Variable リファクタリングは、以前よりもさらにセマンティクスを保持するようになりました。
  • 三項式では、IDEはnullability(変数がnullを取り得るかの記述)違反が検出された条件のみをハイライトするようになりました。
  • 数学演算の分析が大幅に改善されたため、IDEは剰余、乗算、および右シフト演算の値を追跡できるようになりました。
  • IDEはソースからコンストラクタの純粋性を自動的に推測できるようになりました。
  • 自動生成されたtry/catchブロックに変数名を設定できます。
  • Javaスタックトレースから行内の適切な位置へのナビゲーション。
  • IDEは重複したスイッチブランチを検出できるようになり、そのようなブランチをマージするためのクイックフィックスを提供してくれます。
  • “Move Statement Up/Down”(文を上/下に移動)を使用して、switch文とcatchブロックを上下に移動できるようになりました。
  • クリップボードとの間で構造検索パターンをインポートおよびエクスポートできるようになりました。

詳細については、新機能ページのJavaセクションをご覧ください。

Gradle

  • 新規プロジェクトでは、デフォルトでビルドおよび実行アクションがGradleに委任されます。
  • Gradleへのビルドおよび実行アクションの委任は、Gradleプロジェクトごとに個別に設定できます。
  • HotSwapはビルドアクションがGradleに委任されたときに機能します。
  • Gradleの組み込みバージョンはv4.10.3にアップグレードされました。
  • Gradleテストランナーを使って、JUnitパラメータ化テストを実行できます。
  • Gradleテストタスクを適切に選択して、エディタから実行できます。
  • Gradleツールウィンドウは、 ‘gradle projects’コマンドを実行した場合と同じように、マルチモジュールプロジェクトの構造を表示できます。

詳細は、新機能ページのGradleセクションをご覧ください。

Maven

  • HotSwapはビルドアクションがMavenに委任されたときに機能します。
  • 唯一のバンドルされたMavenバージョンは現在v3.3.9です。IntelliJ IDEAでMaven 2をバンドルするのをやめました。
  • ビルドに関連するすべてのMaven出力を1か所で表示できる、ビルドツールウィンドウが追加されました。
  • 改善されたMaven図(ダイアグラム)を使って、競合の依存関係または重複する依存関係を表示できるようになりました。選択したノードの隣接ノードのみを表示したり、選択したノードへのパスを表示し、ダイアグラムを境界線なしでプレビューできます。

詳細は、新機能ページのMavenセクションをご覧ください。

バージョン管理システム

  • FixupとSquashアクションは、VCS Logタブのコンテキストメニューから利用できるようになりました。そのため、fixup! とsquash! コミットメッセージを使用してすぐにコミットを作成できます。
  • コンテキストメニューを使用し、VCSログから直接ファイルをチェリーピックできるようになりました。
  • ‘Mark Branches that have incoming/outgoing commits in the Branches popup’ (ブランチに入出力コミットがあるブランチをマークする)ポップアップオプションが有効になっている場合、それぞれのブランチに対する入出力コミットを確認できるようになりました。
  • シェルフタブの新しい “Recently Deleted”ノードには、最近削除されたすべてのファイルが表示され、最近削除された、シェルフされたファイルを復元するオプションが追加されました。
  • VCSアノテーションにおいて作者のイニシャルを表示するモードが追加されました。
  • 部分的なGitコミット用のCommit Changes(変更をコミット)ダイアログのDiffペインの新しい“Uncheck all”(すべてのチェックを外す)チェックボックスで、すべてのコードチャンクを一度に選択および選択解除できます。
  • プロジェクトビューで、IDEはGit ignoreによって無視されたファイルとフォルダをオリーブ色でマークするようになりました。

詳細については、新機能ページのバージョン管理セクションをご覧ください。

差分ビューア

  • ファイルのドラッグアンドドロップで、テキストをBlank Diffウィンドウにコピー&ペーストできるようになりました。
  • 差分ビューアで文字単位で差分を表示できるようになりました。
  • 差分ビューアでは、Swap Sides オプションを使用して、左側に表示されるファイルと右側に表示されるファイルを選択できるようになりました。

詳細は、新機能ページの差分ビューアセクションをご覧ください。

Recent Locations (最近の場所)ポップアップ

  • 最新の “Recent Locations”(最近の場所)ナビゲーションポップアップ(Cmd-Shift-E/Ctrl-Shift-E)を使用して、最近訪れた、または変更されたコードの場所をすべて表示できます。 もっと詳しく

JVMデバッガ

  • デバッガエバリュエータは、 synchronized statements(同期文)、assert expressions(アサート式)、およびswitch statements(スイッチ文)をサポートするようになりました。
  • Javaプロジェクトのデバッグ中に、新しいアクション、“Step Out of the block”(ブロックからステップアウト)を使用して現在のブロックからステップアウトできるようになりました。
  • マウスでデバッグモード中に必要な行番号をクリックするだけで、Run to mouse pointer(カーソル位置まで実行)アクションを呼び出すことができるようになりました。

詳細は、新機能ページのJVMデバッガセクションをご覧ください。

Scala

  • エラーハイライト、暗黙のヒント、GoTo / Quick Definition / Quick Documentationアクションが、 ‘For-comprehensions’でサポートされるようになりました。
  • Find Usages(使用箇所を検索)は、暗黙の定義、メソッドの適用/適用を解除、for-comprehensionメソッド、および Single Abstract Method (SAM)(単一抽象メソッド)型に対して呼び出せるようになりました。
  • コンパイルされたScalaファイルをJavaに逆コンパイルできるようになりました。
  • カスタムバージョンのScalafmtフォーマッタを使えるようになりました。
  • HOCON形式のサポートは、専用のプラグインによって提供されています。
  • エラーのハイライトが大幅に改善されました。部分的なユニフィケーション、コンストラクタのハイライト、better-monadic-forコンパイラプラグインの改善(implicit0機能)、kind-projector(値レベルの多型ラムダ)、simulacrum(higher-arity型コンストラクター)など。

詳細については、新機能ページのブログ記事Scalaセクションをご覧ください。

Groovy

  • Groovy 3.0のJavaスタイルのラムダシンタックスのサポート
  • Groovyのインテンションとインスペクションは、ラムダ本体内部で適切に機能します。
  • Javaスタイルのラムダをデバッグする機能。

詳細は、新機能ページのGroovyセクションをご覧ください。

Kotlin

バンドルされたKotlinプラグインはv1.3.21にアップデートされました

  • ‘main’ ライブテンプレートを使用して、パラメータなしでmainメソッドを作成できます。
  • ‘Deferred’ を返す関数に “Async” サフィックスを追加するようにサジェストする新しいインテンションアクション。
  • SAMをラムダとして匿名オブジェクトに変換するための新しいインテンション。
  • 文字列変換の改善。

詳細は、新機能ページのKotlin セクションをご覧ください。

JavaScript & Typescript

  • JavaScriptとTypeScriptのデストラクチャリング(分割代入)用の新しいリファクタリングとインテンション。
  • Promiseを持つ関数をasync/awaitに変換するインテンション。
  • CSSとHTMLのドキュメントがアップデートされました。
  • JavaScriptとNode.jsデバッグツールウィンドウの改善されたデバッガコンソール。

詳細は、WebStormの新機能ページをご覧ください。

Docker

  • Dockerコンテナ内で実行されているJavaアプリケーションをデバッグできるようになりました。 もっと詳しく知る.

Kubernetesプラグイン

  • 外部ソースからカスタムリソース仕様をロードする機能が追加されました。
  • チャートの名前の変更リファクタリングは、Helmリソースファイルでできます。

詳細は、新機能ページのKubernetesセクションをご覧ください。

エディタ

  • すべてのコードスタイル設定をJSONにエクスポートするための新しいオプションが追加されました。 さらに、外部ツールとのカスタムインテグレーションに、エクスポートされたコードスタイル設定をすべて使用できます。
  • ファイルの種類に応じてソフトラップを有効にできます。
  • Windowsで、最初の使用箇所で、キーマップ設定ダイアログで “Delete Line”(行の削除)または “Redo”(やり直し)アクションにCtrl + Yショートカットを割り当てるオプションが追加されました。
  • 設定済みのSublime TextキーマップをIDEで利用できるようになりました。
  • 新しいVSCodeテキストキーマッププラグインをインストールして、IntelliJ IDEAでVSCodeキーマップを使用できます。

詳細は、新機能ページのエディタセクションをご覧ください。

Spring Cloud Stream

  • IDEは、Spring Cloud Stream用にシンタックスハイライト、コード補完、インスペクション、およびクイックフィックスの編集サポートを提供してます。
  • バインダー名の補完は、application.propertiesファイルまたはapplication.ymlファイルの値と参照に使用できるようになりました。
  • バウンド消費および生成メッセージハンドラ間のナビゲーションは、ガターのアイコンから利用できるようになりました。

詳細は、新機能ページのSpring Cloud Streamセクションをご覧ください。

Thymeleaf

  • ‘th: replace’ と ‘th: include’ 属性で参照されたテンプレートフラグメントへのナビゲーション。
  • 含まれたフラグメントおよび置き換えられたフラグメント用のリネームリファクタリング。
  • コード補完は、含まれたフラグメントおよび置き換えられたフラグメントに対して機能するようになりました。

詳細については、新機能ページのThymeleafセクションにジャンプしてください。

Android

  • IntelliJ IDEA 2019.1には、Android Studio 3.3の変更がすべて含まれています。 詳細はこちら

JetBrains Runtime

  • IntelliJ IDEA 2019.1では、新しいJetBrains Runtime 11でIntelliJ IDEAへの早期アクセスがございます。 当社はJetBrains Runtime 8とJetBrains Runtime 11の両方でIntelliJ IDEAを公開し続けます。

データベースツール

  • 新しいデータベースのサポート:Greenplum、Vertica、Apache Hive。
  • 接続ダイアログの外観が新しくなりました。
  • 接続を確立するたびに実行されるSQLクエリを指定できます。
  • 新しいキープアライブと自動切断オプション。

詳細については、新機能ページのデータベースツールセクションをご覧ください。

その他の変更

  • Linuxでのグローバルメニューのサポートが実験的な機能ではなくなり、IntelliJ IDEAで完全にサポートされるようになりました。
  • IDEはEclipse Concierge OSGiフレームワークをサポートするようになりました。
  • プラグイン設定は、プラグインがIDEにバンドルされていなくても、IntelliJ IDEAで検索可能になりました。また、手動でインストールするだけでも、設定は検索結果に表示されます。

これは非常に長いハイライトのリストです。これらの新しい機能をすべて追加するのに尽力する一方で、品質と安定性について忘れることはありません。私たちはバグやパフォーマンス問題を修正し、ユーザビリティを改善し続けています。 全体的にこの新しいメジャーアップデートでは、1700個以上の課題を修正いたしました! 解決されたすべての課題のリストは、リリースノートにございます。 課題に投票したり、機能リクエストをご送信いただいたり、Twitterとこちらのコメントで、ご意見やご提案をお伝えいただいた方全員に、心から感謝申し上げます! フィードバックは大歓迎です!

ではいよいよ、IntelliJ IDEA 2019.1をダウンロード してください!

Happy Developing!

[原文Original post in English is written by Zlata Kalyuzhnaya

Posted in IntelliJ IDEA, お知らせ | Leave a comment

YouTrack 2019.1がリリースされました!

YouTrack 2019.1のリリースに関するニュースです。

VLA7bXbG

JetBrainsはYouTrackを改善し続けており、今回、2019年最初のリリースをお届けいたします。 このブログ記事を読み、最新版の新機能をご確認ください。サムライズム様による新機能のページの翻訳はこちらにございますので併せてご参照ください。

お気に入りのアジャイルボード

アジャイルボードをお気に入りとしてマークできるようになりました!個人用およびチーム用のボードなど、複数のボードで作業する場合に非常に便利です。 お気に入りのボードはリストの一番上に表示されます。

お気に入り_ボード 17.24.22

Slack用YouTrackアプリ(Standalone)

Slackとのカスタムインテグレーションにより、YouTrackスタンドアロンインスタンスをワークスペースにリンクし、両方のアプリケーションを最大限に活用できるようになりました。 課題の更新通知を取得し、プレビューをリンクし、課題の下書きへメッセージをコピーできます。

下書き_作成 17.24.22

コミュニティベースの言語サポート

現在YouTrackでは、英語、ドイツ語、フランス語、ロシア語、日本語、およびスペイン語の公式ローカライズサポートを提供しています。 このリリース以前でも、YouTrackスタンドアロンインストールにカスタムローカライゼーションをアップロードすることは可能でしたが、このプロセスは簡単ではなく、ある程度の労力が必要でした。

現在、JetBrainsで正式にサポートされていない言語でYouTrackを使用したい場合、JetBrainsが使用しているローカライズサービスであるCrowdinを使って、翻訳をご提供いただけます。 新しい言語の追加をしたい場合、あるいは他の貢献者によって既に開始された翻訳プロセスに参加されたい場合は当社のサポートまたはプロジェクト管理者までお問い合わせください。 コミュニティによって追加された言語は、特定の条件が満たされた場合にのみYouTrack UIに表示されることにご注意ください。 詳細については、こちらのドキュメントをご参照ください。

Crowdin

アップデートとエンハンスメント

アジャイルボードのカードのカスタマイズ可能なフィールド

アジャイルボード上のカードの新しいオプションを使用して、表示するフィールドと値の表示方法を選択できるようになりました。 これにより、複数のプロジェクトで課題を管理する場合でも、ボード上の各カード用に同じデータコレクションを表示できます。

変更点:

1. フィールドはカードの一番下に表示されるようになりました。
2. カードのサイズは決まっていません。内部のコンテンツ量に依存するようになりました。 フィールドがカードに収まらない場合、カードにフォーカスされたときに表示されます。

カスタマイズできる_フィールド

システム全体にわたるダークテーマ

YouTrackのすべてのページにダークテーマを適用できるようになりました(課題リストを除く)。 ダークテーマは、課題リストが実験的な機能として有効になっている場合でも機能します。 アバターをクリックしたときに表示されるメニューで、またはプロファイルの一般設定でダークテーマに切り替えることができます。

ダーク_テーマ 17.24.22

アジャイルボード用のクローンアクション

この機能により、アジャイルボードの設定パネルにオプションを追加して、ボードのクローンを作成できます。 最初から設定することなく新しいアジャイルボードを作成し、後でいつでも設定を調整できます。

ボード_クローン 17.24.22

ユーザーごとの期間形式設定

あなたのYouTrackプロファイルの新設定を使用して、期間フィールドに格納されている値の表示方法を選択できるようになりました。 これにより、簡単に計算して一目で値を比較できます。

匿名SMTPサーバー接続

YouTrackはログイン名とパスワードを送信せずにSMTPサーバーに接続できるようになりました。 これにより、認証を必要としないSMTPサーバーに接続できます。

Markdownでシンタックスハイライトを改善

Markdownの言語固有のシンタックスハイライトを改善することで、GitHubの同様の機能との互換性が向上し、ハイライトなしのコードブロックへのサポートも追加されました。

プロジェクト設定へのクイックアクセス

課題からそのプロジェクトの設定に直接ジャンプできる設定を追加しました。 プロジェクトの更新権限を持つユーザーは、フィールドパネルのプロジェクト名の横にあるアイコンをクリックして、プロジェクト設定にアクセスできます。

設定 17.24.22

スマートなデフォルト作業項目タイプ

新しい作業項目の場合、デフォルトでは直近の作業項目に割り当てられた作業項目タイプが使用されます。 この変更により、常に同じタイプの作業をするユーザーは、自分の作業をより早く報告できるようになります。

実験的な機能

再設計された課題リスト

新しい課題リストが実験的な機能として表示されるようになりました! 実験バージョンでは、すべてのレベル用のツリーモードと、現在の検索クエリを絞り込むためのスマートフィルタがサポートされています。 ダークテーマをご使用の場合、再設計された課題リストページでもダークテーマをお楽しみいただけます。

課題_リスト

ぜひYouTrack 2019.1 をお試しください!

今すぐダウンロード

フィードバックも大歓迎です!以下のコメント欄からお気軽にお知らせください。

このリリースの詳細については、リリースノートをご参照ください。 新機能の設定の詳細については、最新のドキュメントをご参照ください。

クラウドでYouTrackをご使用の場合は、当社のメンテナンスカレンダーに従って、あなたのインスタンスは自動的に最新バージョンにアップグレードされます。

[原文Original post in English is written by Natasha Katson

Posted in YouTrack, お知らせ | Leave a comment

はじめてのCLion+IntelliJ Rust

こんにちは。JetBrains堀岡です。ご存知の通り、JetBrainsの製品は様々なプログラミング言語やテクノロジーをカバー(参考:jetbrains.dev)しており、日々様々な技術情報が英語でアップデートされています。営業的な記事を書くのはそろそろ飽きてきたので、私自身仕事で使ったことのの無い(遠い昔、ソフトウェアエンジニアでしたw)プログラミング言語(Kotlin、PHP、Ruby、Swift、Scala、Go、Rust)のコンテンツも学びながら増やしていけたらと考えております。そこで、今回(今後伸び代がありそうな)IntelliJ Rustについて紹介したいと思います。

clion_rust_banner2

IntelliJ Rustの歴史

現在JetBrainsの製品群の中でプログラミング言語Rust専用のIDEはありませんが、オープンソースのJetBrains IDE向けプラグインとしてIntelliJ Rustがあります。歴史を調べてみると以下が大きな節目のようです。

IntelliJ Rustの情報源

IntelliJ Rustには製品レベルのドキュメントはありませんが、以下から機能概要やリリース情報を知ることができます。

現時点でIntelliJ Rustと一番親和性の高いJetBrains IDEはCLionです(デバッガサポートがあるため)。そのため、現在JetBrainsの製品カテゴリ/マーケティング的にはIntelliJ Rust関連の情報(新機能や便利な使い方紹介)は、CLionの一部として以下の通り情報提供されています。

IntelliJ Rustの主な機能

IntelliJ IDEAやCLionの基本操作の多くが(同じキー操作で)IntelliJ Rustプラグインでサポートされています。機能一覧はIntelliJ Rust DocumentationのFeaturesに掲載されています。基本的な機能は一通り入っているようですが、まだまだWIP(Working In Progress: 開発中)のものも多いようでこれからさらなる発展が期待されます。

ここでは、クイックスタートの指示に従って、GitHub上のコードで試してみます。

今回試してみた環境は以下の通りです。

  • CLion 2018.3.4
  • IntelliJ Rust Plugin v0.2.94.2119-183
  • Rust 1.33.0
  • macOS 10.13.6
  • Xcode 10.1 (IntelliJ Rustのdebuggerが使用)
  • テスト用コード rustlings

インストール

  • CLionをお持ちでない方はこちらから30日試用版が利用可能です
  • IntelliJ Rustプラグイン
    • [Preference]-[Plugins] (またはShiftキー*2 でpluginsを検索)
    • Rustを検索し[Install]

Plugins

プロジェクトの選択と実行

[Open]を選択し、git clone済みのrustlingsコードが含まれるディレクトリを指定します。

Welcome_to_CLion

Rustプロジェクトとして正しく認識されているか確認するため、画面右[Cargo]を開きます。targetsのrustlingsをダブルクリックすると自動的にCargo runしてくれます。

rustlings____work_rust_rustlings__-_____src_main_rs

コード編集支援とナビゲーション

Code Completion/コード補完[Ctrl+Space/^Space]やQuick Documentation Look up/関数リファレンス参照[Ctrl+Q/^J]、Refactoring/各種リファクタリング、定義ジャンブ等はCLionのショートカットやアクションがそのまま使えるようです。

completion

rustlings____work_rust_rustlings__-_____src_main_rs_と_rustlings____work_rust_rustlings__-_____exercises_functions_functions2_rs_png

Inspection/静的解析の設定や実行、Show Intention Action/空気を読む による修正も(対応パターンはまだまだ限られているかもしれませんが)実行可能です。

Preferences_と_rustlings____work_rust_rustlings__-____rustup_toolchains_stable-x86_64-apple-darwin_lib_rustlib_src_rust_src_libstd_sync_mpsc_mod_rs

以下は戻り値と思われる式にセミコロンが付いているため、戻り値の方が合わない警告に対するShow Intention Actionによる修正例です(参考:Rustの関数の戻り値について)。

Intention

デバッグ

既に「プロジェクトの選択と実行」の箇所でCargo runを実行済みであれば、Run/Debug構成はできていると思いますので(なければこちらを参考にRun/Debug Configurationを設定してください)、あとはブレークポイントをセットして、虫のマークアイコンからDebugを開始することができます。

注意が必要なのは、現在デバッガ機能は(IntelliJ Rustという名前にもかかわらず)CLionでのみサポートしているということです。理由はRustのデバッグ機能は、LLDB/GDBを使用したネイティブコードに対するデバッグ機能が必要であるためです(IntelliJ IDEAにはその機能はありません)。また(今回はmacOS環境で試していますが)Windows環境の場合、MSVCではなくGNU Rust toolchainが必要であることに注意が必要です(参考 IntelliJ Rust Issueへのリンク)。

debug

おわりに

私にとっても「はじめてのCLion+IntelliJ Rust」ということで、簡単に紹介しました。これから試される方が「完全に理解できるよう」参考になっていれば幸いです。また、既に使い込んでいる方は、こんな便利機能がある等シェアいただけると嬉しいです。

IntelliJ Rustはまだまだ発展途上な雰囲気もありますが、ダウンロード数は着実に増えており、特にデバッガサポート以降、CLion+IntelliJ Rustの組み合わせで使われているケースが一番多いようです。また、CLionはC/C++以外にもRustを含む様々な言語をサポートしていますので、この機会に試してみたい方はCLion 30日トライアル版をご利用ください。一方、IntelliJ Rustのデバッガ以外の機能はIntelliJ IDEAを含むCLion以外のIDEで動作しますし、全て無料の環境で使ってみたい方はIntelliJ IDEA Community + IntelliJ Rustというオプションもあります。

本記事への提案や今後「こんな情報がほしい」等ありましたらフィードバックをお待ちしております。

Posted in CLion, IntelliJ Rust | Leave a comment

JetBrains製品の稟議に役立つ(かもしれない)情報源

こんにちは。JetBrains堀岡です。

先日「「会社で買うなら」知っておきたいJetBrainsのライセンスとお金の話」という内容を紹介しましたが、既に会社の標準開発環境としてJetBrains製品が指定されている場合を除き、JetBrainsを購入するために稟議をあげる必要がある方も多くいらっしゃると思います。私達(=JetBrains製品を販売する立場)としてはせっかく「導入したい」と思っている開発者の皆さんをお手伝いしたいと考えておりますので、今回は稟議の参考資料作りに役に立つ(かもしれない)JetBrains製品に関する情報源を紹介したいと思います。

ringi_large

JetBrains会社概要(日本語版)

課題

「ジェットブレインズ?聞かない名前だね」

という上司や予算承認者の方々へ「JetBrainsとはどういう会社なのか」を紹介するための良い資料はないでしょうか?

対策資料と使い所

JetBrains製品は、日本の開発者コミュニティやTwitter上においては、一定の知名度を得ていると思いますが、予算を管理しているマネジャーの方や設備管理、経営層の方々に対する知名度は改善の余地があると認識しています。

今回JetBrainの会社概要(2018年版)の日本語訳ができました。資料としてはページ数が多いので全て紹介する長くなってしまうと思いますが、例えば以下のポイントがカバーできるページをピックアップすれば良いと思います。

  • 2000年創業のソフトウェアツールベンダー
  • 本社はチェコ、ロシア、ドイツ、米国等にオフィスを構えており、従業員は約1000名(2019年の最新情報
  • メジャーなプログラミング言語をサポートするIDEが主力製品
  • チームツール(CI、チケット管理)、最近注目のプログラミング言語(Kotlin)の開発も行っている
  • 世界的に見ると、有償開発ツールとしてはメジャーな存在であり、スタートアップから大企業まで幅広く採用されており、ユーザ数も多い

スクリーンショット 2019-03-08 16.10.54

スクリーンショット 2019-03-09 0.40.59

IntelliJ IDEAのROI

課題

有償の製品を導入する時に、期待されるROIについて聞かれるケースがあると思いますが、ROIへの考え方は様々であり、何もないところから考えるのは難しいので参考になる資料はないでしょうか?

対策資料と使い所

JetBrainsは昨年(2018年)、第三者機関(Forrester Consulting)による、実際にIntelliJ IDEAを導入しているお客様へのインタービューを行い、JetBrains IntelliJ IDEAの導入によるROIをまとめた資料「The Total Economic Impact™ Of JetBrains IntelliJ IDEA」を発表しました。ここに書かれている内容はあくまで一例ですが、ROIの数値だったり、それをどのような観点で算出しているのか考え方を学ぶ上で有用であると思います。

日本語版サマリー:

JetBrains IntelliJ IDEA は開発者の生産性を最適化し、 コードの品質を向上

https://resources.jetbrains.com/storage/products/intellij-idea/docs/forrester_tei_summary_jp.pdf

英語版(フルバージョン):

The Total Economic Impact™ Of JetBrains IntelliJ IDEA  – Cost Savings And Business Benefits Enabled By IntelliJ IDEA

https://resources.jetbrains.com/storage/products/intellij-idea/docs/forrester_tei.pdf

JetBrains製品と他の製品の比較

課題

(それぞれの会社さんの文化次第かと思いますが)新しいツールを導入する時に「今使っているエディターや開発環境とどう使うの?」と聞かれるケースも少なくは無いと思います。そのための資料をゼロから自分たちで作るのも大変かと思います。何か参考になる資料はないでしょうか?

対策資料と使い所

JetBrains StoreのFor Business というページに、本記事と同様、ROI等ビジネスの観点からJetBrains製品がどう役立つかという資料が英語でまとめられています。このページの真ん中付近に以下のような製品毎の情報提供を行うセクションがあり、「Product Comparison to Competitors」という資料の中で類似製品との機能比較がまとめられています。古い資料もありますが、(不毛だなあと思いながら)何かしら比較表を作らないといけない場合には役に立つのではないでしょうか。

ProductComparison

以下に現在利用可能な比較資料へのリンクを掲載します。

また、有償製品の場合、技術サポートが付いてくるのもメリットの1つかと思います。公式サポートサイトの利用法については「最近始めた人、これから始めたい人向けJetBrains製品関連の情報源(2018年10月版)」を御覧ください。

組織固有の課題

ここまでは稟議の参考資料として必要になるような一般的な情報について紹介してきました。一方で、(当たり前の話ですが)JetBrains製品の導入が組織固有の課題への解決の助けになるということを言及することも重要かと思います。よくありそうな例を挙げてみましたが、「こんな感じで(社内で)提案したいんだけど、こんな情報ありませんか」等ご相談いただければ、可能な限りご支援いたします。

例:

  • (チーム拡大等による)コード品質のばらつきをなくすために、インスペクション(静的解析)やフォーマッタの利用を確実に行いたい
  • 大規模レガシーコードの保守や拡張を効率良く行うためには、IDEによるコーディング支援が必要不可欠
  • 新しく採用したプログラミング言語やフレームワークでは、IDEの活用により大幅な生産性の向上が可能
  • 開発者が開発環境を構築する手間を最小限にしたい(JetBrainsの各言語に特化したIDEなら各プログラミング言語開発に必要なプラグインが予めインストールされており、カスタマイズの手間とトラブルを最小化することが可能です)

おわりに

「JetBrains製品使ってみたいけど、稟議がー」という声を時折聞くことがあったのと、「JetBrainsのマーケティング資料、(少なくとも日本では)あまり知られていなくて有効活用されていないのでは?」という思いがあったので、今回まとめてみました。これだけでは足りないこともあると思いますので、「会社内での稟議のためにこんな資料/情報があると嬉しい」というご要望、ご相談がございましたら、弊社Sales Supportやtwitter等でお知らせください。

Posted in お知らせ, ライセンス | Leave a comment

「会社で買うなら」知っておきたいJetBrainsのライセンスとお金の話

こんにちは。JetBrains堀岡です。

今年も昨年同様、開発者様向けイベント等に参加して勉強させてもらっております。

一方で、私の本来の仕事は営業なので、今回は「会社(法人)で買う場合」のライセンスについてご理解頂きたいポイントをいくつか紹介したいと思います。

以下の話はエンジニアの皆様に役立つ技術的な話ではありません。現在会社や組織においてライセンス購入や管理を担当されている方、これから購入を提案・検討されている方にご参考にしていただけますと幸いです。

jb_blog_license_and_money

ライセンスの種類(法人・個人)について

ご存知の方も多いと思いますが、IntelliJ IDEAをはじめとするJetBrainsのIDE製品のライセンスの種類は代表的なものとしてCommercial License(法人ライセンス)Individual/Personal License(個人ライセンス)があります。両者の大きな違いはこちらに説明がありますが、

であり、ライセンス規約にも記載されています。

個人ライセンスについて補足すると、こちらにあるように個人ライセンスであっても業務利用は可能です。したがって、「プロとして自分が使うツールは自腹を切って準備する」や「諸般の事情から会社ではJetBrainsのライセンスを買ってもらえないので自腹を切らざるを得ない」という方、個人事業主(フリーランス)の方が個人ライセンスを業務利用することは全く問題ありません。

一方で、「会社の経費で買うんだけど、安いから個人ライセンス」という選択はライセンス規約違反となりますのでご注意ください。また時折、個人ライセンスをご利用のお客様から「会社で経費精算したいので、Invoiceの宛先を法人にして欲しい」というご要望をご連絡頂くことがあるのですが、当然ながら出来かねます。

「今まで間違った理解で会社の経費で個人ライセンスを買っていた私はどうしたらいいの?」という方がいらっしゃいましたら、JetBrains営業窓口日本語で問い合わせ可能です)または、ご購入いただいている代理店様まで(こっそり)ご相談ください。

参考

JetBrainsが提供するライセンスの種類、許可されている用途、ライセンス条件の比較

https://www.jetbrains.com/store/terms/comparison.html#LicenseComparison

法人ライセンスのメリット

法人ライセンスは個人ライセンスと比較すると一見割高に思えるかもしれませんが、以下に紹介するように、法人におけるユースケースを考慮した、法人ライセンスにしかないメリットが複数あります。

JetBrains Accountを利用したライセンスの再割当て

法人ライセンスを購入すると、法人用JetBrains Accountが作成され、1名以上のユーザを管理者として指定することができます。管理者ユーザはライセンスを自分自身や他のユーザにAssign(割り当て)したり、割り当て済みのライセンスをRevoke(無効化)することができます。法人ライセンスの場合、ライセンスの所有者は法人です(個人ではない)ので、このような事ができる訳です。したがって、例えば

  • プロジェクトの完了、変更、中止
  • 従業員の異動、退職

等によりあるユーザが利用していたライセンスが不要になった場合、別のユーザに割り当てることができるので、余剰ライセンスを有効活用することができます。この仕組みを上手く利用すれば、組織内において一定のライセンス数の需要がある場合は、継続割引(2年目20%、3年目40%)を失効させることなくライセンスを更新できるので、チームやプロジェクトの変更の度に解約や新規にライセンスを買い直したりするよりも支出を抑えることができます。

参考

How do I manage and distribute licenses within my organization?  (JetBrains)

https://sales.jetbrains.com/hc/en-gb/articles/207240825-How-do-I-manage-and-distribute-licenses-within-my-organization-

組織でのJetBrainsアカウントの管理(サムライズム様)

https://support.samuraism.com/hc/ja/categories/360000215334-JetBrains

組織内ライセンスサーバーを利用したフローティングライセンス

1法人JetBrains Accountあたり50以上の有効なJetBrains IDEのサブスクリプション契約をお持ちのお客様は、お客様環境でライセンスサーバー立てることにより、JetBrains IDE製品のフローティングライセンスを利用することが可能です。この仕組みのメリットは、JetBrains Account管理者が明示的にライセンスを割り当てることなく、ユーザによるライセンスの取得・開放ができるので、管理コストを抑えつつライセンスを有効活用することができる事です。

一方で、ユーザ数に対してライセンス数が極端に少ない状況でライセンスサーバーを利用してしまうと、ライセンスの取り合いが発生してしまい、必要なときにライセンスを取得できないユーザは開発が行えないという状況が発生する可能性があるので注意が必要です。

ライセンスサーバーを利用する場合、ライセンスの利用状況はJetBrains Accountから確認することができます。したがって、ライセンス管理者はフローティングライセンスの利用状況を定期的に確認し、必要に応じて追加購入等によりライセンス数を調整する必要があります。

なお、ライセンスサーバーの利用には申請が必要です。ご興味のある方は、JetBrains営業窓口日本語で問い合わせ可能です)または、ご購入いただいている代理店様までご相談ください。

参考

Floating Serverに関するFAQ(JetBrains)

https://www.jetbrains.com/help/license_server/faq.html

ディスカウント

法人ライセンスをご利用のお客様の場合以下のディスカウントが利用可能です。

ボリュームディスカウント

1法人JetBrains Accountあたり10以上のサブスクリプションをご契約いただいているお客様に対しては、JetBrains Storeから購入される場合は、有効なサブスクリプション数に応じてボリュームディスカウント(私[営業]と交渉することなく)自動的に適用されます。更に多くのサブスクリプションを購入される場合のボリュームディスカウントについては別途ご相談ください。また、代理店様から購入されている場合は、各代理店毎に独自のプログラム等がございますので、代理店様にぜひご確認ください。

ここで一点重要なポイントがあります。それはボリュームディスカウント(フローティングライセンスも同じです)はJetBrains Accountあたりの有効なサブスクリプション数に応じて適用されるということです。例えば、部署ごとやプロジェクト、メンバーごとにJetBrains Accountが別々に存在する場合、現在の仕組みではそれらを合算してボリュームディスカウントを適用することはありません。したがって、ボリュームディスカウントによる恩恵を最大限享受したい場合、1社につき1つのJetBrains Accountとしていただくのがベストです。現在、日本国内において、数百ライセンス以上をお使いいただいているお客様の多くでは、購買部門やインフラ部門、技術支援部門等でJetBrains Accountを管理頂いているパターンがほとんどです。なお、JetBrains Accountが1つであっても、部門ごとに購入先や支払い方法を分けたり、チームごとにライセンス管理を行う機能ができるので、そのあたりは柔軟な対応および運用を行うことが可能です。以下の「購買担当者様向け JetBrains Account統合のご提案」プレゼンテーションも御覧ください。

JBAccountProposal

ということで、現在社内でバラバラで購入されているJetBrainsのサブスクリプションを1つまたは複数のJetBrains Accountにまとめたい場合は、JetBrains営業窓口日本語で問い合わせ可能です)または、ご購入いただいている代理店様までご相談ください。

スタートアップ割引

設立後5年未満の非公開企業(ただし、公開企業の子会社設立、事業譲渡、統合等による場合は除く)に対しては、

・10ライセンスまで

・最初の購入から60ヶ月間

という条件でスタートアップ企業への割引(Startup Discount)を提供しています。

もしスタートアップ割引を利用したい場合はJetBrains Startup Discount申し込みサイトまたは代理店様までご連絡ください。

ライセンス期間について

多くのお客様は予算やプロジェクト期間に応じて

  • Yearly billing(年払いライセンス)
  • Monthly billing(月払いライセンス – ※ JetBrains Storeにおけるカード/PayPal払いでのみ対応)

でお使いいただいていると思いますが、

  • 「一年以上のプロジェクト期間に合わせて一括で購入したい」
  • 「追加購入を繰り返した結果、サブスクリプション期間や発注手続きがバラバラになっていて面倒。一括で購入できるようサブスクリプション期間をまとめたい」
  • 「追加購入するライセンスについては、次回は一括発注できるよう、追加購入分のサブスクリプション終了日付を既存のライセンスと合わせたい」

等ご要望に合わせて調整することが可能です。調整やお手伝いが必要な方はJetBrains営業窓口日本語で問い合わせ可能です)または、ご購入いただいている代理店様までご相談ください。

まとめ

JetBrains IDE製品のライセンスを「会社の経費で購入する」場合の重要なポイントについて、日本語でご紹介いたしました。年度末、新年度を迎えるにあたって、JetBrains製品の購入や更新を検討いただいているお客様に少しでも役立つ情報提供ができていれば幸いです。

その他ライセンスや購入等について、ご相談が必要でしたら、いつでもお気軽にお声がけください。

Posted in お知らせ, ライセンス | 2 Comments

Rider 2018.3の新機能

このブログポストでは Rider 2018.3 の新機能と、コーディングをさらに簡単にするための改善点を紹介いたします。サムライズム様による新機能の翻訳はこちらになります。

Rider 2018.3 is released

2018.3の新機能と改善点:

  • Code Vision: コードエディタでコードに関する有用な情報を確認できる新しい方法を試してみてください。 Usagesversion control infoderived typesextension methodsexposing APIs を追加の操作なしで簡単に表示できます。

code-vision-blog

  • SSH経由のリモートデバッグ:リモートマシン上でアプリケーションをデバッグする必要がありますか? 問題ありません。 “Attach to Remote Process…” アクションを呼び出して、プロセスにアタッチできます。 .NET Full/Core および Mono デバッガがサポートされています。
  • Rename Project リファクタリング: 手動のプロジェクトの名前変更はもう不要です。 このリファクタリングを呼び出して、簡単にできます。
  • Assembly Explorer で複数のアセンブリを開くことができるようになりました。また、開いているすべてのアセンブリで移動、または探索することもできます。

assembly-explorer-blog

  • Zero-latency(ゼロ遅延)タイピング:コードの再フォーマットなどの時間のかかる作業を実行するスマートタイピングアシストでも、RiderのUIはブロックされず、エディタはスムーズのままです。
  • Launch Settings(起動設定) ASP.NET Core プロジェクトで launchSettings.json ファイルがサポートされるようになりました。
  • 設定の Search Everywhere(どこでも検索) ポップアップおよび Plugins(プラグイン) ページのデザインを一新しました。
  • 強化された C# and VB.NET サポートには、C#7 deconstructions サポートの改善、または VB.NET 15.3および15.5 の言語サポートが含まれています 。
  • 統合されたパフォーマンスプロファイラ。 現在、プロファイリング機能はWindowsでのみ利用可能です。

integrated-profiler

  • Type Hierarchy(型階層) ツールウィンドウ:Navigate | Type Hierarchy で型の継承階層を調べることができます。
  • Web開発 Angular サポートの改善、 JavaScript での自動インポートの改善、 Node.js ワーカースレッドのデバッグ、 TypeScript 3.1 機能のサポートなど。
  • VCSのサポート GitHubプルリクエスト をIDEで管理し、Gitサブモジュールを操作できます。
  • Android開発:WYSIWYGデザイナー、 AXML Android Manifest ファイルのコード補完、SDK / AVD マネージャなど、Android Studioの多くの組み込みツールと機能が利用可能になりました。
  • C#とVB.NETのインラインパラメータ名のヒントが導入されています。
  • アップデートされた NuGet サポートは新しい Find this type on nuget.org アクション、 Install missing .NET Core Adapter クイックフィックスおよびNuGetウィンドウでのより高速で正確な検索を提供。
  • 新しい言語インジェクション:現在、SQLと他のIntelliJ IDEA言語インジェクションはC#文字列リテラルをカバー。

sql-injection-blog

  • F#のサポートがアップデートされました。 新しい F#レクサーは、IntelliJ IDEAのフロントエンドとReSharperのバックエンドの両方で機能します。Renameリファクタリングはローカルシンボルに対して機能します。 また、Find Usagesには新しいグループ化タイプがあります。
  • アップデートされたデータベースサポートは、もう1つの NoSQL データベースのCassandra とSQLコード補完でのいくつかの改善を提供。
  • Unityのサポートをアップデート:新しいインスペクションはあなたのUnityコードのパフォーマンスを注意深く見守ります。 その他には、 scene / prefab / asset ファイルからメソッドとクラスの使用箇所の取得が可能になり、 Unity Explorer がLinuxで表示できるようになりました!
  • その他の機能:式エバリュエーターの内部に新しいエンジンを導入しました。実体宣言( entity declaration)で Ctrl +クリックを使うと、usagesを表示できます。 Move to Resource Inline ResourceMove ResourceRename Resourceリファクタリングが利用可能になりました。 ‘Build only this project without dependencies(依存関係のないこのプロジェクトのみを構築する)‘ ができるようになりました。 その他にもあります!

これらの新機能や機能強化の詳細については、What’s New in Rider 2018.3(英)をご覧ください。 このリリースでのバグフィックスのリストは、issue trackerページをご参照ください。「JetBrainsのクロスプラットフォーム対応.NET IDE「Rider」誕生までの歴史とそのアーキテクチャ」のブログポストもお勧めです!

Riderをダウンロード

フィードバックも大歓迎です!

[原文Original post in English is written by Alexander Kurakin

Posted in Rider, お知らせ | Leave a comment