Решил попробовать интеграцию, да не тут то было.
От: torquemada  
Дата: 20.12.07 23:04
Оценка:
Имею Visual Studio 2005 + SP1 + некоторое кол-во плагинов к нему, в том числе resharper
Опишу подробно даже мелочи, которые вспомню, не ради занудства, а для того, быть может они пригодятся разработчикам.

Установка:
1. Установил November CTP.
2. Забрал 7564 ревизию ncc отсюда

Тестирование:
1. doubleclick на Nemerle.sln отвечает абсолютной тишиной.
Подозреваю что это не баг, а фича, связаная с нежеланием чего то регистрировать в момент инсталляции ?
Подозреваю это потому, что Kaspersky Internet Security за время инсталляции пискнул два раза — в начале и в конце по поводу ветки реестра runonce. Если это так, рекомендую вынести в FAQ (кстати, где он ? )
2. Запустил VS, из него открыл Nemerle.sln почти успешно (решарпер вывалил исключение)
3. Скомпилировал успешно.
4. Открыл main.n и не обнаружил никакой подсветки синтаксиса (чёрно-белый текст как в блокноте), долго возился, выискивал настройки влияющие на эту ситуацию, ничего не обнаружил (Nemerle\Options... отреагировал абсолютной тишиной, т.е. пункт есть, но ничего не происходит)
5. Открыл ещё какой то произвольный *.n файлик из соседнего проекта и пожалел что не сделал этого раньше (хотя пробовал много раз открывать и закрывать main.n)
6. Создал новый проект, убедился что подсветка в нём работает, удалил новый проект.
7. Закрыл\открыл решение (без сохранения *.sln).
8. Открыл main.n уже с подсветкой, но с таким списком ошибок во время проверки синтаксиса (компиляция по прежнему успешна):


9. Долго пытался выяснить что же такое Highlighting (и всё таки, где FAQ ? ), случайно наткнулся на еле заметное подсвечивание элементов кода при наведениии, и решил что это оно... итак, если это оно самое, то оно работает исключительно в файле main.n (применительно к конкретной описываемой ситуации).
10. Обнаружил такую штуку, как всплывание жёлтого окошка видимо о декларации типа, на который наводишь курсор мыши, опять же обнаружил это в файле main.n, попробовал повторить эту штуку в других проектах, результат тот же что с п.9, за исключением того, что окошко всплывает при наведении на имя класса в его декларации (например на "ILEmitter" в строке "class ILEmitter").

Так случилось, что моё знакомство с Nemerle состоялось исключительно из за желания заглянуть поглубже в устройство самого компилятора, соответственно меня совершенно не интересует вариант "создавай новый проект и работай в нём".
Вобщем пошёл дальше пытаться победить эту мельницу.
Да, забыл уточнить, п.8 по прежнему актуален.

to Vlad2: намедни отписал на форум в личку, тогда ещё не знал о существовании этого проекта, вот узнал, и тем не менее то сообщение считаю абсолютно актуальным, только уже наверное применительно к этой интеграции, и самому ncc.
Re: Решил попробовать интеграцию, да не тут то было.
От: torquemada  
Дата: 21.12.07 01:20
Оценка:
Здесь ошибся

T>Установка:

T> 1. Установил November CTP.
T> 2. Забрал 7564 ревизию ncc отсюда

7858 ревизия ncc
Re: Решил попробовать интеграцию, да не тут то было.
От: Блудов Павел Россия  
Дата: 21.12.07 02:36
Оценка:
Здравствуйте, torquemada, Вы писали:

T>Имею Visual Studio 2005 + SP1 + некоторое кол-во плагинов к нему, в том числе resharper

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

T>Установка:

T> 1. Установил November CTP.
T> 2. Забрал 7564 ревизию ncc отсюда

T>Тестирование:

T> 1. doubleclick на Nemerle.sln отвечает абсолютной тишиной.
T> Подозреваю что это не баг, а фича, связаная с нежеланием чего то регистрировать в момент инсталляции ?
Посмотрите внутрь — оэто обычный файл солюшена 2005 студии. Проблема видимо в том, что он создавался не студией, а ручками.
Поэтому devenv.exe его понимает, а VSLauncher почему-то нет. Я пересоздал этот солюшен как ansi — заработало.

T> Подозреваю это потому, что Kaspersky Internet Security за время инсталляции пискнул два раза — в начале и в конце по поводу ветки реестра runonce. Если это так, рекомендую вынести в FAQ (кстати, где он ? )

Интеграция ничего не пишет ни в runonce, ни в run. Возможно, это из-за bootstrapper'а.

T> 2. Запустил VS, из него открыл Nemerle.sln почти успешно (решарпер вывалил исключение)

Это он любит. Особенно если в солюшене есть одновременно проекты на C# и Немерле. Пишите в соответствующем форуме, может поправят в новой версии.

T> 3. Скомпилировал успешно.

T> 4. Открыл main.n и не обнаружил никакой подсветки синтаксиса (чёрно-белый текст как в блокноте)
Дальше можно было не возиться. Проблема Nemerle.sln в том, что в нём несколько проектов. А в компиляторе есть куски, которые завязаны не одну единственную глобальную переменную. Поэтому в каком-то одном проекте солюшена всё будет работать как ожидалось, а в остальных только с долей вероятности.
Проблема это известная, но пока ни у кого руки не дошли заняться ею вплотную.

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

А теперь представь, какие ловкие парни те, кто пишет интеграцию для студии, не имея возможности использовать интеграцию со студией.
... << RSDN@Home 1.2.0 alpha rev. 786>>
По поводу Nemerle.sln
От: Блудов Павел Россия  
Дата: 21.12.07 02:54
Оценка:
Здравствуйте, torquemada!

Вот тут объясняется почему nemerle.sln не открывается:
https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=248857

В 2008 студии эта бага исправлена.
Для 2005 нужно пинать поляков чтобы отключили для этого конкретного файла преобразование CR/LF, если это вообще возможно.
... << RSDN@Home 1.2.0 alpha rev. 786>>
Re: По поводу Nemerle.sln
От: torquemada  
Дата: 21.12.07 03:15
Оценка:
Здравствуйте, Блудов Павел, Вы писали:

БП>Вот тут объясняется почему nemerle.sln не открывается:

БП>https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=248857

БП>В 2008 студии эта бага исправлена.

БП>Для 2005 нужно пинать поляков чтобы отключили для этого конкретного файла преобразование CR/LF, если это вообще возможно.

Эх, это не самая большая проблема, вернее впринципе для меня вообще не является проблемой открыть проект "ручками".
Самый главный вопрос в том, что как я уже говорил, хотелось повозиться с нормальным VS nemerle проектом компилятора.

БП>Дальше можно было не возиться. Проблема Nemerle.sln в том, что в нём несколько проектов. А в компиляторе есть куски, которые завязаны не одну единственную глобальную переменную. Поэтому в каком-то одном проекте солюшена всё будет работать как ожидалось, а в остальных только с долей вероятности.

БП>Проблема это известная, но пока ни у кого руки не дошли заняться ею вплотную.

Самое главное, я не понял, танцы с бубном не помогут и нужно решать суть проблемы ?
Если помогут, можно что то об этих танцах намекнуть, если нет, можно насчёт этой проблемы немного подробнее, или ткнуть носом в какой то текст по ней ?
Форум пробежал весь с самого его создания (май 2006), где-то что-то встречал на начальных стадиях развития интеграции, но что-то очень незначительное...
Re[2]: Решил попробовать интеграцию, да не тут то было.
От: torquemada  
Дата: 21.12.07 03:25
Оценка:
БП>А теперь представь, какие ловкие парни те, кто пишет интеграцию для студии, не имея возможности использовать интеграцию со студией.

Извиняюсь за оффтоп, и очень ответственно заявляю, что искренне восхищён этими ловкими парнями ! Собственно если бы не они (вы), прошёл бы мимо.
И вообще, этот проект, единственный найденый мной путём долгого "гуленья", который теоретически способен разрешить мой интерес, короче он реально уникален, могу ему сопоставить лишь два проекта, mcs (mono) и cscc (dotgnu).
Не удивляйтесь такому сравнению, оно связано с тем, что меня заинтересовало в этом проекте.
Re[2]: По поводу Nemerle.sln
От: Блудов Павел Россия  
Дата: 21.12.07 06:25
Оценка:
Здравствуйте, torquemada, Вы писали:

T>Эх, это не самая большая проблема, вернее впринципе для меня вообще не является проблемой открыть проект "ручками".

T>Самый главный вопрос в том, что как я уже говорил, хотелось повозиться с нормальным VS nemerle проектом компилятора.
Все остальные проблемы у меня не воспроизводятся.
Сходу могу выдвинуть две версии: Немерль установлен не в %ProgramFiles%\Nemerle и нет одноимённой переменной среды чтобы его найти.
Или, как вариант, мы имеем дело с Win64, с которой интеграция не дружит.
Советиую глянуть в логи студии и решарпера. Возможно там будут какие-то намёки.
... << RSDN@Home 1.2.0 alpha rev. 786>>
Re[3]: По поводу Nemerle.sln
От: torquemada  
Дата: 21.12.07 09:00
Оценка:
Здравствуйте, Блудов Павел, Вы писали:

БП>Сходу могу выдвинуть две версии: Немерль установлен не в %ProgramFiles%\Nemerle и нет одноимённой переменной среды чтобы его найти.


действительно не было переменных, добавил, проверил что ncc виден из любого места, результат не изменился
полная картина такая:
1. Запускаю VS, из него решение Nemerle.sln
2. Пробую открыть *.n файлы из разных проектов, правильно (с подсветкой синтаксиса, с навигацией, и с подсветкой при наведении указателя мыши) открываются файлы исключительно из проектов Nemerle (он назначен запускаемым по умолчанию, пробовал назначать другой, и перезапускаться — результат не меняется)
3. Закрываю\открываю решение (не перезапуская VS) — файлы из проекта Nemerle по прежнему открывается как положено, из NCC и Nemerle.MSBuild.Tasks с подсветкой синтаксиса, с навигацией, и с подсветкой при наведении указателя мыши, но с ошибками, из Nemerle.Compiler, Nemerle.Macros с подсветкой синтаксиса, без ошибок, но и без всего остального

БП>Советиую глянуть в логи студии и решарпера. Возможно там будут какие-то намёки.


никаких ошибок
Re: Решил попробовать интеграцию, да не тут то было.
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.12.07 13:21
Оценка:
Здравствуйте, torquemada, Вы писали:

T>Установка:

T> 1. Установил November CTP.
T> 2. Забрал 7564 ревизию ncc отсюда

Это уже нельзя делать. Версия компилятора должна соотвествовать версии интеграции. Иначе будут глюки. Чтобы иметь последнюю версию компилятора, интеграцию и компилятор нужно собирать самостоятельно из исходников.

Дело в том, что интеграция использует модули компилятора для чтения исхдников.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Решил попробовать интеграцию, да не тут то было.
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.12.07 13:21
Оценка: 13 (1)
Здравствуйте, Блудов Павел, Вы писали:

БП>Дальше можно было не возиться. Проблема Nemerle.sln в том, что в нём несколько проектов. А в компиляторе есть куски, которые завязаны не одну единственную глобальную переменную. Поэтому в каком-то одном проекте солюшена всё будет работать как ожидалось, а в остальных только с долей вероятности.

БП>Проблема это известная, но пока ни у кого руки не дошли заняться ею вплотную.

Проблема там в другом. Дело в том, что компилятор написан сам на себе. И при попытки отпарсить себя обнаруживает в памяти уже скомпилированные типы (свои же). Далее у него рвет крышу и он грохается.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: По поводу Nemerle.sln
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.12.07 13:21
Оценка: 26 (1)
Здравствуйте, Блудов Павел, Вы писали:

БП>Для 2005 нужно пинать поляков чтобы отключили для этого конкретного файла преобразование CR/LF, если это вообще возможно.


Даже пинать не нужно. Просто нужно поменять SVN-свойства для файла.

Короче, готово. Берите в версии 7861.

Если та же проблема с другими файлами, то нужно открыть свойства файла. Перейти на закладку Subvertion. Нажать кнопку Properties и поменять свойство svn:eol-style с LF на CRLF. После комита концы строк будут заменены автоматически.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Решил попробовать интеграцию, да не тут то было.
От: torquemada  
Дата: 22.12.07 02:39
Оценка:
Здравствуйте, VladD2, Вы писали:

T>> 2. Забрал 7564 ревизию ncc отсюда


VD>Это уже нельзя делать. Версия компилятора должна соотвествовать версии интеграции. Иначе будут глюки. Чтобы иметь последнюю версию компилятора, интеграцию и компилятор нужно собирать самостоятельно из исходников.


VD>Дело в том, что интеграция использует модули компилятора для чтения исхдников.


Дык я же не говорю что я её устанавливал, я установил версию из November CTP, а эту взял для того, чтобы поработать с ней в интеграции.
Re[3]: Решил попробовать интеграцию, да не тут то было.
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.12.07 11:46
Оценка:
Здравствуйте, torquemada, Вы писали:

T>Дык я же не говорю что я её устанавливал, я установил версию из November CTP, а эту взял для того, чтобы поработать с ней в интеграции.


А... ясно. Но при компиляции она оди фиг копируется в %ProgramFiles%\Nemerle\ так что не факт, что все ОК.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.