Visual studio 2018 настройка: Настройка Visual Studio для разработки в файловой системе

c# — Копирование файла настроек в шаблоне проекта Visual Studio


Вопрос задан


Изменён
5 лет 3 месяца назад


Просмотрен
170 раз

Делаю шаблон проекта VS и хочу, чтобы создаваемый проект содержал настройки и аргументы запуска внешней программы. Файл с настройками должен быть просто скопирован в каталог проекта.

Сами настройки VS хранит в файле $projectname$.csproj.user на который нет никаких ссылок из файла проекта (.csproj).

Тут возникает проблема: VS не копирует файлы, которые не задействованы в файле проекта. В $projectname$.csproj должно быть прописано что-то вроде такого <None Include="$projectname$.csproj.user" />, чтобы файл $projectname$. csproj.user был, все-таки, скопирован. Но тогда он появляется в Solution Explorer и настройки из него считываются только после переоткрытия решения.

Project.vstemplate:

<TemplateContent>
    <Project File="ProjectTemplate.csproj" ReplaceParameters="true">
      <ProjectItem ReplaceParameters="true" TargetFileName="Properties\AssemblyInfo.cs">AssemblyInfo.cs</ProjectItem>
      <ProjectItem ReplaceParameters="true" TargetFileName="$projectname$.csproj.user">ProjectTemplate.csproj.user</ProjectItem>
    </Project>
</TemplateContent>

Как можно решить эту проблему?

  • c#
  • visual-studio-2017
  • visual-studio-extensions

Можно скрыть элемент в Solution Explorer, если указать значение метасвойства Visible:

<None Include="$projectname$.csproj.user" Visible="false" />

За старый формат проекта не отвечаю. Скорее всего, там надо указывать отдельным элементом:

<None Include="$projectname$. csproj.user">
  <Visible>false</Visible>
</None>

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

Кстати, если перейдёте на новый формат проекта, то там профили запуска лежат отдельным красивым файлом launchSettings.json, и профилей может быть много с разными настройками. Рекомендую.






1







Зарегистрируйтесь или войдите

Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации

Почта

Необходима, но никому не показывается

Отправить без регистрации



Почта

Необходима, но никому не показывается




By clicking “Отправить ответ”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.


Настройка Visual Studio Code для работы с Salesforce — Настройка окружений под Salesforce

alexander.bogomaz


1

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

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

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

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

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

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

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

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

  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 библиотеку на вашем компьютере. Так же, это даст более корректное отображение результатов тестированния.

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

3 Likes

balu


5

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

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

alexander.bogomaz


6

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

balu


7

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

alexander.bogomaz


8

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

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

balu


9

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

1 Like

Euqariot


10

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

balu


11

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

balu


12

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

Euqariot


13

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

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

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

  • Prettier Code Formatter ( Prettier extension for VS Code + Prettier Apex plugin )
  • Uncrustify — (Install the Uncrustify plugin on Visual Studio Code + Salesforce Apex Beautified in VS Code with Uncrustify)

Первый вроде как проще в установке и настройке. В целом форматирует нормально, но постоянно у него тяга раскидать строку на мелкие куски. Длинные конкатенации строк или 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 но без приколов с дроблением на строки.

Vitaliy_Bendik


14

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

Мастер импорта проекта развертывания Visual Studio

Мастер импорта проекта развертывания Visual Studio

InstallShield 2018

Мастер импорта проекта развертывания Visual Studio позволяет импортировать проект установки или модуля слияния Visual Studio (.vdproj) в проект InstallShield (.ism). Вы можете повторно использовать этот мастер, если хотите импортировать несколько проектов Visual Studio в свой проект InstallShield.

Важно • Если проект модуля установки или слияния Visual Studio, который вы хотите импортировать в проект InstallShield, содержит один или несколько выходных данных проекта, проект InstallShield должен находиться в том же решении Visual Studio, которое содержит проект модуля установки или слияния Visual Studio и все его проектные зависимости.

Чтобы запустить мастер импорта проекта развертывания Visual Studio, выполните одно из следующих действий:

Если вы используете InstallShield отдельно (без интеграции с Visual Studio): в меню «Проект» нажмите кнопку «Импорт проекта развертывания VS».
Если вы используете InstallShield из Visual Studio: на панели инструментов InstallShield нажмите кнопку мастера импорта проекта развертывания Visual Studio.

Этот мастер состоит из следующих панелей:

Добро пожаловать
Файл проекта
Опции
Резюме

Online_Only__HelpNet___Local_Help_»> См. также

Преобразование или импорт проектов Visual Studio в проекты InstallShield

Открыть тему с навигацией

Настройка кода Visual Studio для использования современной среды разработки с Dynamics NAV 2018 — ARKSD Consultancy Private Limited

После установки Dynamics NAV 2018 я хочу настроить Visual Studio Code с Dynamics NAV для использования нового инструмента разработки.

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

Вы можете скачать VS Code отсюда: Нажмите, чтобы загрузить Visual Studio Code

Установите и запустите Visual Studio Code.

Теперь нажмите Вид -> Расширения.

Нажмите …, чтобы открыть меню расширения.

Нажмите «Установить из VSIX». 4 или в

«C:\Program Files (x86)\Microsoft Dynamics NAV\110\Modern Development Environment»

Будет установлена ​​версия языка AL 0. 12.15355

После завершения установки расширения выполните следующие действия.

Нажмите Alt+A, Alt+L, чтобы запустить Go! Команда

Введите имя проекта и нажмите Enter

Выберите «Ваш собственный сервер»

После выбора «Ваш собственный сервер» вы увидите код, подобный приведенному ниже, в файле «launch.json».

Обновите информацию, чтобы она выглядела примерно так, как показано ниже: —

Я обновил свой ServerInstance как DynamicsNAV110 (вы проверяете имя своего экземпляра, если оно было изменено при установке сервера)

Я обновил свою аутентификацию как Windows (я использую обновление аутентификации Windows, которое вы используете соответственно)

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

Теперь сохраните файл. И нажмите .

Введите свои учетные данные.

Предполагается, что URL-адрес сервера и URL-адрес веб-клиента совпадают. Это не относится к делу. Два параметра, о которых мы говорили выше, URL-адрес сервера и номер порта разработчика — это единственные параметры, которые вам нужны в файле launch.json.

Когда VS Code публикует расширение на сервере NAV, сервер NAV возвращает URL-адрес веб-клиента в качестве ответа. Затем этот URL-адрес открывается в браузере. Никаких настроек в файле launch.json не требуется.

Сервер NAV считывает эту настройку из настройки URL-адреса базы веб-клиентов.

Ваше расширение опубликовано, вы можете проверить, как показано ниже:

Теперь вы можете приступить к разработке своих расширений с помощью New Modern Development Tool с использованием AL.

Надеюсь, это прояснило ваши сомнения относительно совместной работы VS Code и сервера NAV!

Я сообщу подробности по ходу дела.

Оценить:

Нравится:

Нравится Загрузка.