PhpStorm & WebStorm 2.1 EAP build 106.444

PhpStorm & WebStorm 2.1 EAP is started. Build 106.444 is available immediately with pack of new features, important bugfixes, performance and usability improvements. Most notable:

  • Memory usage was improved leading to overall performance improvement, especially for batch code inspection
  • Tons of fixes and improvements from IntelliJ IDEA platform 10.5 (branch 106) are included starting from this build, including:
  • PHP support enhancements
    • Extract function/method refactoring implemented for PHP
    • Create parameter quick fix for PHP “Undefined local variable” inspection
    • Code inspections
      • Detect self assignments
      • Illegal type of array key
      • Return type inconsistency inspection for mixed “void” & “value” return statements
    • PHP Doc inspections for missing and mismatched doc comments with generate or update doc quick fixes, accessible from batch inspection results
    • Type inference engine and library subs improved
  • JavaScript debugger break on exception
  • CSS completion for previously used colors
  • Exclude single file from project by mapping it to plain text. More details in dedicated post
  • HAML support bundled
  • .htaccess support added, including completion, quick doc, regex fragments and path mapping support. More details to follow in dedicated post
  • HTML tag tree highlighting added

More details available on build changelog

Stay tuned for more info on new features and do not hesitate with your feedback – the 2.1 schedule is pretty tight!

Download PhpStorm & WebStorm 2.1 EAP build 106.444 for your platform from project EAP page.
Note that release builds will NOT prompt for update and patch is not available for this build.

Develop with pleasure!
-JetBrains Web IDE Team

This blog is permanently closed.

For up-to-date information please follow to corresponding WebStorm blog or PhpStorm blog.

 
This entry was posted in Early Access Preview, PhpStorm, WebStorm and tagged , . Bookmark the permalink.

17 Responses to PhpStorm & WebStorm 2.1 EAP build 106.444

  1. thaddeusmt says:

    Awesome! Can’t wait for the method extraction and the .htaccess support!

  2. Alexey Gopachenko says:

    @thaddeusmt No need to wait – just download and use :)

  3. Sergei Kuznetsov says:

    Не стартует с профилем из предыдущей версии (2.01). Показывает только splash screen. Решение: удалил папку system из профиля.

  4. Misha says:

    Была такая же проблема. Но насколько понимаю вопрос был в плагине синхронизации настроек. Так что удалил вручную этот плагин из папки .WebIde10/config/plugins

  5. alex says:

    Very nice. Thanks.

  6. Sergei Kuznetsov says:

    >> Misha Says: April 11th, 2011 at 2:44 pm
    >> Была такая же проблема

    Да, вполне возможно, т.к. плагин позже пришлось обновить ибо не работал.

    P.S. Плагин настроек удобный, но парит что на разных компах у меня разный размер шрифта и плагин постоянно его меняет на всех машинах, приходится руками каждый раз исправлять либо использовать плагин только для первичной синхронизации.

  7. Alex Andrienko says:

    Extract function/method refactoring looks nice, but that’s just a prototype yet. I hope you’ll improve it in next EAP.
    .htaccess support is sure nice to have.
    As for memory usage, it still fails for me with default parameters, I had to increase it to 800M heap/250M perm. Still, there’s lots of nice changes in this version, thank you and keep it up!

  8. Alex Andrienko says:

    Some more feedback on .htaccess support.
    It is not possible to to comment/uncomment lines by usual keystroke (Ctrl+/)
    It doesn’t auto-complete php_value directive.
    It doesn’t auto-complete values for known directives. Might not be worth the effort, but there probably are available BNF definitions for most modules, that can be used for that, and it would be convenient to be able to use auto-complete for all 3 parts of such expression:
    RewriteCond %{REQUEST_FILENAME} !-f
    and not only for the first part of it.

  9. Nikolay Matveev says:

    @Alex
    We are not considering the current implementation of ‘Extract function/method’ refactoring as prototype. Please provide some more feedback about this refactoring in PhpStorm.

  10. Alex Andrienko says:

    Ok, I took some random example of “extract method/function” illustration from web ( http://www.codediesel.com/refactoring/refactoring-2-extract-method/ ) with some slightest modifications.

    Let’s say, we’ve got the following function:

    function getRoomPoints($roomPrice)
    {
    $currency_code = “GBP”;
    // start selection for “extract function”
    /* $forex is an array containing exchange rates */
    $forex = array(“gbp”=>1.2, “eur”=>.75, “usd”=>1);
    $_factor = 0;

    switch($currency_code)
    {
    case “GBP” : $_factor = 1/$forex['gbp'];
    break;
    case “USD” : $_factor = 1;
    break;
    case “EUR” : $_factor = 1/$forex['eur'];
    break;
    default : $_factor = 1;
    break;
    }
    // End selection for “extract function”
    return $roomPrice * $_factor;
    }

    What would be expected is to get something like this:

    function getRoomPoints($roomPrice)
    {
    $currency = $_service_hotel['Currency']['code'];
    $_factor = getConversionRateFactor($currency);
    return $roomPrice * $_factor;
    }

    function getConversionRateFactor($currency_code)
    {
    $_factor = 0;
    $forex = array(“gbp”=>1.2, “eur”=>.75, “usd”=>1);

    switch($currency_code)
    {
    case “GBP” : $_factor = 1/$forex['gbp'];
    break;
    case “USD” : $_factor = 1;
    break;
    case “EUR” : $_factor = 1/$forex['eur'];
    break;
    default : $_factor = 1;
    break;
    }

    return $_factor;
    }

    while in practice you’ll get that:

    function getRoomPoints($roomPrice)
    {
    $currency_code = “GBP”;

    /* $forex is an array containing exchange rates */
    getConversionRateFactor($currency_code, $_factor);

    return $roomPrice * $_factor;
    }

    function getConversionRateFactor($currency_code, &$_factor)
    {
    $forex = array(“gbp” => 1.2, “eur” => .75, “usd” => 1);
    $_factor = 0;

    switch ($currency_code)
    {
    case “GBP” :
    $_factor = 1 / $forex['gbp'];
    break;
    case “USD” :
    $_factor = 1;
    break;
    case “EUR” :
    $_factor = 1 / $forex['eur'];
    break;
    default :
    $_factor = 1;
    break;
    }
    }

    By the way, you cannot “extract method” from a snippet of code, that starts with block comment, but that’s minor.
    What’s more important, you cannot make extracted method return value, instead of passing it by reference, which might be fine, if you really want to extract a method, that will mess with more than one variable, otherwise, that a bad practice. Bad to the extent, that I’d rather ban usage of this automated refactoring in my company, then deal with the mess it’ll cause.

  11. Nikolay Matveev says:

    @Alex
    Could you please please a new issue to our tracker – http://youtrack.jetbrains.net/issues/WI#newissue=yes?

  12. Ivan1986 says:

    Здравствуйте
    Не знаю, куда еще написать, поэтому напишу сюда

    Обращаюсь к разработчикам – как вы считаете, возможно имеет смысл организовать репозиторий для debian/ubuntu, так как сейчас ubuntu самый популярный дистрибутив. (разуммется и остальные, если есть желание)
    Самый главный плюс репозитория – обновления, организовать его довольно просто, времени отнимет мало.
    Я сейчас собираю deb пакет phpstorm EAP – он нормально работает, и сейчас по сути только обновления, но он собран возможно не самым лучшим образом, так как у меня нету доступа к исходным кодам.

  13. Alexey Gopachenko says:

    @Ivan1986 This was discussed before – yes, we plan to create deb repository in future, however no estimate is available for this task.

  14. Ivan1986 says:

    @Alexey
    Thanks, I’ll wait for change.

  15. Antoine says:

    Heya, im getting an out of memory issue.
    i increased it to 2048/512 but im still having a problem with Xmx on OS X 10.6.7

  16. Rob says:

    I’m also getting out of memory exceptions with 2.1
    The XMX setting does not save and doesn’t seem to help

    Rob

  17. J says:

    I’m getting constantly out of memory errors too, what the hell? It doesn’t even use all the memory according to the memory bar on the bottom!

Comments are closed.