• Accueil / Salesforce / Développer contre n’importe…
, Développer contre n&rsquo;importe quelle organisation avec les tâches de code Visual Studio &#8211; Douglas C. Ayers<span class="wtr-time-wrap after-title"><span class="wtr-time-number">10</span> minutes de lecture</span>

Développer contre n’importe quelle organisation avec les tâches de code Visual Studio – Douglas C. Ayers10 minutes de lecture


Je suis un grand fan de Salesforce DX, en particulier CLI Salesforce et scratch orgs. Comme le Extensions Salesforce pour Visual Studio Code mûrit, j’ai fait plus de développement dans cet éditeur pour mes projets au travail et une preuve de concepts rapide. Je soutiens et utilise toujours fortement IlluminatedCloud plugin pour IntelliJ pour mes projets open source car je préfère la richesse de cet IDE, son intelligence, et la facilité d’émettre des requêtes SOQL ou d’exécuter Apex anonyme. Mais je m’éloigne du sujet.

Nouveau sur Salesforce DX? Apprenez sur Trailhead avec le Démarrage rapide: Salesforce DX projet.

Nouveau dans Visual Studio Code? Apprenez sur Trailhead avec le Démarrage rapide: Visual Studio Code pour le développement Salesforce projet.

Dans les versions récentes, les extensions Salesforce pour Visual Studio Code prennent mieux en charge les projets qui suivent soit un modèle de développement organisationnel ou un modèle de développement de package. Cela signifie que vous pouvez déployer et récupérer des métadonnées dans l’un ou l’autre format source ou API de métadonnées format à n’importe quelle organisation, y compris les organisations de travail, les sandbox et les organisations de production.

L’une de ces améliorations est l’introduction du force: source: déployer commande qui comprend comment déployer des métadonnées dans l’un ou l’autre format alors que l’original force: source: pousser et force: mdapi: déployer Les commandes ne comprennent que leurs formats de fichiers.

Exemples de commandes de déploiement

Pour déployer des métadonnées définies au format source (par exemple, projet Salesforce DX):

sfdx force:source:deploy --sourcepath force-app

Pour déployer des métadonnées définies dans package.xml (par exemple, un projet d’API de métadonnées):

sfdx force:source:deploy --manifest src/package.xml

Vous pouvez trouver de nombreux autres exemples dans le Développer contre n’importe quelle organisation documentation du Guide du développeur Salesforce DX.

Voyons donc comment les extensions Salesforce pour Visual Studio Code aident les développeurs à se déployer dans n’importe quelle organisation.

Configurez votre environnement

Découvrez comment installer Salesforce CLI, Visual Studio Code et les extensions Salesforce en complétant Démarrage rapide: Visual Studio Code pour le développement Salesforce sur Trailhead.

Pour activer les extensions Salesforce, votre projet doit inclure un sfdx-project.json fichier. Vous pouvez exécuter la commande sfdx force:project:create -n myproj pour échafauder un nouveau projet Salesforce DX et créera un fichier sfdx-project.json ou vous pouvez créer le fichier vous-même avec les éléments suivants contenu pour définir la configuration la plus simple.

{
« packageDirectories« :[[
{
« chemin« : « force-app« ,
« défaut« : vrai
}
],
« espace de noms« : « « ,
« sfdcLoginUrl« : « https://login.salesforce.com« ,
« sourceApiVersion« : « 45,0« 
}

Vous devez également définir votre nom d’utilisateur par défaut config pour pointer vers une organisation suivie par la source, telle qu’une organisation scratch. Le nom d’utilisateur par défaut indique à l’interface de ligne de commande Salesforce, puis aux extensions Salesforce, sur quelle organisation effectuer des actions. Ouvrez la palette de commandes et choisissez SFDX: définir une organisation par défaut.

, Développer contre n&rsquo;importe quelle organisation avec les tâches de code Visual Studio – Douglas C. Ayers<span class="wtr-time-wrap after-title"><span class="wtr-time-number">10</span> minutes de lecture</span>

C’est également par cette variable de configuration que Salesforce Extensions déduit si l’organisation est suivie ou non par la source pour filtrer intelligemment les commandes dans la palette de commandes ou cliquez avec le bouton droit sur les options du menu contextuel pour vous proposer des actions pertinentes pour le type org contre lequel vous vous développez.

Explorons ensuite ces suggestions de commandes.

Code Visual Studio et organisations suivies par la source

Si votre nom d’utilisateur par défaut est une organisation suivie par la source, telle qu’une organisation scratch, vous pouvez exécuter SFDX: Source Push ou SFDX: Source d’extraction commandes de la palette de commandes. Celles-ci correspondent aux commandes CLI force:source:push et force:source:pull, respectivement.

, Développer contre n&rsquo;importe quelle organisation avec les tâches de code Visual Studio – Douglas C. Ayers<span class="wtr-time-wrap after-title"><span class="wtr-time-number">10</span> minutes de lecture</span>

Pour déployer vos métadonnées dans une autre organisation, ouvrez le terminal et exécutez le force:source:deploy commande à déployer vers une organisation cible. Notez dans la commande suivante que nous utilisons le --sourcepath argument pour référencer notre répertoire de métadonnées au format source.

sfdx force:source:deploy 
--sourcepath force-app
--targetusername

Code Visual Studio et organisations non suivies à la source

Comme notre projet de développement par rapport à une organisation suivie par la source, pour utiliser les extensions Salesforce pour le développement de projets avec des organisations non suivies par la source, nous avons toujours besoin d’un sfdx-project.json fichier.

Traditionnellement, les projets qui fonctionnent avec le format API de métadonnées ont un dossier nommé src au lieu de force-app. Quel que soit le nom de dossier que vous utilisez, assurez-vous de mettre à jour le "path": "force-app" ligne dans votre sfdx-project.json file pour spécifier le nom du dossier contenant vos métadonnées.

La commodité pour les organisations non suivies à la source est que vous pouvez cliquer avec le bouton droit sur un fichier ou un dossier dans votre projet et choisir la commande SFDX: Déployer la source ou SFDX: récupérer la source. Celles-ci correspondent aux commandes CLI force:source:deploy et force:source:retrieve, respectivement. Notez qu’au moment de la rédaction de cet article, ces commandes n’apparaissent pas dans la palette de commandes, uniquement en tant qu’options du menu contextuel du clic droit, et uniquement pour les projets dont le nom d’utilisateur par défaut fait référence à une organisation sans suivi de source.

, Développer contre n&rsquo;importe quelle organisation avec les tâches de code Visual Studio – Douglas C. Ayers<span class="wtr-time-wrap after-title"><span class="wtr-time-number">10</span> minutes de lecture</span>

Pour déployer ensuite vos métadonnées dans n’importe quelle autre organisation, ouvrez le Terminal et exécutez le force:source:deploy commande à déployer vers une organisation cible. Notez dans la commande suivante que nous utilisons le --manifest argument pour référencer notre package.xml qui fait référence à nos métadonnées au format API de métadonnées.

sfdx force:source:deploy 
--manifest src/package.xml
--targetusername

Développer contre n’importe quelle organisation

Comme nous l’avons vu, les extensions Salesforce fournissent SFDX: pousser / SFDX: tirer commandes pour les projets se développant avec des organisations suivies à la source, et SFDX: Déployer la source / SFDX: récupérer la source Cliquez avec le bouton droit sur les options du menu contextuel pour les projets se développant avec des organisations non suivies à la source.

Mais que se passe-t-il si vous souhaitez déployer ou récupérer des éléments spécifiques de métadonnées, quel que soit le type d’organisation par rapport auquel votre projet se développe?

J’apprécie ce que font les commandes push / pull en détectant automatiquement les différences entre mon projet local et mon organisation de travail, mais parfois je veux simplement déployer ou récupérer des fichiers spécifiques et contourner la détection de changement. Et je ne veux pas me préoccuper de savoir si je développe contre une organisation scratch, un sandbox, une organisation Developer Edition, etc.

Parfois, j’apporte des modifications à l’organisation que je ne souhaite pas intégrer à mon projet, telles que la mise en page, l’activation / la désactivation de la mise en cache ou le test de modifications mineures du profil. Je ne veux pas non plus organiser méticuleusement un .forceignore fichier pour filtrer ces modifications afin qu’elles ne soient pas intégrées à mon projet.

D’autres fois, je peux supprimer des fichiers de mon projet local sans avoir l’intention de vouloir que les métadonnées soient supprimées de mon organisation, comme force:source:push commande pourrait tenter de faire. Je ne veux pas non plus organiser méticuleusement un .forceignore fichier pour filtrer ces modifications afin qu’elles ne soient pas transmises à mon organisation.

Quand je me retrouve dans ces situations avec des organisations scratch, je retombe toujours force:source:deploy, force:source:retrieve, et force:source:delete commandes. Mais comme les extensions Salesforce n’offrent pas ces options via la palette de commandes ou le menu contextuel du clic droit lorsque le nom d’utilisateur par défaut de mon projet fait référence à une organisation suivie par la source, je dois exécuter ces commandes à partir de la ligne de commande.

Ou dois-je?

Déployer, récupérer et supprimer la source avec des tâches

Visual Studio Code fournit des options simples pour fournir des menus pour exécuter des commandes. Vous avez vu cela en utilisant la palette de commandes, mais vous pouvez également créer votre propre Tâches sans écrire de code.

J’ai donc créé mes propres tâches pour déployer, récupérer et supprimer la source et les rendre disponibles pour être exécutées via le Terminal> Exécuter la tâche de construction… menu ou le raccourci clavier Ctrl + Maj + B (Windows) et Cmd + Maj + B (macOS).

Maintenant, je peux rapidement et facilement déployer, récupérer ou supprimer le fichier actuellement ouvert, ou un dossier entier de métadonnées, par rapport à mon organisation par défaut.

, Développer contre n&rsquo;importe quelle organisation avec les tâches de code Visual Studio – Douglas C. Ayers<span class="wtr-time-wrap after-title"><span class="wtr-time-number">10</span> minutes de lecture</span>

Essayez-le vous-même en créant un tâches.json fichier dans votre projet .vscode dossier et en remplaçant le contenu du fichier par ce qui suit configuration.

{
« version« : « 2.0.0« ,
« Tâches« :[[
{
« étiquette« : « SFDX: déployer le fichier actuel« ,
« type« : « coquille« ,
« commander« : « sfdx« ,
« args« :[[
« force: source: déployer« ,
« –sourcepath« ,
« $ {relativeFile}« ,
« –attendez« ,
« dix« 
],
« groupe« : « construire« ,
« présentation« : {
« révéler« : « toujours« ,
« panneau« : « partagé« 
},
« problemMatcher« : []
},
{
« étiquette« : « SFDX: récupérer le fichier actuel« ,
« type« : « coquille« ,
« commander« : « sfdx« ,
« args« :[[
« force: source: récupérer« ,
« –sourcepath« ,
« $ {relativeFile}« ,
« –attendez« ,
« dix« 
],
« groupe« : « construire« ,
« présentation« : {
« révéler« : « toujours« ,
« panneau« : « partagé« 
},
« problemMatcher« : []
},
{
« étiquette« : « SFDX: Supprimer le fichier actuel« ,
« type« : « coquille« ,
« commander« : « sfdx« ,
« args« :[[
« forcer: source: supprimer« ,
« –sourcepath« ,
« $ {relativeFile}« ,
« –attendez« ,
« dix« 
],
« groupe« : « construire« ,
« présentation« : {
« révéler« : « toujours« ,
« panneau« : « partagé« 
},
« problemMatcher« : []
},
{
« étiquette« : « SFDX: Déployer le dossier« ,
« type« : « coquille« ,
« commander« : « sfdx« ,
« args« :[[
« force: source: déployer« ,
« –sourcepath« ,
« $ {input: sourcePath}« ,
« –attendez« ,
« dix« 
],
« groupe« : « construire« ,
« présentation« : {
« révéler« : « toujours« ,
« panneau« : « partagé« 
},
« problemMatcher« : []
},
{
« étiquette« : « SFDX: récupérer le dossier« ,
« type« : « coquille« ,
« commander« : « sfdx« ,
« args« :[[
« force: source: récupérer« ,
« –sourcepath« ,
« $ {input: sourcePath}« ,
« –attendez« ,
« dix« 
],
« groupe« : « construire« ,
« présentation« : {
« révéler« : « toujours« ,
« panneau« : « partagé« 
},
« problemMatcher« : []
},
{
« étiquette« : « SFDX: Supprimer le dossier« ,
« type« : « coquille« ,
« commander« : « sfdx« ,
« args« :[[
« force: source: supprimer« ,
« –sourcepath« ,
« $ {input: sourcePath}« ,
« –attendez« ,
« dix« 
],
« groupe« : « construire« ,
« présentation« : {
« révéler« : « toujours« ,
« panneau« : « partagé« 
},
« problemMatcher« : []
}
],
« contributions« :[[
{
« id« : « sourcePath« ,
« type« : « promptString« ,
« la description« : « Chemin du dossier vers les métadonnées source« ,
« défaut« : « force-app« 
}
]
}

Ressources



Source de l’article traduit automatiquement en Français

Besoin d'aide ?
Voulez-vous utiliser Pardot à sa capacité maximale et avoir
+ DE LEADS QUALIFIÉS

Notre analyse de votre Pardot offerte dès aujourd'hui
Merci, vous pouvez compléter notre questionnaire
Nous allons revenir vers vous rapidement !

Fermer