JetForcer

JetForcer

Приглашаю всех к обсуждению вопросов связанных с JetForcer (плагином IntelijIDEA для Salesforce разработки)

https://jetforcer.com/

дубликат сообщения из общей ветки https://salesforce-developer.ru/forum/topic-ischu-novuu-ide

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

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

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

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

> К тому же такой интересный момент - как эти изменения будут отображаться на 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, это будет влиять на приоритет их реализации.

дубликат сообщения из общей ветки https://salesforce-developer.ru/forum/topic-ischu-novuu-ide

Шаги 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

Эх ребята, подкупили вы меня своим задором и целеустремленностью.
А так же раз мне выпал отличный шанс и свободное время (сегодня последний рабочий день с основным клиентов и можно со спокойной душей попрощаться с текущими проектами в ММ и IC), переключусь на JF как основную IDE.
Понравились ваша скорость развития и быстрая обратная связь.
Да, многое показалось сначала непривычным, но обсудив эти моменты здесь понял что в этих необычностях что-то есть. Ну и то что вы идете навстречу и охотно допиливаете свой продукт это круто!
Надеюсь мой опыт пригодиться вам чтобы сделать JF еще лучше!!! Обещаю активно отписываться о своих впечатлениях

Cколько стоит это дело ?

https://jetforcer.com/buy

Dmitry Shnyrev
https://jetforcer.com/buy
не работает ссылка

не знаю, в хроме отлично работает.

у них походу сайт лежит хорошая реклама.

Не думаю
5 человек на обрушат сайт

попробуй с другого браузера или девайса

Sergey Prishchepa
Cколько стоит это дело ?

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

Тем самым убъешь 2-х зайцев. И инструмент получишь в распоряжение, которые по заверениям авторов уже превосходит по функционалу IC, и бабки съэкономишь!

Вышла 1.2 версия, в ней много плюшек 😊

https://plugins.jetbrains.com/plugin/9238--jetforcer-plugin-for-handy-force-com-development-with-jetbrains-ides/update/42004

Sergey Prishchepa
у них походу сайт лежит хорошая реклама.

Ничего не ломается только у тех, кто ничего не делает😊

Michael
Вышла 1.2 версия, в ней много плюшек 😊

Отличная новость!!!
Вот сейчас праздники закончатся буду пробовать!!!

1 - А что по лицензиям??
Personal - 59$ (в год, месяц, день, 1 раз на всю жизнь)?
Commercial - 99$ (в год, месяц, день, 1 раз на всю жизнь), на сколько человеков?

2 - Есть ли разница между P и С в плане саппорта и тд?

3 - Сколько дней на триал? (30)

И возможны ли какие конфликты если поставить этот плагин в догонку IC?

Cyclic dependency: [class com.dci.intellij.dbn.options.DefaultProjectSettingsManager, class com.dci.intellij.dbn.options.DefaultProjectSettingsManager, class com.dci.intellij.dbn.options.ProjectSettings]

----------------------------------
Cyclic dependency: [class com.dci.intellij.dbn.options.DefaultProjectSettingsManager, class com.dci.intellij.dbn.options.DefaultProjectSettingsManager, class com.dci.intellij.dbn.options.ProjectSettings]

org.picocontainer.defaults.CyclicDependencyException: Cyclic dependency: [class com.dci.intellij.dbn.options.DefaultProjectSettingsManager, class com.dci.intellij.dbn.options.DefaultProjectSettingsManager, class com.dci.intellij.dbn.options.ProjectSettings]
at com.intellij.util.pico.CachingConstructorInjectionComponentAdapter.instantiateGuarded(CachingConstructorInjectionComponentAdapter.java:75)
at com.intellij.util.pico.CachingConstructorInjectionComponentAdapter.getComponentInstance(CachingConstructorInjectionComponentAdapter.java:63)
at com.intellij.openapi.components.impl.ServiceManagerImpl$MyComponentAdapter.getComponentInstance(ServiceManagerImpl.java:220)
at com.intellij.util.pico.DefaultPicoContainer.getLocalInstance(DefaultPicoContainer.java:239)
at com.intellij.util.pico.DefaultPicoContainer.getComponentInstance(DefaultPicoContainer.java:206)
at com.intellij.openapi.components.ServiceManager.doGetService(ServiceManager.java:49)
at com.intellij.openapi.components.ServiceManager.getService(ServiceManager.java:43)
at com.dci.intellij.dbn.options.DefaultProjectSettingsManager.getInstance(DefaultProjectSettingsManager.java:23)
at com.dci.intellij.dbn.options.ProjectSettingsManager.getSettings(ProjectSettingsManager.java:52)
at com.dci.intellij.dbn.options.ProjectSettings.<init>(ProjectSettings.java:67)
at com.dci.intellij.dbn.options.DefaultProjectSettingsManager.<init>(DefaultProjectSettingsManager.java:19)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.picocontainer.defaults.InstantiatingComponentAdapter.newInstance(InstantiatingComponentAdapter.java:193)
at com.intellij.util.pico.CachingConstructorInjectionComponentAdapter.doGetComponentInstance(CachingConstructorInjectionComponentAdapter.java:103)
at com.intellij.util.pico.CachingConstructorInjectionComponentAdapter.instantiateGuarded(CachingConstructorInjectionComponentAdapter.java:80)
at com.intellij.util.pico.CachingConstructorInjectionComponentAdapter.getComponentInstance(CachingConstructorInjectionComponentAdapter.java:63)
at com.intellij.openapi.components.impl.ServiceManagerImpl$MyComponentAdapter.getComponentInstance(ServiceManagerImpl.java:220)
at com.intellij.util.pico.DefaultPicoContainer.getLocalInstance(DefaultPicoContainer.java:239)
at com.intellij.util.pico.DefaultPicoContainer.getComponentInstance(DefaultPicoContainer.java:206)
at com.intellij.openapi.components.ServiceManager.doGetService(ServiceManager.java:49)
at com.intellij.openapi.components.ServiceManager.getService(ServiceManager.java:43)
at com.dci.intellij.dbn.options.DefaultProjectSettingsManager.getInstance(DefaultProjectSettingsManager.java:23)
at com.dci.intellij.dbn.options.ProjectSettingsManager.getSettings(ProjectSettingsManager.java:52)
at com.dci.intellij.dbn.options.ProjectSettings.<init>(ProjectSettings.java:67)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.picocontainer.defaults.InstantiatingComponentAdapter.newInstance(InstantiatingComponentAdapter.java:193)
at com.intellij.util.pico.CachingConstructorInjectionComponentAdapter.doGetComponentInstance(CachingConstructorInjectionComponentAdapter.java:103)
at com.intellij.util.pico.CachingConstructorInjectionComponentAdapter.instantiateGuarded(CachingConstructorInjectionComponentAdapter.java:80)
at com.intellij.util.pico.CachingConstructorInjectionComponentAdapter.getComponentInstance(CachingConstructorInjectionComponentAdapter.java:63)
at com.intellij.openapi.extensions.AbstractExtensionPointBean.instantiate(AbstractExtensionPointBean.java:75)
at com.intellij.openapi.options.ConfigurableEP$ClassProducer.createElement(ConfigurableEP.java:341)
at com.intellij.openapi.options.ConfigurableEP.createConfigurable(ConfigurableEP.java:267)
at com.intellij.openapi.options.ex.ConfigurableWrapper.createConfigurable(ConfigurableWrapper.java:58)
at com.intellij.openapi.options.ex.ConfigurableWrapper.getConfigurable(ConfigurableWrapper.java:117)
at com.intellij.openapi.options.ex.ConfigurableWrapper.cast(ConfigurableWrapper.java:98)
at com.intellij.openapi.options.ex.ConfigurableWrapper.getId(ConfigurableWrapper.java:194)
at com.intellij.openapi.options.ex.ConfigurableExtensionPointUtil.groupConfigurables(ConfigurableExtensionPointUtil.java:278)
at com.intellij.openapi.options.ex.ConfigurableExtensionPointUtil.getConfigurableGroup(ConfigurableExtensionPointUtil.java:148)
at com.intellij.openapi.options.ex.ConfigurableExtensionPointUtil.getConfigurableGroup(ConfigurableExtensionPointUtil.java:139)
at com.intellij.ide.actions.ShowSettingsUtilImpl.getConfigurableGroups(ShowSettingsUtilImpl.java:67)
at com.intellij.ide.actions.ShowSettingsAction.perform(ShowSettingsAction.java:63)
at com.intellij.ide.actions.ShowSettingsAction.actionPerformed(ShowSettingsAction.java:52)
at com.intellij.openapi.wm.impl.welcomeScreen.FlatWelcomeFrame$FlatWelcomeScreen$IconsFreeActionGroup$1.actionPerformed(FlatWelcomeFrame.java:705)
at com.intellij.openapi.actionSystem.ex.ActionUtil$1.run(ActionUtil.java:220)
at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:237)
at com.intellij.ui.popup.PopupFactoryImpl$ActionPopupStep.performAction(PopupFactoryImpl.java:966)
at com.intellij.ui.popup.PopupFactoryImpl$ActionPopupStep.performAction(PopupFactoryImpl.java:956)
at com.intellij.ui.popup.PopupFactoryImpl$ActionPopupStep.lambda$onChosen$0(PopupFactoryImpl.java:950)
at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:195)
at com.intellij.ui.popup.AbstractPopup.lambda$null$7(AbstractPopup.java:1431)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:762)
at java.awt.EventQueue.access$500(EventQueue.java:98)
at java.awt.EventQueue$3.run(EventQueue.java:715)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:732)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:822)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:650)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:366)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

я просто поставил его вторым после IC
IntelijIdea CE 2017.3.2

UPD: валится если открыть Preferences

я правильно понял что сейчас для ресурсов нельзя указать внешнюю папку?
то есть чтобы ресурсы распаковывались и запаковывались из папки resourses-uasya которая лежит в одном уровне с папкой src ?

Насколько я понял из сообщений в другой ветке нельзя ставить 2 плагина одновременно. Один должен быть минимум деактивирован.
Но я советую поставить WebStorm и поставить отдельно на него JetForcer.
У меня так стояло - IDEA Ultimate + IC и WebStorm + JF.

Удалил IC, поставил JF.

DB Navigator - New Plugin Version Available: A newer version of Database Navigator plugin is available in repository. Error report not sent.

null

java.lang.NullPointerException
at com.dci.intellij.dbn.common.about.ui.AboutComponent.<init>(AboutComponent.java:81)
at com.dci.intellij.dbn.menu.action.OpenAboutPageAction.actionPerformed(OpenAboutPageAction.java:14)
at com.intellij.openapi.actionSystem.ex.ActionUtil$1.run(ActionUtil.java:220)
at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:237)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.lambda$actionPerformed$0(ActionMenuItem.java:321)
at com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:911)
at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.runOnOwnContext(IdeFocusManagerImpl.java:136)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:311)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem.lambda$fireActionPerformed$0(ActionMenuItem.java:130)
at com.intellij.openapi.application.TransactionGuardImpl.runSyncTransaction(TransactionGuardImpl.java:88)
at com.intellij.openapi.application.TransactionGuardImpl.lambda$submitTransaction$1(TransactionGuardImpl.java:111)
at com.intellij.openapi.application.TransactionGuardImpl.submitTransaction(TransactionGuardImpl.java:120)
at com.intellij.openapi.application.TransactionGuard.submitTransaction(TransactionGuard.java:122)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:130)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.JToggleButton$ToggleButtonModel.setPressed(JToggleButton.java:308)
at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
at com.apple.laf.ScreenMenuItemCheckbox.itemStateChanged(ScreenMenuItemCheckbox.java:193)
at java.awt.CheckboxMenuItem.processItemEvent(CheckboxMenuItem.java:389)
at java.awt.CheckboxMenuItem.processEvent(CheckboxMenuItem.java:357)
at java.awt.MenuComponent.dispatchEventImpl(MenuComponent.java:355)
at java.awt.MenuComponent.dispatchEvent(MenuComponent.java:343)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:767)
at java.awt.EventQueue.access$500(EventQueue.java:98)
at java.awt.EventQueue$3.run(EventQueue.java:715)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
at java.awt.EventQueue$4.run(EventQueue.java:737)
at java.awt.EventQueue$4.run(EventQueue.java:735)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:734)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:822)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:650)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:366)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

У меня по ходу тоже в WebStorm ошибка от JetForcer прилетела

https://snag.gy/yLz5Mc.jpg
https://snag.gy/8lZt3E.jpg

Мне кажется, эти проблемы легко чинятся. Стоит их засабмитить вместе со стектрейсом из idea.log в https://youtrack.jetforcer.com/issues, там их бытсрее увидят и починят.

1 - А что по лицензиям??
Personal - 59$ (в год, месяц, день, 1 раз на всю жизнь)?

"1 раз на всю жизнь", т.е. "perpetual"

Commercial - 99$ (в год, месяц, день, 1 раз на всю жизнь),

аналогично - "1 раз на всю жизнь", т.е. "perpetual"

на сколько человеков?

грубо говоря - на 1 человека, если точнее - можно купить например 10 лицензий, поставить их на 100 машин, но одновременно пользоваться не больше чем 10ю, т.е. ограничение коммерческой лицензии на кол-во одновременно работающих юзеров

2 - Есть ли разница между P и С в плане саппорта и тд?

нет

3 - Сколько дней на триал? (30)

30 дней на первый триал, начиная с версии 1.2 добавлен "повторный триал" - при выходе каждой новой версии можно обновиться и попробовать еще 14 дней

Maxim Elets
я правильно понял что сейчас для ресурсов нельзя указать внешнюю папку?
то есть чтобы ресурсы распаковывались и запаковывались из папки resourses-uasya которая лежит в одном уровне с папкой src ?

Да, для ресурсов нельзя указать внешнюю папку. Собственно хотелось бы этого избежать и в будущем.

Svyatoslav Kovalsky
Собственно хотелось бы этого избежать и в будущем.

Лучше все-таки не избегать.
Есть много проектов заточенных под структуру того же MM. Они уже лежат в репозиториях.
Хотелось бы иметь src папку в проекте максимально чистой и соответствующей Salesforce Migration Tools (Ant).
Вот типичный случай. Папка src хранится в репозитории и используется разными тулами одинаково. Та же папка src должна спокойно перевариваться антом или любой IDE. В ММ с этим проблем нет.

Сорри, типичный случай не расскрыл пока пытался сформулировать идею.
Типичный случай - есть ант, и куча автоматизированных сктиптов.
Это все дело лежит в репозитории.
Берется ММ, создается пустой проект и папка src просто заменяется на ту что в репозитории.
Продолжаем работать.
Тоесть разрабы использую среду разработки поверх src, тот же CI использует src папку в своих черных делах (через ант)

Dmitry Shnyrev
Svyatoslav Kovalsky
Собственно хотелось бы этого избежать и в будущем.

Лучше все-таки не избегать.
Есть много проектов заточенных под структуру того же MM. Они уже лежат в репозиториях.
Хотелось бы иметь src папку в проекте максимально чистой и соответствующей Salesforce Migration Tools (Ant).
Вот типичный случай. Папка src хранится в репозитории и используется разными тулами одинаково. Та же папка src должна спокойно перевариваться антом или любой IDE. В ММ с этим проблем нет.

люто плюсую :)

Ну или было бы просто гуд иметь возможность запаковать ресурс со сторонней папки, потому что не знаю как у остальных, но у меня работа с ресурсами последнее время сводится к тому, чтобы поправить что-то в исходниках и сделать Deploy To Server(то есть просто собрать zip и залить). Не помню когда последний раз приходилось делать unzip ресурса

Маленький фидбек:
Работа с ресурсами неудобна
Файлы сохраняет по сравнению с ММ и IC просто ВЕЧНОСТЬ!!!!;
Постоянно пытается сначала рефрешнуть файл с орга, а потом проверить на конфликты, приходится вечно кликать на Cancel - совершенно неудобно. Может есть где галка чтобы отключить чек конфликтов?

Всем спасибо - остаюсь на ММ пока он не перестанет работать.

Может есть где галка чтобы отключить чек конфликтов?

Да, там вообще если конфликтов не обнаружено нотификация выскакивет что можно отключить проверку.
Ну либо ручками в настройках поменять галочку:

https://blog.jetbrains.com/idea/2018/02/salesforce-development-plugins-part-2-jetforcer/

Вышел неплохой пост про JF, можно ознакомиться

Кто успешно перешел на этот плагин?
Сильно большая ломка после IC?

vbay
Кто успешно перешел на этот плагин?
Сильно большая ломка после IC?

Я уже давненько с JF. У тебя уже не должно быть т.к. все что есть в IC, если и у JF + еще список фич сверху.

Руслан Курченко
vbay
Кто успешно перешел на этот плагин?
Сильно большая ломка после IC?

Я уже давненько с JF. У тебя уже не должно быть т.к. все что есть в IC, если и у JF + еще список фич сверху.


тогда будем стараться переходить

vbay
тогда будем стараться переходить

через неделю-две, если проклацаешь хоть раз большенство фич - отпиши
думаю, ты поймешь что IC много чего еще не хватает.

Руслан Курченко
vbay
тогда будем стараться переходить

через неделю-две, если проклацаешь хоть раз большенство фич - отпиши
думаю, ты поймешь что IC много чего еще не хватает.

Да, попробовал. Крутая штука.
Единственное к чему есть вопросы, работа с базой.
Очень очевидно она сделана, а так всё шикарно всё работает куда лучше чем в IC.

Ребята, IC cейчас полностью поменял политику новые версия будет стоить 125$ в год, я так понимаю они полностью будут переписывать IC под Salesforce DX подход. Может не прав.

vbay
Да, попробовал. Крутая штука.
Единственное к чему есть вопросы, работа с базой.
Очень очевидно она сделана, а так всё шикарно всё работает куда лучше чем в IC.

Не мог бы подроблее отписать по-поводу базы? Разработчикам будет полезно, смогут внести изменени.

Sergey Prishchepa
Ребята, IC cейчас полностью поменял политику новые версия будет стоить 125$ в год, я так понимаю они полностью будут переписывать IC под Salesforce DX подход. Может не прав.

У меня другая инфа, тоже не уверен что на 100% прав. Но, думаю, Скот набрав аудиторию меняет тип лицензии на subscription дабы зарабатывать больше, потому как работы у него хватает. Все тому причина - конкуренция. И это хорошо. Другое дело, что подписка на Webstorm стоит 50$ в год. И если сравнить цену на IDE, и плагина под нее... Дело лично каждого, как говориться.

Руслан Курченко
vbay
Да, попробовал. Крутая штука.
Единственное к чему есть вопросы, работа с базой.
Очень очевидно она сделана, а так всё шикарно всё работает куда лучше чем в IC.

Не мог бы подроблее отписать по-поводу базы? Разработчикам будет полезно, смогут внести изменени.

да, конечно.
мне нравилось как это сделано в IC, вкладка внизу, с которой ты мог сразу нафигачить запрос.
Да есть DB browser однако через него нельзя посмотреть схему базы.
Если там реализовать схему чтобы был момент автогенереации запросов.
тогда это было бы куда круче.
Допустим выбрал сущность, выбрал поля и вуаля запрос.

Кстати да! Это большая боль у меня, я помню даже эклипс себе ставил что бы такую штуку себе сделать,Когда работаешь со станадртными сисетмными объектами типо омни channel, вообще не понятно как инфу получать.

vbay
да, конечно.
мне нравилось как это сделано в IC, вкладка внизу, с которой ты мог сразу нафигачить запрос.
Да есть DB browser однако через него нельзя посмотреть схему базы.
Если там реализовать схему чтобы был момент автогенереации запросов.
тогда это было бы куда круче.
Допустим выбрал сущность, выбрал поля и вуаля запрос.

Думаю сильно страстраиваться не придется. Знаю что ребята работают над тем что ты описал, так что нужно лишь подождать.

Руслан Курченко
vbay
да, конечно.
мне нравилось как это сделано в IC, вкладка внизу, с которой ты мог сразу нафигачить запрос.
Да есть DB browser однако через него нельзя посмотреть схему базы.
Если там реализовать схему чтобы был момент автогенереации запросов.
тогда это было бы куда круче.
Допустим выбрал сущность, выбрал поля и вуаля запрос.

Думаю сильно страстраиваться не придется. Знаю что ребята работают над тем что ты описал, так что нужно лишь подождать.

Будем ждать
Ребята вообще монстры, фигачат молниеносно.

Если там реализовать схему чтобы был момент автогенереации запросов.
тогда это было бы куда круче.
Допустим выбрал сущность, выбрал поля и вуаля запрос.

Привет. Это сделано в версии 1.3, она уже вышла, можешь попробовать https://plugins.jetbrains.com/plugin/9238-jetforcer--the-smartest-force-com-ide/update/44063

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