Настройка Visual Studio Code для работы с Salesforce

,

Настройка Visual Studio Code состоит из нескольких шагов.

1. Настройка Visual Studio Code
2. Настройка проекта
3. Добавление расширений
4. Пример работы

Настройка Visual Studio Code

  1. Скачиваем и устанавливаем Visual Studio Code по ссылке.
  2. Скачиваем и устанавливаем Salesforce CLI по ссылке.
  3. Устанавливаем Salesforce CLI Integration на Visual Studio Code.

    Находим Salesforce CLI Integration, Install.
    image

Настройка проекта

После установки extension для VS Code, осталось настроить проект. Вам понадобится ввести несколько команд и иметь credentials от sf организации. Перед этим, перезапустите Visual Studio Code.

  1. Открыв VS Code нажмите сочетание клавиш Ctrl + Shift + P в открывшейся консоли находим команду
    SFDX: Create Project with Manifest

  2. Указываем имя проекта, и папку для хранения.

  3. В итоге вы должны получить вот такую структуру проекта.
    image

  4. Подключим организацию с которой вы будете работать. Нажимаем Ctrl + Shift + P ,
    находим SFDX: Authorize an Org

  5. Указываем alias для организации. После в окне браузера откроется страница входа на организацию. Вводим свои credentials. После входа можете закрыть окно.

  6. Вытаскиваем метаданные с подключенной организации. Открываем выпадающее меню нажатием на Package.xml и выбираем SFDX: Retrieve Source from Org

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

Добавление расширений

Так же рекомендую поставить расширения, которые заметно облегчат вам работу.
Это расширение подтянет для вас стандартный набор вспомогательных инструментов для работы с кодом. Установить его можно перейдя по ссылке или найти его в Visual Code Extensions под именем Salesforce Extension Pack.

Настройка

  1. Убедитесь что в файле settings.json в разделе Workspace settings добавлен путь на JDK библиотеку на вашем компьютере. Так же, это даст более корректное отображение результатов тестированния.
    image
settings.json
{
   "explorer.confirmDelete": false,
   "git.autofetch": true,
   "git.enableSmartCommit": true,
   "files.exclude": {
       "**/*meta.xml": true
   },
   "salesforcedx-vscode-apex.java.home": "C:/Program Files/Java/jdk1.8.0_221",
   "salesforcedx-vscode-core.retrieve-test-code-coverage": true,
   "salesforcedx-vscode-core.push-or-deploy-on-save.enabled":true
}

Пример работы

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

  1. Сохранить этот файл Ctrl + S.
  2. Нажать правой клавишей мыши в любом месте и выбрать команду: SFDX: Deploy This Source to Org
2 Вподобання

Сейчас можно автоматически деплоить изменения при сохранении файла.
Классная штука.

Единственное что меня огорчает, это запуск анонимус кода. нужно портить какой-то файл для этого. Над этой функцией что-то нужно думать.

Да, на горяие клавиши можно поставить любые команды) А вот с анонимусом пока печаль беда, не хватает его(

не совсем печаль, его запускать можно. но вот как это делать, это проблема.

Тю, оказалось всё очень просто, был приятно удивлён.)
Команда sfdx force:apex:execute запускает код))) После ввода команды, просит ввести код
Или что проще это сделать класс который будет нашим окном и там писать код и вызывать его через
sfdx force:apex:execute -f ~/test.apex

А если повесить это дело ещё на горячую клавишу)) То вообще класно) Считай тот же анонимус)

именно, отдельноее окно с кодом. это напрягает. если бы можно было это сделать внизу, рядом с дебагом. вот тогда был бы мир во всём мире и единороги.

1 Вподобання

Не нашел поиском темы по настройке Code Formatter для Apex
Насколько я понимаю, VSCode не имеет встроенного Code Formatter для Apex - используют или Prettier или Uncrustify.
А кто каким вариантом пользуется ? Может есть кто сможет поделиться опытом “тонкой” настройки Prettier?

Да, с форматированием апекса есть некоторые проблемы. Даже Prettier особо нормально это не поддерживает, так что пока всё в процессе. Prettier как понимаю больше к JS и LWC применяется, нежели к апексу. но могу ошибаться.
А пока стараюсь руками делать код красивее.

А таки есть плагин, однако настройка не самая простая из плагинов.
https://developer.salesforce.com/tools/vscode/en/user-guide/prettier/#site-main-content

Developer.salesforce.com - There is no formatter for ‘apex’-files installed

Salesforce.Stackexchange.com - Format APEX code Visual Studio code

Из того, что смог нагуглить - для Apex + VSCode есть 2 варианта

Первый вроде как проще в установке и настройке. В целом форматирует нормально, но постоянно у него тяга раскидать строку на мелкие куски. Длинные конкатенации строк или SOQL запросы внутри Apex он норовит раскидать прям по 1 полю SELECT в каждой строке. Скажем вариант “заполенния” строки по максимуму ширины он не поддерживает и если на входе вся строка меньше заданной максимальной ширины, что-то типа такого

SELECT Name, BillingAddress, CleanStatus, Phone, Rating, ShippingAddress, Type, Website FROM Account

Он раскидает автоматом в

SELECT
Name,
BillingAddress,
CleanStatus,
Phone, Rating,
ShippingAddress,
Type,
Website
FROM Account

Вместо визуально оптимального

SELECT Name, BillingAddress, CleanStatus, Phone, Rating, ShippingAddress,
Type, Website
FROM Account

Даже на гите проблема такого плана была озвучена - To break or not to break (every possible line break emitted). Так и осталась не решена

А с Uncrustify там вагон и маленькая тележка настроек - нужно время, что бы разобраться, а дефолтные “с каропки” вообще не торт…
Может кто разбирался с Uncrustify и есть готовый подобранный набор uncrustify.cfg, так что бы был максимально близко к Prettier но без приколов с дроблением на строки.

У меня проблема с авторизацией.
Я зарегистрировался получил триальную версию “essential” а с ней получается нельзя авторизироватся, такой возможности api нет…
https://prnt.sc/1touqqq