Ищу новую IDE

Ищу новую IDE

Привет народ.

Хочу провести небольшой опрос "Кто какую IDE/редактор/плагин использует для разработка в SF?"

Устал немного от MM к тому же по всей видимости он уже потихоньку загибается и не успевает за стремительно развивающимся Salesforce. Автор ММ уже во всю занимается другими проектами и энтузиазм его закончился.

Чем вы пользуетесь и что бы могли похвалить.

Собственно о чем я и говорил (только что увидел)

http://mavensmate.com/

Более-менее адекватных, насколько я знаю, 2:
Плагин Illuminated Cloud для Intellij IDEA, который я использую. Стоит ~65$ лицензия на 2 компа. Помимо стандартных вещей для Intellij(переход к определению функции по клику, удобный поиск, автодополнение кода) есть несколько интересных плюшек аля "Apex Offline Debugger" - парсит дебаг лог и на его основе построчно показывает что и как выполнялось, показывает значения переменных. Работает на больших и сложных проектах криво, но на маленьких близко к идеальному.
Второй - WelkinSuite, пилится украинскими разработчиками на базе Visual Studio. Стоит ~10$/месяц. Лично мне не понравился, т.к. банальных вещей аля автодополнение кода у меня из коробки завести не получилось, плюс подтормаживал довольно сильно, плюс на маке какие-то траблы ранее были.

Я смотрю в Illuminated Cloud готовится большой релиз 2.0
https://groups.google.com/a/illuminatedcloud.com/forum/#!topic/announcements/6c77Fur3JfA
Вроде как в тексте упоминается конец ноября.
Что там за релиз? Кто отслеживает новость, там намечается что-то глобальное?

Dmitry Shnyrev
Что там за релиз? Кто отслеживает новость, там намечается что-то глобальное?

Видеобзор автора плагина https://www.youtube.com/watch?v=wEQvqb3d774

О! Спасибо!

Дима, советую, Jetforcer, есть все плюшки настоящей IDE - https://jetforcer.com/

Кст, в новой версии будет уже банальный дебаггер и удобный SOQL редактор, интегрированный с DataGrip

Да, да. Общаюсь с разработчиками. Насколько я понимаю он еще в стадии активной разработки.
Пока присматриваюсь, но для активной продакшен разработки пока стремаюсь. Чтобы не отвалилось в самый ответственный момент.

Dmitry Shnyrev
Да, да. Общаюсь с разработчиками. Насколько я понимаю он еще в стадии активной разработки.
Пока присматриваюсь, но для активной продакшен разработки пока стремаюсь. Чтобы не отвалилось в самый ответственный момент.

Они все на стадии активной разработки)

На Дримформе видел представителей всех IDE, все что-то пилят и пытаются продать.

Gres
Дима, советую, Jetforcer, есть все плюшки настоящей IDE - https://jetforcer.com/

Gres, а ты используешь этот плагин как основной в разработке или просто советуешь?
Сколько времени используешь и есть ли какие нюансы?

Dmitry Shnyrev
Gres, а ты используешь этот плагин как основной в разработке или просто советуешь?
Сколько времени используешь и есть ли какие нюансы?

Использую, как основную IDE уже 2 года и советую всем, очень нравится.

Illuminated Cloud +1

Мини обзор SF IDE годичной давности http://www.arkusinc.com/archive/2016/comparing-ides-for-salesforce-development

Illuminated Cloud +2 (я и коллега) более года - полёт нормальный)

Gres
Использую, как основную IDE уже 2 года и советую всем, очень нравится.

Это отличный отзыв.
Приму к сведению.

Еще скажу, что по сравнению с IC Jetforcer работает в разы быстрее, из-за этого на нее и перешел, раньше использовал IC.

Кстати да, обратил внимание IC лагает, а вчера даже подвис.
Хотя пробовать его начал только вчера.
Может это нормально?

https://jetforcer.com/features#lightning - для лайтнинга и VF, JetForcer - лучший тул для разработки.
с версии 1.2 он полностью обгоняет Илюм Клоуд, включая еще не выпущенный 2.0.

Я советую подождать выхода JetForcer 1.2 (через 10 дней) и пробовать, ну и я думаю что тебе (как знакомому разработчиков) могут дать бесплатную personal лицензию :)

Dmitry Shnyrev
Кстати да, обратил внимание IC лагает, а вчера даже подвис.

На моих проектах он вообще просто ужасно тормозит и виснет, приходится убивать процесс и перезапускать идею.

А такой вопрос.

На одной Idea могут быть установлены два этих плагина?
Хотя бы на время тестирования и сравнения?
Или будут конфликты?

Установить можно, но активным может быть только один

Illuminated Cloud.
На счет тормозов. Как-то появились они у меня месяц назад. Списался с разработчиками, отправлял логи. Надо сбросить кэш (File>Invalidate Caches / Restart and then clicking Invalidate & Restart). У меня они были одно время. В начале ноября выкатили версию с исправлением этой проблемы.

Два года работал с IlluminatedCloud. Сейчас перешел на JetForcer. По мне, полет шустрее в разы, проект уже обходит IC по фичам. Сам плагин развивается намного быстрее.

Я не знаю, что такое JetForce и чем он лучше, но скоро (мне облом сейчас искать точные даты) будет выходить IC 2 с поддержкой DX. Или более удобным интерфейсам и функциями, для работы с DX.

Andrii Muzychuk
Я не знаю, что такое JetForce и чем он лучше, но скоро (мне облом сейчас искать точные даты) будет выходить IC 2 с поддержкой DX. Или более удобным интерфейсам и функциями, для работы с DX.

JetForcer поддерживает DX. У него нет, пока что, супер-пупер интерфейса для управления Scratch Org, зато уйма других приемуществ в работе с исходных кодом. IC после обновления не будет содержать тех фич которые есть в JetForcer уже сейчас для Apex и Lighting Components. Я не буду писать здесь все, если есть желание вы можете посмотреть сами на их сайте (Не все новые features здесь присутствуют) - https://jetforcer.com/features

О! точно вспомнил! Когда-то давно обсуждали вот эту фичу
ApexVCS
Я тогда никак не мог понять зачем этот оверхед и танцы с бубном.
Смотрю фича в списке есть и достаточно сильно описывается.

Вопрос к тем кто пользуется - есть ли какие-то преимущества перед простым сохранением по Ctrl+S сразу на орг ?

Особенно вот эта штука
Switch Active VCS
Я просто привык работать с Git и у меня на каждый проект создается git, даже если глобального репозитория нет (создаю чисто локальный).

Dmitry Shnyrev
О! точно вспомнил! Когда-то давно обсуждали вот эту фичу
ApexVCS
Я тогда никак не мог понять зачем этот оверхед и танцы с бубном.
Смотрю фича в списке есть и достаточно сильно описывается.

Вопрос к тем кто пользуется - есть ли какие-то преимущества перед простым сохранением по Ctrl+S сразу на орг ?

Да, отличная вещь! Salesforce сделал по сути тоже самое в SFDX CLI и IC хотят добавлять что-то подобное.

https://www.forcetalks.com/blog/working-with-apex-in-jetforcer-ide-offline-validation-quick-fixes-refactorings-and-powerful-code-completion/

Вот тут неплохой блог о том, чем JF отличается от остальных IDE

О! Отлично! Наконец пошел пиар JF и русском направлении
Респект!

Michael
Я советую подождать выхода JetForcer 1.2 (через 10 дней) и пробовать,

Жду новости о релизе!!!
Создавайте тему будем обсуждать!
Я думаю разработчикам использующим IC будет интересно сравнить.

Я правильно понимаю что у
JetForcer уже практически в 3 раза больше загрузок чем у Illuminated Cloud?
https://plugins.jetbrains.com/plugin/9238--jetforcer-plugin-for-handy-force-com-development-with-jetbrains-ides
https://plugins.jetbrains.com/plugin/7831-illuminated-cloud

Насколько это объективный показатель?

Получается что JetForcer должен быть раза в 3 популярнее?

Нашел способ сравнить 2 плагина одновременно

поставил
Idea Ultimate + IC
Idea Community + JF
Посмотрим что получится.

Сразу заметил отличия при создании проекта.

IC отображает список Метадаты после подключения к оргу, тоесть вытягивает и показывает то что есть.
в JF список захардкожен.

Понятно что для 99% случаев это не критично и в разработке используются только узкий набор метадаты доступный в обоих плагинах.

Еще вопрос косвенный к адептам Idea.

У меня VF pages / VF components / Static Resources напичканы Ангуляр.

И вроде под Ultimate поставил Ангуляр плагин (под Community его нет) но все тэги и атрибуты за пределами HTML светятся как неподдерживаемые.

Кто-нибудь занимался устранением это проблемы и внедрением поддержки ангуляр в VF исходники?

У меня Ultimate + Jetforcer = проблем нет

> Idea Community + JF

Мало смысла использовать JF с комунити, ты лишаешь себя львинной доли фич, которые там написаны для VF + Lightning. Лучше использовать WebStorm + JF или IDEA Ultimate + JF

Сижу пробую JerForce.

Побуду просто юзером нубом который выбрал тул чтобы работать.

И в отличии от IC вот реально сижу уже полчаса туплю.

Во первых проект создавался минут 15 - сперва не получилось вытянуть матаданные по установленным пакетами о чем плагин отрапортовал, а затем предложил вытянуть отдельно. Повлияет отмена на работу плагина или нет непонятно. Ладно согласился. Пошел процесс ретрива метаданных который собственно и затянулся (согласен про это предупреждают в сообщении), но отменить процесс уже нельзя. Сиди жди.

Где-то первые минут 30 лагало открытие apex классов - реально сидел ждал и смотрел на крутилку на черном фоне. Может это первое время пока проект в бэкграунде обрабатывается (вроде сейчас попробовал - открываются сразу)

Порадовало что появляются ошибки без сохранения, но они подсвечиваются реально через секунд 5 (не помню в IC есть такое или нет)

Так и не понял как мне быстро внести изменения и сохранить файл чтобы получило результат или сообщение об ошибке. Все сохранения производятся локально. Попробовал внести ошибку в код сохранить, потом попробовал Validate - в итоге валидация зависла минут на 5.

С деплой такая же ерунда (скрин с результатами одинаковый что с валидацией что с деплоем)

В итоге так и остается висеть
"Information:11/22/17 14:31:35 Validate started..."

А еще получил вот это окно

В общем что-то с первого раза не подружились.

Ну и с моей стороны, я хочу просто нажать CTRL+S и пойти на орг смотреть результат. Без лишних телодвижений или получить трейс ошибок. Возможно это как-то настраивается? Но я бы как раз сделал это дефолтным поведением, а уже ApexCSV включал бы по желанию. 99% разработчиков ожидают такого поведения от IDE.

Michael
Мало смысла использовать JF с комунити, ты лишаешь себя львинной доли фич, которые там написаны для VF + Lightning. Лучше использовать WebStorm + JF или IDEA Ultimate + JF

А! То есть Community не поддерживается?

Походу Дима готовь 700$ или сколько она там стоит не комьюнити ?

Ну WebStorm можно за 129$ взять.
Он ближе нам по духу.
Нафига нам весь зоопарк

Первый запуск jetforcer, выкачал существующий проект.

Что нету деплоя на Ctrl+S? Нет никаких настроек плагина?

Валидатор косячит, вот пример:

public class Utils{

public static StringExt stringExt {get{
if(stringExt == null){
stringExt = new StringExt();
}
return stringExt;
}
private set;
}

public class StringExt{
public void fake1(){}
}

}

public class Ctrl{
static{
Utils.stringExt.fake1(); // Non-static memmber cannon be invoked from a static context.
}
}

То есть он не видит проперти и думает что я обращаюсь к статик методу класса.

Ну и с моей стороны, я хочу просто нажать CTRL+S и пойти на орг смотреть результат. Без лишних телодвижений

в JF можно просто деплоить любой файл(один или несколько) с помощью https://jetforcer.com/features#selection-deploy-retrieve

Там этот шорткат по умолчанию Ctrl-Shift-D. По желанию можно его поменять на Ctrl-S, но я юзаю стандартный.

> Валидатор косячит, вот пример:

О, прикольно. Засабмитил ее в баг-трекер, к 1.2 пофиксят

https://youtrack.jetforcer.com/issue/JF-1084

> А еще получил вот это окно

хорошо бы тоже засабмитить в баг трекер со стектрейсом, это вроде не страшная ошибка (работе ничем не мешает)

> Где-то первые минут 30 лагало открытие apex классов - реально сидел ждал и смотрел на крутилку на черном фоне.

Ну я такие проблемы решал выделив побольше оперативки веб шторму

Там сейчас деплой улучшался, в 1.2 должно быть получше.

сперва не получилось вытянуть матаданные по установленным пакетам

А это больше проблема SF, Illuminated Cloud просто молчит об этих ошибках, но все не выгруженные данные не будут комплититься и к ним нельзя будет навигироваться и т.д.

проект создавался минут 15

В итоге так и остается висеть "Information:11/22/17 14:31:35 Validate started..."

Пару раз сталкивался с такими ошибками, но тогда у меня все IDE тормозили, потому что подглючивал сам Salesforce...

Так что по поводу CTRL+S сразу на сервер? Есть такая возможность?

А! Сорри, не заметил сообщение выше

Еще такой момент. Это может больше относится к самой IDEA
Ошибки те что приходят из SF выводятся во вкладке Salesforce (внизу).
А те ошибки что подсвечиваются красным на лету (нет переменной или очепятка)
Как можно увидеть из списком?
Я пока могу понять что за ошибка увидев ее в тексте и наведя мышкой на нее.
Помню была такая вкладка Problems но чет не могу ее найти.

А те ошибки что подсвечиваются красным на лету (нет переменной или очепятка) Как можно увидеть из списком?

А я кстати не задавался этим вопросом никогда, я знаю что там есть action "Validate Project Locally" он найдет все ошибки в проекте и выведет их списком в той же вкладке Salesforce - но никогда ее не запускал.
(ладно вру, запускал - но работает медленно, поэтому и юзать перестал)

Я лично использую офлайн валидацию только из-за квик фиксов, для так называемого Right Side Codding

Теперь вопрос к пользователям IC

После сохранения в панели Problems появляются ошибки из SF.

Но если в коде нажать хоть одну клавишу панель становится девственно чистой.
И что там была за ошибка/ошибки уже не известно

Как исправить?

Как исправить - я не знаю. Я даже не знал, что оно так работает :-)
Но можно воспользоваться не Problems табом, а Messages. Там ничего не исчезает. Вроде.

Andrii Muzychuk
Но можно воспользоваться не Problems табом, а Messages. Там ничего не исчезает. Вроде.

Да! Уже успел заметить. Ждал пока кто-нибудь отпишет о своих решениях.
Но так да, Messages содержат в себе список ошибок со ссылками.
Можно пользоваться.

Ну как итоги проб? :)

Пробы пока продолжаются.

Сложно что-то сказать. Недостатки есть и там и там.
будем смотреть где их больше

Заметил неприятную фигню в IC.
Не уверен что так должно быть, но мало ли.

Когда начинаешь редактировать несколько файлов (особенно когда разбираешь зависимости) несохраненными остаются более одного файла и при открытых куче вкладок понять какие надо сохранить не получается. Ладно, нашел где в настройкам можно включить показ звездочки для измененных файлов.
НО вот беда. Если редактируешь кучу файлов, да, они подсвечиваются, но при нажатии Ctrl+S на одном все файлы помечаются как сохраненные, хотя на самом деле сохранен только текущий. И БОЛЕЕ того IC уже не хочет сохранять файл потому что не видит в нем изменений. Приходится просто добавлять или убирать пустую строку чтобы CTRL+S заработал.

Может я что-то не понял?

Dmitry Shnyrev
И БОЛЕЕ того IC уже не хочет сохранять файл потому что не видит в нем изменений. Приходится просто добавлять или убирать пустую строку чтобы CTRL+S заработал.

Кстати да, бесит такое поведение

По поводу сейва, я думаю это потому что в самое IDE стоит

Maxim Elets
Dmitry Shnyrev
И БОЛЕЕ того IC уже не хочет сохранять файл потому что не видит в нем изменений. Приходится просто добавлять или убирать пустую строку чтобы CTRL+S заработал.

Кстати да, бесит такое поведение

в настройках плагина в можно настроить Force Save на комбинацию ctrl+s

Так так. Ща проверим!

Dmitry Shnyrev
Ладно, нашел где в настройкам можно включить показ звездочки для измененных файлов.
Где это?

У меня на Ctrl+S работает "Save All". Я этого поведения не менял. И у меня сохраняет даже без изменений. Хотя, пишет Deploying Class_Name to Sandbox_Name...

Блин, Force Save ведет себя как Save All - тоже сбрасывает пометку об изменении в других файлах.

Короче вся проблема зарыта в дефолтном поведении IDEA (которую я отключил) когда при потери фокуса на табе изменения сразу пытаются сохраниться. Только вот с SF это как-то не очень работает, особенно в случае ошибок.
Но по ходу лучше уж пусть так, чем гемороиться и вспоминать какие табы не сохранил.

Andrii Muzychuk
Где это?

Illuminated Cloud
Andrii Muzychuk
И у меня сохраняет даже без изменений

Ну хз, ни у кого не сохраняет, а у тебя сохраняет?

Dmitry Shnyrev
Andrii Muzychuk
Где это?

Illuminated Cloud

Это я понял. Где эта настройка, которая показывает несохраненные файлы? :-)
Dmitry Shnyrev
Andrii Muzychuk
И у меня сохраняет даже без изменений

Ну хз, ни у кого не сохраняет, а у тебя сохраняет? :)

Ну, я не знаю, сохраняет оно или нет. Оно пишет, а что оно там делает - хз.

Странно.
Нашел я настройку "Save files on frame deactivation". Она у меня включена, но ничего не сохраняется, пока я не нажму сохранить.

И у меня сохраняет не измененные файлы
Сфоткал настройки

Dmitry Lisovsky
И у меня сохраняет не измененные файлы
Сфоткал настройки

ТОЧНО!
Первая галочка (и вторая соответственно) были неактивны у меня.
И! ТОЧНО! Вспомнил. После установки во время первого запуска выкинуло ошибку что дефолтное поведение ctrl+s не может быть переназначено. Вот где собака зарылась.

Andrii Muzychuk
Нашел я настройку "Save files on frame deactivation". Она у меня включена, но ничего не сохраняется, пока я не нажму сохранить.

Да, точно. Это я перепутал немного. Сохраняет, когда не таба теряет фокус, а когда теряет фокус сама IDEA.

Andrii Muzychuk
Где эта настройка, которая показывает несохраненные файлы? :-)

Поищу в настройках "Mark modified tabs with asterisk" (но уже смысла от этого особого нет)

Димон, спасибо! Нашел. Поставил. Теперь у меня "звезда" гореть будет :-)

Вот у меня такие настройки сохранения

О!
Бред. Когда фокус уходит с IC то "звезда" исчезает. Это, конечно, не косяк IC. Напишу товарищам из IDEA.

Я так понимаю Идеа работает как должна работать.
Насколько я вижу в IDEA есть только Save All, то есть сохраняются все измененные файлы (я по крайней мере не нашел где в меню упоминается просто save, да и ctrl+s по умолчанию забиндин на Save All). А вот IC уже интерпретирует это по своему.
Вот это конечно да, странно что нет просто сохранения изменений из текущей табы. Может я сознательно не хочу сохранять ВСЕ изменения и просто там нафигачил заметки на будущее.

Это конечно тупость, но...
"Save All" не сохраняет ВСЕ измененный файлы.
Отредактировал файл 01. Файл 01 пометился "звездой".
Перешел на файл 02. Отредактировал его. Сохранил.
Пошел в браузер - файл 02 сохранен, файл 01 - нет.

IC переписало правило "Save All" кнопки на "сохранить только выделенный файл". Это правильно. Но вот надо было оставить "звезду" на не сохраненном файле. Это уже к разрабам IC.

Andrii Muzychuk
Когда фокус уходит с IC то "звезда" исчезает. Это, конечно, не косяк IC. Напишу товарищам из IDEA.

Кается на это тоже есть настройка.

В JF вроде удобнее с этим? Новые\измененные\удаленные файлы подсвечиваются везде уникальным цветом.
Деплой по Ctrl-Shift-D - деплоит только тот файл , который был выбран. Дима ты пробовал?

JF и IC оба базируются на IntelijiIdea. А есть ли варианты, которые не будут так бесподобно тормозить(это я сейчас про IC, но есть подозрение что для JF тоже нужен более менее топовый комп)?

Почему мне нравился (Sublime+MM/VScode + MM) - ДА ПОТОМУ ЧТО ТАМ ВСЕ ЛЕТАЛО! И комп не грелся как гриль на котором жарят колбаски! И сам редактор не тормозил на больших проектах(в ММ правда замечен косяк что autocomplete тормозил на больших классах, но это скорее проблема того что класс был в 5к+ строк)

Прям желание появляется запилить свой плагин под Sublime/VScode с блекджеком....

PS: MacBook Pro (Retina, 13-inch, Early 2015, 2.7 GHz Intel Core i5, 8 GB 1867 MHz DDR3, Intel Iris Graphics 6100 1536 MB, SSD)

Насколько мне уже позволяет судить опыт по сравнению с IC и JF в MM не было вообще никакого автокомплита.
Поэтому он и летает.
На счет того чтобы совсем уж сильно тормозило - я бы не сказал. Вполне себе комфортно работать. Тоже сейчас как раз под рукой открытый проект где есть страницы по 4,5К строк и кучей классов. Комп ледяной. Причем работает от батареи по полдня. И это при том что еще Docker контейнеры с виртуалками запущены (забыл вчера остановить). А полдня еще сегодня провисела Win7 c Virtualbox.
Да, бывают лаги сразу после открытия проекта, или после рефреша. Ну это разовые лаги.

Запусти Activity Monitor и покажи что у тебя там с нагрузкой. Может у тебя какой-нибудь майнер в бэкграунде биткоины майнит

Типа такого чтобы было видно

У тебя Idle в среднем если руки от компа убрать должен быть в районе 95%

1 - ничего не запущено кроме хрома

2-момент запуска IDE

3 - момент когда ничего не печатаешь, а просто зафокусил IDE

Ну вроде криминала не видно.
Все равно 62% одного ядра отжирать это как-то жирно.
У меня если не трогать висит меньше 1% (даже на первом экране не видно).

Не эксперт я в Idea но попробуй поодключать лишние плагины. Там их куча всяких для Java и прочей EE лабуды. Я сразу отрубил все что либо не нужно, либо не знаю вообще нах нужно.

Еще один момент по поводу Мака.
Было как-то у меня давно - грелся когда начинаешь большие проекты создавать (куча изменений в файловой системе) - есть служба для Spotlight Search которая индексирует всю твою файловую систему на любой чих. Я запретил индекcировать все кроме папки Applications. Больше проблем не наблюдал с производительностью.

Попробуй заюзать JF + WebStorm, это самая оптимальная коомбинация как по мне. Скоро выход JF 1.2, там уделяли внимание производительности и будет работать шустрее.

Michael
Попробуй заюзать JF + WebStorm

Слил и поставил сегодня WebStorm и хотел поставить JF - а его нет в списке доступных плагинов.
IC есть, JF нет.

Попробуй сейчас, версию под 2017.3 сегодня выложили

Да, все встало.

Подключил один боевой проект, продолжаю пробовать.

Из того что заметил - наверное этот случай просто не тестился.

Создал проект с неправильнм названием, в sidebar переименовал его (там можно проект или папку саму переименовать) и просто начали валиться ошибки. Пришлось сносить и заново проект создавать.

Дальше вроде все ок.

При Ctrl+Shift+D (быстрый деплой) выскакивает какое-то окно - толком понять что там происходит с ходу не получается. Что-то понажимал - вроде пропало. Возможно что-то полезное, но реально не было времени вкуривать что за штука. А сейчас ХЗ может и не нужно было отключать

При запуске тестов мне например в IC сразу понравилось что выводится полный дебаг - обычно когда тесты гоняешь в 90% случаем нужен дебаг чтобы понять что там по коду происходит. В IC получаешь все в одном месте. В JF надо отдельно вкладку Logs использовать.

Logs отдельная тема!
Очень понравилось что открывается отдельная вкладка в основном окне, а не как в IC где-то тааааам в углу в 100х100пикс. Можно нормально по логу полазить. НО! Я очень сильно люблю и использую log в Raw формате с полнотекстовым поиском. Хотя в принципе я его использую больше скорее для поиска Debugs строчек, а для этого у вас предусмотрен итдельный чекбокс. Так что минус на плюс получается нейтрально. Но все равно Raw формат был бы не лишним (а еще лучше чтобы его можно было открыть в браузере - там полнотекстовой поиск крутой )

В 1.2 будет ОЧЕНЬ МНОГО улучшений для дебага и в целом логов. Gres оставлял много фидбека и всё пофиксили в 1.2
В 1.1 для логов типа initial поддержка была, в основном направленная на сборку фидбека для улучшений.

> При Ctrl+Shift+D (быстрый деплой) выскакивает какое-то окно
Да я понимаю о чем ты, вообще в 1.1 была проблема с кучей всплывающих окон, это все подчистили в 1.2 благодаря фидбеку Руслана Курченко :)

Michael
Скоро выход JF 1.2, там уделяли внимание производительности и будет работать шустрее.

Когда ждать?

В принципе сегодняшний опыт на реально проекте прошел намного лучше.
То что надо есть. С ApexVCS как нибудь разберемся. Кстати профит от нее все-таки есть.
Недавно я писал что если редактировать много файлов одновременно в IC и нажать Сохранить на одном из них, то все остальные файлы тоже помечаются как сохраненные и искать потом среди тонны вкладок неудобно.
С ApexVCS видны какие файлы не сохранены на сервер и при нажатии Cmd+Shift+D список обновляется и реально видно что не сохранено. Плюс можно увидеть diff. Единственно пока стоит вопрос как комфортно работать с обычным git локальным. Я помню где-то читал что можно переключаться между активными CSV. Но пока не пробовал на практике.

В принципе что я туплю. Я все равно привык работать с SourceTree. Просто в JF будет ApexCSV а для Git репозитория уже SourceTree

1.2 должна быть до 15 числа

> Просто в JF будет ApexCSV а для Git репозитория уже SourceTree

Как временное решение пойдет конечно, но лучше зафидбечить, что именно неудобно и ждать исправления в ближайшем релизе, сейчас там активно собирают фидбек на эту тему. Ходить работать в сторонний тул с гитом для меня было бы неудобно, особенно если привык ко всем плюшкам для гита в IDE от JB.

Я например сижу в ApexVCS постоянно, а на гит переключаюсь уже непосредственно перед коммитом (если ченж большой). Либо наоборот если мелкий багфикс - сижу в гите, деплою просто постоянно через Ctrl-Shift-D пока не найду что там за WTF и потом комит\пуш. Плюс там не обязательно переключаться чтобы задеплоить\закомитить, там есть экшоны для комита на выбор, в меню VCS.

Но это как говорится, каждый находит свой подход.

Я сам пока не определился, связка с гитом - сейчас удобная или неудобная, но пока не могу сходу предложить как улучшить (видимо надо просто еще активно поюзать, придумать идею - предложить и думаю обязательно подправят)

Ну и там же DX появился, думаю старый вариант деплоя скоро отпадет сам по себе :)

Такой вопрос по JF.

Работа со статик ресурсами. Насколько я понял при создании бандла он появляется он(папка) появляется на месте самого статик ресурса (с таким же именем как сам статик ресурс). Но вот не нашел как вернуть его обратно. К тому же такой интересный момент - как эти изменения будут отображаться на Git репозиторий? У меня удалится из репозитория сам файл статик ресурса и появится бандл (пока сам не смотрел, сейчас 3:30 ночи, но вопрос сильно актуальный) По опыту других редакторов где тоже есть работа со статик ресурсами через ResourceBundle, они создаются за пределами src папки чтобы не нарушать целостность самого SF проекта.

И наверное еще раз подниму вопрос - где можно почитать подробнее про все фичи JF.
вот тут нашел
https://jetforcer.com/features
Но с ходу ничего про статик ресурсам там не нашлось поиском.

Не все фичи описаны на сайте, потихоньку добавляется, но за девелопингом не поспевают.
Я всегда хранил ресурсы в открытом виде (не паковал в архив) поэтому не сталкивался с этой проблемой.
Думаю это можно зафидбечить им в багтрекер https://youtrack.jetforcer.com/issues

Ну я пока не спешу думать что это issue. Просто непривычно.
На счет того чтобы "хранить ресурсы всегда в открытом виде" может что-то в этом есть.

Наверное уже стоит завести отдельные ветки для двух этих IDE чтобы не скидывать все в одном место.

JetForcer
Illuminated Cloud

Dmitry Shnyrev
Ну я пока не спешу думать что это issue. Просто непривычно.
На счет того чтобы "хранить ресурсы всегда в открытом виде" может что-то в этом есть.

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

А вот интересный вопрос!

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

Так вот интересно как работать с такими проектами командам где используются разные IDE.

Минимально в git обычно ложат src папку и обычно она имеет стандартный вид.
В ММ помню не было проблем - создал пустой проект, подключил git к этой папке, слил исходники - работай.

Возвращаясь к вопросу со статик ресурсами - уже получается небольшая лажа так как статик ресурсы распаковываются прямо в тот же каталог. У MM бандлы создавались во внешнем (относительно /src каталога) папке и можно было не беспокоиться что придется колдовать с Git.

Как с этим дела обстоят в IC и JF?
Каков алгоритм работы с проектами из Git?

Dmitry Shnyrev
А вот интересный вопрос!

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

Так вот интересно как работать с такими проектами командам где используются разные IDE.

Минимально в git обычно ложат src папку и обычно она имеет стандартный вид.
В ММ помню не было проблем - создал пустой проект, подключил git к этой папке, слил исходники - работай.

Как с этим дела обстоят в IC и JF?

Возвращаясь к вопросу со статик ресурсами - уже получается небольшая лажа так как статик ресурсы распаковываются прямо в тот же каталог. У MM бандлы создавались во внешнем (относительно /src каталога) папке и можно было не беспокоиться что придется колдовать с Git.

Каков алгоритм работы в IC и JF.

Я давно уже на проектах где Source of Truth - VCS. Раньше был на IC и все было хорошо, сечас JF - тоже самое, все ок. В IDEA есть финкция - Import Project, когда у тебя включен один или другой плагин, при инициализации проекта этим способом IDEA сама понимает что это проект IC/JF, главное что бы только один плагин был включен.

По статик ресурсам, думаю надо создать Ticket что бы можно было конфигурировать: 1) Куда распаковывать ресурсы, 2) Возможность обновлять .resource (в staticresources) файл и пересобирать его при каждом обновлении исходников.

Руслан Курченко
Раньше был на IC и все было хорошо, сечас JF - тоже самое, все ок. В IDEA есть финкция - Import Project

В смысле IC b JF проекты совместимы?
То есть я могу создать проект в IC залить в Git, слить на другом компе и сделать Import Project уже для JF?

Вот типичный пример - я прихожу скажем завтра в команду где все сидят на IC и синхронизируют свои проекты через Git (дальше работают уже на своих отдельных оргах).
У меня JF - я могу работать с ними? Или JF не поймет проект IC и начнутся траблы с различиями в структуре проектов?

Вот как раньше - не было проблем с MM и Force.com
Достаточно было натравить оба редактора на src и все жили счастливо.
Сейчас как я вижу у IC и SF свои видения относительно структуры папки src.
То есть даже с Force.com IDE уже подружить не получится?

Dmitry Shnyrev
Вот как раньше - не было проблем с MM и Force.com
Достаточно было натравить оба редактора на src и все жили счастливо.
Сейчас как я вижу у IC и SF свои видения относительно структуры папки src.
То есть даже с Force.com IDE уже подружить не получится?

Проблем вообще нет. Большенство настроект проекта лежит в скрытой папке .idea, не вносишь ее в VCS и все.
Я сейчас занимаюсь разными проектами и переключаюсь то туда то сюда. JetForcer мне больше нравиться и я больше уверен в данном проекте, но пока не хватает StaticResource Bundle management более гибкого, как я описал раньше что бы я перешел на все 100%, так что пока 95% провожу в нем.

Более того, вот мой проект с SalesforceDX с custom folder structure - все работает отлично.

В этом случае просто не ложи в гит ченжи, которые специфичны только для IDE X
(я обычно такие отправляю в отдельный ченж лист ignored)

Я один и тот же проект открывал во всех IDE (начиная от еклипса, заканчивая Велкин Сьютом)

Руслан тоже предложил хорошую альтернативу

Вот я пока на пальцах и пробую понять (узнать из вашего опыта)
что является специфическим для IDE X.
для меня папка src - должна быть неприкосновенна, чтобы я мог ее использовать хоть даже из ant (что кстати тоже частый use case). Пока то что я понял в IC и JF папка со static resources не стандартная поэтому src как таковой в ant уже не заработает. Может есть еще какие нюансы? То что за пределами src меня мало волнует - все специфические настройки IDE по любому отправляются в .gitignore

Руслан Курченко
Более того, вот мой проект с SalesforceDX с custom folder structure

Я пока не сталкивался с DX, поэтому вопрос исключительно про классику.

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

По-моему, ant`у пофиг что там в StaticResource лежат еще какие-то папки, как я уже сказал - это единственный момент который надо доделать, что есть очень просто для парней с JF

Руслан Курченко
что есть очень просто для парней с JF

Все тут активно отвечающие по JF пишут про "парней", "им в багтрекер".
Кстати, а кто собственно есть эти парни? Страна должна знать своих героев?!!

Они среди нас!
Думаю, выдадут себя публично как только посчитают нужным :D

> Работа со статик ресурсами. Насколько я понял при создании бандла он появляется он(папка) появляется на месте самого статик ресурса (с таким же именем как сам статик ресурс).

Да, именно так.

> Но вот не нашел как вернуть его обратно.

Такое действие сейчас не поддерживается (не реализовано). Очевидно можно добиться возврата запакованного ресурса вручную (запощу нужные шаги чуть позже),
но также очевидно, что сейчас это будет слишком сложно для повседневной работы.

> К тому же такой интересный момент - как эти изменения будут отображаться на Git репозиторий?

Я предполагал, что для работы с Git удобнее хранить в репозитории уже распакованные бандлы, чтобы отслеживать изменения в отдельных файлах внутри бандла
(как вот описывает Maxim Elets).

Что касается совместимости:

1) совместимость IC (или другая IDE с 'внешней' папкой для распаковки) -> JF сейчас существует: при открытии (импорте) IC-проекта, JF просто проигнорирует внешнюю папку
и воспримет бандл как запакованный (из его стандартной локации). Для дальнейшей работы с содержимым бандла в JF его надо будет только распаковать через соответствующую акцию.
2) обратная совместимость JF -> IC здесь сейчас скорее отсутствует - я не ожидаю, что IC поймет проект, в котором бандл распакован в стандартной локации.
Поэтому в Git-репозитории, из которого работают не только в JF, стоит хранить бандлы в запакованном виде.

В целом я бы предложил следующие улучшения:

1) явную акцию упаковки выбранного бандла (как очевидное улучшение) - открыл на это https://youtrack.jetforcer.com/issue/JF-1170
2) выполнять (опционально) автоматическую упаковку всех бандлов в проекте при переключении ApexVCS -> Git (и обратную распаковку при переключении Git -> ApexVCS)
Для тех кому удобнее тракать в Git-репе распакованные бандлы, эта опция будет отключена.
Для тех же, кому важнее совместимость Git-репы с другими IDE, эта опция будет включена.
- открыл на это https://youtrack.jetforcer.com/issue/JF-1171.
Выполнение автоматической упаковки очевидно увеличит время выполнения переключения ApexVCS <-> Git,
но кажется, что упаковку нужно выполнять все равно, а момент переключения VCS для этого больше всего подходит.

Отдельно отмечу, что распаковки во 'внешней' папке хотелось бы избежать, чтобы не дублировать состояние бандла.
Также текущее поведение JF соответствует поведению SFDX, который оперирует распакованными бандлами прямо в их стандартной локации.

Комментарии по улучшениям welcome. Также Вы можете голосовать за иссьи прямо в youtrack.jetforcer.com, это будет влиять на приоритет их реализации.

Шаги workaround для обратной запаковки expanded resource bundle в JF:

0) есть распакованный бандл (папка) <projectRoot>/unpackaged/staticresources/mybundle.resource
1) задеплоить все изменения в бандле в орг
2) вне (!) IDE - например через Windows Explorer - удалить собственно папку ресурса <projectRoot>/unpackaged/staticresources/mybundle.resource
и соответствующий файл <projectRoot>/unpackaged/staticresources/mybundle.resource-meta.xml
3) также вне (!) IDE удалить папку и файл состояния из ApexVCS - <projectRoot>/.apex/staticresources/mybundle.resource + <projectRoot>/.apex/staticresources/mybundle.resource-meta.xml
4) выкачать бандл в орг заново - через акцию main menu -> Salesforce -> Retrieve Project -> выбрать mybundle под нодом StaticResource

skovalsky, спасибо за разъяснения.

Я думаю стоит перенести 2 последних сообщения, ну или уже дальше продолжать
вот в этой ветке
https://salesforce-developer.ru/forum/topic-jetforcer
Я думаю на будущее будет полезно держать информацию в одном месте.

Подскажите, кто-нибудь ставил в IDEA стиль monokai, ставил несколько плагинов, но результата как в Sublime нет нигде, в настройках не нашел где подкрутить.
screen

akr0bat
Подскажите, кто-нибудь ставил в IDEA стиль monokai, ставил несколько плагинов, но результата как в Sublime нет нигде, в настройках не нашел где подкрутить.
screen

Material Design - плагин для IDEA/Webstorm, там есть Monokai как опция

Я вот эту использую
http://color-themes.com/?view=theme&id=563a1a6380b4acf11273ae40
вроде самое близкое что было в ST + monokai.
Те что нагугливал по запросу IDEA + Monokai вообще какие левые были.

Все равно 100% одинаковости не стоит добиваться. Я помню тоже день убил на это.
А в итоге на следующий день забил и уже на третьи сутки внимания не обращал.
Можно привыкнуть к любой теме, если проект будет боевой а не сидеть и выискивать различия в цвете

Валидатор косячит, вот пример:

public class Utils{

public static StringExt stringExt {get{
if(stringExt == null){
stringExt = new StringExt();
}
return stringExt;
}
private set;
}

public class StringExt{
public void fake1(){}
}

}

public class Ctrl{
static{
Utils.stringExt.fake1(); // Non-static memmber cannon be invoked from a static context.
}
}

То есть он не видит проперти и думает что я обращаюсь к статик методу класса.

Хех, не могу не отметить, но если попытаться задеплоить твой пример, то компилятор SF выдаст ту же самую ошибку

суть в том, что в єтом случае резолв происходит не к проперти, а к иннер классу (т.к имена вы дали одинаковые)
и JF - это сразу показал

IC деплоит без проблем

А он деплоит через метадата АПИ или через какое-то другое (тулинг например?)
Проверил, в консоли тоже сохраняет.

akr0bat
фиг что там в StaticResource лежат еще какие-то папки, как я уже сказал - это единственный момент который надо доделать, что есть очень просто для парней с JF

В идее вообще очень плохо с темами, увы(

Michael
А он деплоит через метадата АПИ или через какое-то другое (тулинг например?)
Проверил, в консоли тоже сохраняет.

Есть интересный прикол, можно деплоить классы, даже не валидные (причем вообще) через Sobject (ApexClass)

ДА! НУ!? Че? реально?
И как тогда SF их переваривает когда вызывает?

Вчера натолкнулся на [url=https://github.com/xjsender/haoideHaoIDE/url]
Это плагин к Sublime 3. Времени разбираться оч' мало.

Чет ссылка поплыла
вот этот в смысле?
https://github.com/xjsender/haoide

Кто-нибудь перешёл на Illuminated Cloud 2? Пробовал триал под macOS - IDEA 2017.2.6 просто зависала.

Interesting information? Help us, post link to social media..