Пара замечаний по 4.5 beta (билд 1208)
От: Аноним  
Дата: 18.03.09 15:58
Оценка:
Здравствуйте,

Прежде всего не могу не отметить, что эта версия меня очень приятно удивила.
До этого я время от веремени ставил разные билды начиная с третей версии и ото всех был просто в ужасе.
Как с точки зрения производительности так и по функционалу (да, его гораздо больше чем у аналогов, но детали реализации всё убивали).
В текущей версии всё выглядит очень прилично и даже не жалко за это заплатить.

Однако после дня использования возникла пара замечаний.

Во-первых, больше всего меня в решарпере радует возможность кастомизируемой подсветки с учетом анализа кода.
Но периодически вылазят мелкие баги. Например, в следующем коде при включенной подсвтеке локальных переменных переменная xxx подсвечивается, но x нет
void f()
{
    var xxx = new int[32];
    foreach (int x in xxx)
    {
        x.ToString();
    }
}

Конечно, может быть для этого есть отдельная настройка, но я не нашел.
Еще было бы очень приятно видеть возможность отдельной подесветки статических методов.

Во-вторых, наконец-то появилась возможность отключать анализ сгенерированного кода.
Но иногда возникает необходимость, что-то поправить в коде для winforms руками, что приводит к ошибкам.
Может быть стоит не отключать анализ на ошибки (опционально), т.к. ошибки компиляции студия показывает и без решарпера.

В-третьих, пришлось отключить решарповкий интеллисенс и вернуть родной, т.к. решарпер не показывает описания методов/свойств. Не знаю бага это или фича, но не удобно.

Спасибо
Re: Пара замечаний по 4.5 beta (билд 1208)
От: xvost Германия http://www.jetbrains.com/company/people/Pasynkov_Eugene.html
Дата: 18.03.09 16:13
Оценка:
Здравствуйте, Аноним, Вы писали:

А> Например, в следующем коде при включенной подсвтеке локальных переменных переменная xxx подсвечивается, но x нет


Какую подсветку ты имеешь в виду? То что xxx подсвечивается жирным? Так это правильно, поскольку xxx — immutable, а x — mutable переменная

А>Но иногда возникает необходимость, что-то поправить в коде для winforms руками, что приводит к ошибкам.

А>Может быть стоит не отключать анализ на ошибки (опционально), т.к. ошибки компиляции студия показывает и без решарпера.

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

А>В-третьих, пришлось отключить решарповкий интеллисенс и вернуть родной, т.к. решарпер не показывает описания методов/свойств. Не знаю бага это или фича, но не удобно.


Показывает.
С уважением, Евгений
JetBrains, Inc. "Develop with pleasure!"
Re[2]: Пара замечаний по 4.5 beta (билд 1208)
От: orangy Россия
Дата: 18.03.09 16:33
Оценка:
Здравствуйте, xvost, Вы писали:

А>> Например, в следующем коде при включенной подсвтеке локальных переменных переменная xxx подсвечивается, но x нет

X>Какую подсветку ты имеешь в виду? То что xxx подсвечивается жирным? Так это правильно, поскольку xxx — immutable, а x — mutable переменная
Должно быть строго наоборот, mutable должен быть жирным. Я подозреваю, что кастомная настройка локальных переменных была применена только к immutable.
... << RSDN@Home 1.2.0 alpha rev. 655>>
"Develop with pleasure!"
Re[2]: Пара замечаний по 4.5 beta (билд 1208)
От: Аноним  
Дата: 18.03.09 18:02
Оценка:
Здравствуйте, xvost, Вы писали:

X>Какую подсветку ты имеешь в виду? То что xxx подсвечивается жирным? Так это правильно, поскольку xxx — immutable, а x — mutable переменная

Не совсем понимаю при чеё здесь mutable и immutable — опция с называнием local variable identifier должна влиять на локальные переменные.

void f()
{
    var sbList = new List<StringBuilder>();
    foreach (var sb in sbList)
    {
        sb.ToString();
    }

    for (int i = 0; i < 10; ++i)
    {

    }
}

Здесь sb и sbList явно mutable (sb не подсвечивается). Если имелось ввиду что переменная в forech фактически readonly, то и в простом цикле for идентификатор i не подсвечивается как локальная переменная.

X>Там все именно так как ты говоришь. Т.е. файлы парсятся, но не анализируются. И все должно работать как часы.

X>Приведи плиз пример когда происходит лажа
Создаем новую форму, кладем на неё кнопку. Открываем designer.cs и удяляет строчку с декларацией кнопки.
Теперь при компиляции студия ругается на неизвестную переменную, которая добавляется в список контролов в сгенерированном коде.
Без решарпера студия подсвечивает ошибки компиляции волнистой линией даже без компияции. С решарпеорм же, даже после перекомпиляции ошибки не отображаются в редакторе.

А>>В-третьих, пришлось отключить решарповкий интеллисенс и вернуть родной, т.к. решарпер не показывает описания методов/свойств. Не знаю бага это или фича, но не удобно.

X>Показывает.
Действительно показывает Видимо в прошлый раз что-то еще не до конца подгрузилось.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.