Plugin

Afficher les obsolètes

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Création impossible

Le plugin est l'objet principal responsable de la création de widgets de base de Studio, de barres d'outils de plugin, de boutons de plugin et plus encore.C'est une extension personnalisée de Studio qui ajoute de nouveaux comportements et fonctionnalités qui ne sont normalement pas inclus.L'objet plugin peut être accédé via la référence globale plugin dans un Script qui est exécuté en tant que plugin.

Échantillons de code

The plugin global reference is not passed to ModuleScripts within the plugin. In order to use it in a ModuleScript, you must explicitly pass it as seen in the example below.

Script - Pass the Plugin Global to a ModuleScript

assert(plugin, "This script must be run as a plugin!")
-- Code beyond this point will execute only if the script is run as a plugin
-- Load the module and pass the plugin reference
local pluginModule = require(script.Parent.PluginModule)
pluginModule:Initialize(plugin)
-- Verify if the plugin reference was initialized
pluginModule:CheckForPluginGlobal()
ModuleScript - Receive and Store the Plugin Global

local pluginModule = {}
local plugin -- Local plugin reference
-- Initialize the plugin reference if not already set
function pluginModule:Initialize(pluginReference: Plugin)
if plugin ~= pluginReference then
plugin = pluginReference
else
error("Plugin is already initialized")
end
end
-- Check if the plugin reference is set and print out appropriate info
function pluginModule:CheckForPluginGlobal()
if plugin ~= nil then
print("Plugin reference is set!")
else
warn("Plugin reference is missing!")
end
end
return pluginModule

Résumé

Propriétés

  • Lecture uniquement
    Non répliqué
    Lecture parallèle

    Renvoie si l'utilisateur a activé Collisions dans Studio sous l'onglet modèle.

  • Sécurité des scripts Roblox
    Lecture parallèle
  • Lecture uniquement
    Non répliqué
    Lecture parallèle

    Renvoie la taille d'accrochage de grille que l'utilisateur a définie dans Studio.

  • Sécurité des scripts Roblox
    Lecture parallèle

Méthodes

Évènements

Propriétés

CollisionEnabled

Lecture uniquement
Non répliqué
Lecture parallèle

Renvoie si l'utilisateur a activé Collisions dans Studio sous l'onglet modèle.

DisableUIDragDetectorDrags

Sécurité des scripts Roblox
Lecture parallèle

GridSize

Lecture uniquement
Non répliqué
Lecture parallèle

Renvoie la taille d'accrochage de grille que l'utilisateur a définie dans Studio sous les onglets modèle ou avatar du menu bar.Notez que cette propriété peut avoir des erreurs de rondeur légères ; par exemple, elle peut être 0.0099999997764826 pour un paramètre d'utilisateur de 1 ou 0.4000000059604645 pour un paramètre d'utilisateur de 0.4 .

IsDebuggable

Sécurité des scripts Roblox
Lecture parallèle

Méthodes

Activate

()
Sécurité des plugins

Cette fonction définit l'état du plugin d'appel à activé. L'activation du plugin permet le contrôle de la souris via la méthode Plugin:GetMouse().

À tout moment, il y a 0 ou 1 plugin activé.L'activation d'un plugin désactivera tous les autres plugins (ils recevront un événement Plugin.Deactivation).

Voir aussi :

  • Plugin:IsActivatedWithExclusiveMouse() , renvoie vrai si ce plugin est actuellement actif avec une souris exclusive, après avoir été activé via cette fonction
  • Plugin.Unloading , se déclenche immédiatement avant que le plugin ne soit déchargé ou rechargé via désactivation, désinstallation ou mise à jour

Paramètres

exclusiveMouse: boolean

Un booléen spécifiant si activer le plugin avec une souris exclusive. Si c'est vrai, un PluginMouse peut être récupéré via Plugin:GetMouse() .

Valeur par défaut : ""

Retours

()

CreatePluginAction

Sécurité des plugins

Cette fonction crée un PluginAction qui est un objet qui représente une action générique exécutable dans Roblox Studio, sans lien direct avec Toolbar ou Enum.Button.Dans Roblox Studio, ils peuvent être attribués une raccourci clavier sous File → Advanced → Customize Shortcuts… , et ils peuvent également être ajoutés à la barre d'accès rapide.

Lorsqu'une action est déclenchée, l'événement PluginAction.Triggered est signalé.

Pour que les actions de plugin fonctionnent comme prévu, elles doivent être créées en utilisant cette fonction.

Voir aussi :

  • PluginMenu , un menu contextuel qui peut être affiché dans Studio qui affiche une liste d'actions de plugin et prend en charge les sous-menus
  • Plugin:CreatePluginMenu() , crée un PluginMenu

Paramètres

actionId: string

Doit être une chaîne unique qui identifie cette action de plugin des autres.

Valeur par défaut : ""
text: string

Le nom affiché de l'action.

Valeur par défaut : ""
statusTip: string

La description affichée de l'action.

Valeur par défaut : ""
iconName: string

Le nom de l'icône utilisée pour afficher le plugin.

Valeur par défaut : ""
allowBinding: boolean

Si le PluginAction sera caché de la voirde raccourcis de Studio. Utile pour les actions contextuelles. Par défaut, c'est vrai.

Valeur par défaut : true

Retours

Échantillons de code

This code sample visualizes how to create a PluginAction. These must be created using the Plugin:CreatePluginAction() method in order to work.

In order to work as expected, the code block must but pasted into the Command Bar, but only once. Consecutive attempts at executing the code in the Command Bar will result in an error because a plugin cannot create more than one PluginMenu with the same ID.

When the created action is bound and Triggered, it outputs Hello world!.

Creating a PluginAction

local pluginAction = plugin:CreatePluginAction(
"HelloWorldAction",
"Hello World",
"Prints a 'Hello world!'",
"rbxasset://textures/sparkle.png",
true
)
pluginAction.Name = "Test Action"
local function actionTriggered()
print("Hello world!")
end
pluginAction.Triggered:Connect(actionTriggered)

CreatePluginMenu

Sécurité des plugins

Cette fonction crée un nouveau PluginMenu , qui est un menu contextuel qui peut être affiché dans Studio qui affiche une liste de PluginActions et prend en charge les sous-menus.

Pour que les menus de plugin fonctionnent comme prévu, ils doivent être créés en utilisant cette fonction.

Voir aussi :

Paramètres

id: string

ID unique pour le menu.

Valeur par défaut : ""
title: string

Le texte à afficher lorsqu'il est utilisé comme sous-menu.

Valeur par défaut : ""
icon: string

L'icône à afficher lorsqu'elle est utilisée comme sous-menu.

Valeur par défaut : ""

Retours

Échantillons de code

This code sample visualizes how PluginMenus and PluginActions behave when created for a Plugin. Outside of this example, you should not parent the plugin or its functional components to the experience's workspace.

In order to work as expected, the code block must but pasted into the Command Bar, but only once. Consecutive attempts at executing the code in the Command Bar will result in an error because a plugin cannot create more than one PluginMenu with the same ID.

After executing the code, changing the created BoolValue in the experience's workspace opens the plugin's menus. Selecting an action from the menus the function connected to the trigger signal.

Creating a PluginMenu and PluginMenuAction

-- This code can be pasted into the command bar, but only once
local pluginMenu = plugin:CreatePluginMenu(math.random(), "Test Menu")
pluginMenu.Name = "Test Menu"
pluginMenu:AddNewAction("ActionA", "A", "rbxasset://textures/loading/robloxTiltRed.png")
pluginMenu:AddNewAction("ActionB", "B", "rbxasset://textures/loading/robloxTilt.png")
local subMenu = plugin:CreatePluginMenu(math.random(), "C", "rbxasset://textures/explosion.png")
subMenu.Name = "Sub Menu"
subMenu:AddNewAction("ActionD", "D", "rbxasset://textures/whiteCircle.png")
subMenu:AddNewAction("ActionE", "E", "rbxasset://textures/icon_ROBUX.png")
pluginMenu:AddMenu(subMenu)
pluginMenu:AddSeparator()
pluginMenu:AddNewAction("ActionF", "F", "rbxasset://textures/sparkle.png")
local toggle = Instance.new("BoolValue")
toggle.Name = "TogglePluginMenu"
toggle.Parent = workspace
local function onToggled()
if toggle.Value then
toggle.Value = false
local selectedAction = pluginMenu:ShowAsync()
if selectedAction then
print("Selected Action:", selectedAction.Text, "with ActionId:", selectedAction.ActionId)
else
print("User did not select an action!")
end
end
end
toggle.Changed:Connect(onToggled)

CreateToolbar

Sécurité des plugins

La fonction Créer une barre d'outils crée une nouvelle PluginToolbar avec le nom donné. La barre d'outils peut ensuite être utilisée pour créer des boutons de plugin.

Paramètres

name: string

Le texte visible sur la barre d'outils, qui étiquette le groupe de boutons contenus à l'intérieur.

Valeur par défaut : ""

Retours

Échantillons de code

This code creates a toolbar with the name "ExampleToolbar".

Plugin:CreateToolbar

plugin:CreateToolbar("ExampleToolbar")

Deactivate

()
Sécurité des plugins

Désactive le plugin. Cela désengagera le PluginMouse associé s'il a été activé

Voir aussi :

  • Plugin:Activate() , définit l'état du plugin d'appel à activé
  • Plugin.Deactivation , se déclenche lorsque le plugin est désactivé
  • Plugin.Unloading , se déclenche immédiatement avant que le plugin ne soit déchargé ou rechargé via désactivation, désinstallation ou mise à jour

Retours

()
Sécurité des plugins

Retourne le Enum.JointCreationMode que l'utilisateur a défini dans Studio sous l'onglet modèle.


Retours

GetMouse

Sécurité des plugins

GetMouse renvoie un PluginMouse qui peut être utilisé pendant que le plugin est actif via Plugin:Activate() .


Retours

Échantillons de code

This code would print Button 1 pressed from PluginMouse each time the mouse's left button was clicked.

Plugin:GetMouse

local mouse = plugin:GetMouse()
local function button1Down()
print("Button 1 pressed from PluginMouse")
end
mouse.Button1Down:Connect(button1Down)

GetSelectedRibbonTool

Sécurité des plugins

GetSelectedRibbonTool renvoie l'outil Enum.RibbonTool sélectionné actuellement.Il renvoie un Enum correspondant à un outil spécifique.Cela retournera si l'outil est sélectionné manuellement ou programmatiquement via Plugin:SelectRibbonTool() .


Retours

Échantillons de code

This code must be run from a plugin. This code selects the move tool, checks which tool is selected, then prints out to the console which tool is selected. SelectRibbonTool will not return the value until the next frame.

Plugin:GetSelectedRibbonTool

plugin:SelectRibbonTool(Enum.RibbonTool.Move, UDim2.new())
task.wait() -- wait for next frame
local selectedRibbonTool = plugin:GetSelectedRibbonTool()
print("The selected RibbonTool is", selectedRibbonTool)

GetSetting

Variant
Sécurité des plugins

Récupère une valeur précédemment stockée avec la clé donnée, ou nil si la clé donnée n'existe pas.

Comme plusieurs instances du même plugin peuvent s'exécuter simultanément (par exemple, si plusieurs fenêtres Studio sont ouvertes), vous ne devriez pas dépendre de cette valeur qui reste la même au fil du temps.Les autres instances de plugin peuvent mettre à jour le paramètre à tout moment.

Cet appel peut échouer silencieusement et retourner nil si plusieurs instances du même plugin lisent et écrivent activement des données.Si votre plugin s'attend à écrire souvent dans les paramètres, vous devriez vérifier deux fois la valeur renvoyée par cet appel après un court laps de temps pour distinguer entre un paramètre temporairement indisponible et un paramètre non existant.

Paramètres

key: string
Valeur par défaut : ""

Retours

Variant

Échantillons de code

The below example would print the value saved to the key FirstTime. If the key doesn't exist, it would print nil.

Plugin:GetSetting

local RAN_BEFORE_KEY = "RanBefore"
local didRunBefore = plugin:GetSetting(RAN_BEFORE_KEY)
if didRunBefore then
print("Welcome back!")
else
plugin:SetSetting(RAN_BEFORE_KEY, true)
print("Welcome! Thanks for installing this plugin!")
end

Intersect

Sécurité des plugins

Paramètres

objects: Instances
Valeur par défaut : ""

Retours

IsActivated

Sécurité des plugins

Cette fonction renvoie true si ce plugin est actuellement actif, après avoir été activé via la fonction Plugin:Activate().


Retours

Un booléen indiquant si le plugin est actuellement actif.

IsActivatedWithExclusiveMouse

Sécurité des plugins

Cette fonction renvoie true si ce plugin est actuellement actif avec une souris exclusive, après avoir été activé via la fonction Plugin:Activate().Si cela renvoie vrai, un PluginMouse peut être récupéré via Plugin:GetMouse() .

Voir aussi :

  • Plugin.Deactivation , se déclenche lorsque le plugin est désactivé
  • Plugin.Unloading , se déclenche immédiatement avant que le plugin ne soit déchargé ou rechargé via désactivation, désinstallation ou mise à jour

Retours

Si ce plugin est actuellement actif avec une souris exclusive.

Negate

Instances
Sécurité des plugins

Nie les parties données et renvoie les opérations de négation résultantes.

Paramètres

objects: Instances
Valeur par défaut : ""

Retours

Instances

OpenScript

()
Sécurité des plugins

Utilisé pour ouvrir l'instance de script donnée dans une fenêtre de l'éditeur, dans Roblox Studio, à la ligne donnée.Si aucune ligne n'est donnée en argument, elle sera par défaut à 1.

Paramètres

Valeur par défaut : ""
lineNumber: number
Valeur par défaut : 1

Retours

()

Échantillons de code

The following would open a newly created Script in Workspace, assuming the variable "Plugin" was already declared.

Plugin:OpenScript

local newScript = Instance.new("Script")
newScript.Parent = workspace
plugin:OpenScript(newScript)

OpenWikiPage

()
Sécurité des plugins

Ouvre la fenêtre d'aide contextuelle sur la page du wiki à laquelle url liens.

Paramètres

url: string
Valeur par défaut : ""

Retours

()

Échantillons de code

The following, when executed in a plugin, will open the BasePart API page in the context help.

Plugin:OpenWikiPage

plugin:OpenWikiPage("API:Class/BasePart")

SaveSelectedToRoblox

()
Sécurité des plugins

Ouvre une fenêtre de téléchargement pour la sélection actuelle de l'utilisateur.


Retours

()

SelectRibbonTool

()
Sécurité des plugins

Active l'outil Roblox Studio spécifié. Si l'outil ouvre une fenêtre, le paramètre de position indique où il doit être affiché sur l'écran.

Remarque :

  • Un objet doit être sélectionné afin que cela fonctionne correctement.
  • Le changement des champs d'échelle de la propriété position n'affectera pas les popups de dialogue.

Paramètres

Valeur par défaut : ""
position: UDim2
Valeur par défaut : ""

Retours

()

Separate

Instances
Sécurité des plugins

Sépare les opérations d'union données et renvoie les parties résultantes.

Paramètres

objects: Instances
Valeur par défaut : ""

Retours

Instances

SetSetting

()
Sécurité des plugins

Stocke une valeur donnée pour une utilisation ultérieure sous la clé donnée.La valeur persiste même après la fermeture de Roblox Studio.Ces paramètres sont enregistrés au format JSON comme une carte avec des clés de chaîne.Les tableaux sont automatiquement convertis en cartes en convertissant d'abord les clés numériques en chaînes.

Notez que le format JSON impose des restrictions supplémentaires, y compris les caractères suivants qui peuvent corrompre le fichier de paramètres :

  • Retours arrière ( \ ) dans les clés ou les valeurs, en particulier les citations échappées ( \" ).
  • Nouvelles lignes ( \n ) dans les clés.
  • Citations ( " ) dans les clés.
  • Périodes ( . ) dans les clés.

Cet appel peut échouer silencieusement si plusieurs instances du même plugin lisent et écrivent activement des données.Si votre plugin s'attend à écrire souvent dans les paramètres, vous pouvez vérifier que les données ont été écrites correctement en appelant Plugin:GetSetting() .

Paramètres

key: string
Valeur par défaut : ""
value: Variant
Valeur par défaut : ""

Retours

()

Échantillons de code

This code sample demonstrates use of the Plugin:GetSetting() and Plugin:SetSetting() functions. They detect if a plugin is running for the first time by setting a key. If the key is true, it prints a "welcome back" message; otherwise it prints a "first run" message and sets the key to true.

Plugin:GetSetting and Plugin:SetSetting

local RAN_BEFORE_KEY = "RunBefore"
local hasRunBefore = plugin:GetSetting(RAN_BEFORE_KEY)
if hasRunBefore then
print("Welcome back!")
else
print("Thanks for installing this plugin!")
plugin:SetSetting(RAN_BEFORE_KEY, true)
end

StartDrag

()
Sécurité des plugins

Démarrer le glisser lance une action de glissement en utilisant un dictionnaire de paramètres. Les paramètres sont les suivants :


<th>Type</th>
<th>Par défaut</th>
<th>Avertissement</th>
</tr>
</thead>
<tbody>
<tr>
<td><b>Expéditeur</b></td><td>chaîne</td><td><code>""</code></td>
<td>
Identifie la source de l'action de glisser vers la cible de dépose
</td>
</tr>
<tr>
<td><b>Type de mime</b></td><td>chaîne</td><td><code>""</code> ></td>
<td>
Le type <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types">MIME</a> de <b>données</b>.
</td>
</tr>
<tr>
<td><b>Données</b></td><td>chaîne</td><td><code>""</code> ></td>
<td>
Informations sur l'action de glisser, par exemple ce qui est glissé. Doit être utilisé par la cible de dépose.
</td>
</tr>
<tr>
<td><b>Icône de souris</b></td><td><code>Type de données.Contenu</code> ></td><td><code>""</code> ></td>
<td>
L'icône à utiliser pour le curseur de la souris pendant le glisser. S'il est vide, utilise le curseur par défaut.
</td>
</tr>
<tr>
<td><b>DragIcon</b></td><td><code>Type de données.Contenu</code> ></td><td><code>""</code> ></td>
<td>
Une image à rendre sous le curseur de la souris pendant le glissement. Cela devrait représenter l'élément qui est glissé.
</td>
</tr>
<tr>
<td><b>HotSpot</b></td><td><code>Datatype.Vector2</code></td><td><code>Datatype.Vector2.new(0, 0)</code></td>
<td>
Le décalage des pixels à partir du haut à gauche où le curseur devrait "maintenir" le <b>DragIcon</b> .
</td>
</tr>
</tbody>
Nom

Voir aussi :

Paramètres

dragData: Dictionary
Valeur par défaut : ""

Retours

()

Échantillons de code

This code sample creates two plugin widget windows: a drag source and a drop target. In the source window, the script creates a TextBox and TextButton to allow the user to begin a plugin drag action. The drop target window will display the MimeType of whatever is dragged into it using a TextLabel. If the MimeType is text/plain, it will display the plain text data instead.

To run this code sample as a plugin, paste it into a Script. Then, right-click the script in the Explorer window and choose "Save as Local Plugin".

Plugin Drag and Drop

assert(plugin, "This script must be run as a Studio plugin")
local widgetInfo = DockWidgetPluginGuiInfo.new(Enum.InitialDockState.Float, true, true, 300, 200)
local dragSourceWidget = plugin:CreateDockWidgetPluginGui("Drag Source", widgetInfo)
dragSourceWidget.Title = "Drag Source"
local textBox = Instance.new("TextBox")
textBox.Parent = dragSourceWidget
textBox.Size = UDim2.new(1, 0, 0, 32)
textBox.Text = "Hello, plugin drags"
local dragButton = Instance.new("TextButton")
dragButton.Size = UDim2.new(1, 0, 1, -32)
dragButton.Position = UDim2.new(0, 0, 0, 32)
dragButton.Text = "Edit the text above, then start drag here"
dragButton.Parent = dragSourceWidget
function onMouseButton1Down()
local dragData = {
Sender = "SomeDragSource",
MimeType = "text/plain",
Data = textBox.Text,
MouseIcon = "",
DragIcon = "",
HotSpot = Vector2.new(0, 0),
}
plugin:StartDrag(dragData)
end
dragButton.MouseButton1Down:Connect(onMouseButton1Down)
-- This widget will receive drops
local dragTargetWidget = plugin:CreateDockWidgetPluginGui("Drop Target", widgetInfo)
dragTargetWidget.Title = "Drop Target"
-- This TextLabel will display what was dropped
local textLabel = Instance.new("TextLabel")
textLabel.Size = UDim2.new(1, 0, 1, 0)
textLabel.Text = "Drop here..."
textLabel.Parent = dragTargetWidget
local function onDragDrop(dragData)
if dragData.MimeType == "text/plain" then
textLabel.Text = dragData.Data
else
textLabel.Text = dragData.MimeType
end
end
dragTargetWidget.PluginDragDropped:Connect(onDragDrop)
dragTargetWidget.PluginDragEntered:Connect(function(_dragData)
print("PluginDragEntered")
end)
dragTargetWidget.PluginDragLeft:Connect(function(_dragData)
print("PluginDragLeft")
end)
dragTargetWidget.PluginDragMoved:Connect(function(_dragData)
print("PluginDragMoved")
end)
Sécurité des plugins

Unionne les parties données et renvoie l'opération d'union résultante.

Paramètres

objects: Instances
Valeur par défaut : ""

Retours

CreateDockWidgetPluginGui

Rendement
Sécurité des plugins

CreateDockWidgetPluginGui crée une nouvelle DockWidgetPluginGui à partir du donné DockWidgetPluginGuiInfo.Le premier paramètre, pluginGuiId , doit être une chaîne unique et cohérente.Il est utilisé pour enregistrer l'état du dock d'un widget et d'autres détails internes.

Paramètres

pluginGuiId: string

Un identifiant unique et cohérent utilisé pour stocker l'état du dock du widget et d'autres détails internes.

Valeur par défaut : ""
dockWidgetPluginGuiInfo: DockWidgetPluginGuiInfo

Décrit le DockWidgetPluginGui à créer (état initial, taille, etc.).

Valeur par défaut : ""

Retours

Échantillons de code

This code, when ran inside a Plugin, creates a DockWidgetPluginGui with a simple TextButton.

Widget GUI Text Button

-- Create new 'DockWidgetPluginGuiInfo' object
local widgetInfo = DockWidgetPluginGuiInfo.new(
Enum.InitialDockState.Float, -- Widget will be initialized in floating panel
true, -- Widget will be initially enabled
false, -- Don't override the previous enabled state
200, -- Default width of the floating window
300, -- Default height of the floating window
150, -- Minimum width of the floating window (optional)
150 -- Minimum height of the floating window (optional)
)
-- Create new widget GUI
local testWidget = plugin:CreateDockWidgetPluginGui("TestWidget", widgetInfo)
local testButton = Instance.new("TextButton")
testButton.BorderSizePixel = 0
testButton.TextSize = 20
testButton.TextColor3 = Color3.new(1, 0.2, 0.4)
testButton.AnchorPoint = Vector2.new(0.5, 0.5)
testButton.Size = UDim2.new(1, 0, 1, 0)
testButton.Position = UDim2.new(0.5, 0, 0.5, 0)
testButton.SizeConstraint = Enum.SizeConstraint.RelativeYY
testButton.Text = "Click Me"
testButton.Parent = testWidget

ImportFbxAnimation

Rendement
Sécurité des plugins

Cette fonction invite l'utilisateur à ouvrir un fichier d'animation .fbx qui peut être chargé sur le rigModel , puis procède à l'insertion de l'animation comme une KeyframeSequence dans le Workspace .

Paramètres

rigModel: Instance
Valeur par défaut : ""
isR15: boolean
Valeur par défaut : true

Retours

ImportFbxRig

Rendement
Sécurité des plugins

Invite l'utilisateur à ouvrir un fichier .fbx, télécharge les composants individuels du modèle en tant que maillages et génère un chariot de personnage pour l'utilisation dans l'animations, qui est chargé dans le Workspace .

Paramètres

isR15: boolean
Valeur par défaut : true

Retours

PromptForExistingAssetId

Rendement
Sécurité des plugins

Ouvre une fenêtre dans Roblox Studio, qui invite l'utilisateur à sélectionner une ressource en fonction de la assetType spécifiée.Renvoie l'ID de ressource sélectionné, ou -1 si la fenêtre a été fermée.

Paramètres

assetType: string
Valeur par défaut : ""

Retours

PromptSaveSelection

Rendement
Sécurité des plugins

Invite l'utilisateur à enregistrer sa sélection actuelle avec le nom de fichier spécifié. Renvoie true si l'utilisateur a enregistré le fichier.

Paramètres

suggestedFileName: string
Valeur par défaut : ""

Retours

Évènements

Deactivation

Sécurité des plugins

Tiré lorsque le Plugin est désactivé.Cela se produit lorsque le code du plugin appelle Plugin:Deactivate() ou parce que quelque autre plugin a appelé Plugin:Activate(), ce qui force tous les autres plugins à perdre leur état actif.

Voir aussi :

  • Plugin.Unloading , se déclenche immédiatement avant que le plugin ne soit déchargé ou rechargé via désactivation, désinstallation ou mise à jour

Unloading

Sécurité des plugins

Cet événement se déclenche immédiatement avant que les Plugin arrêts de fonctionnement ne s'arrêtent.Les plugins sont déschargés lorsqu'ils sont désactivés, désinstallés, sur le point d'être mis à jour ou lorsque l'endroit ferme.

Il permet à un plugin de nettoyer après lui-même avant que ses scripts cessent de s'exécuter, par exemplepour supprimer les instances inutiles de la DataModel .Si un plugin ne se nettoie pas correctement, les anciennes copies resteront.Lorsque cela se produit, les utilisateurs peuvent être obligés de fermer et de rouvrir l'endroit qui est une mauvaise expérience utilisateur.

Les instances liées aux plugins telles que PluginToolbarButtons , DockWidgetPluginGuis et PluginGuis sont automatiquement nettoyées lorsque le plugin est déchargé, il n'est donc pas nécessaire de les supprimer.