Configuration de l'éditeur
Comment configurer Visual Studio Code avec l'autocomplétion, la vérification des types et la documentation de l'API nanos world.

Installation
- Téléchargez et installez Visual Studio Code.
- Installez l'extension nanos world Lua. Elle installe aussi l'extension Lua (Lua Language Server), dont elle dépend.
- Ouvrez le dossier de votre Package (ou tout votre dossier
Packages/) dans VS Code avec File -> Open Folder. - Ouvrez n'importe quel fichier
.lua. L'extension télécharge les dernières annotations de l'API nanos world et configure le Lua Language Server pour qu'il les utilise.
C'est terminé ! Vous avez maintenant l'autocomplétion pour toutes les classes, méthodes, événements et enums, et vous pouvez les survoler pour lire leur documentation.
Les annotations sont générées automatiquement à partir des mêmes fichiers d'API que ceux utilisés pour cette documentation, et sont téléchargées au démarrage de l'extension : une connexion internet est donc nécessaire pour obtenir la dernière version.
Astuces
Annoter votre propre code
Le Lua Language Server comprend les annotations LuaCATS. En les ajoutant à vos fonctions et classes, vous profitez aussi de l'autocomplétion et de la vérification des types pour votre propre code :
---Gives money to a Player
---@param player Player The Player to receive it
---@param amount number How much money
---@return number The new balance
function GiveMoney(player, amount)
local new_balance = player:GetValue("money", 0) + amount
player:SetValue("money", new_balance, true)
return new_balance
end
Pour vos classes héritées, vous pouvez les déclarer comme sous-classes de la classe nanos world, pour que toutes ses méthodes soient suggérées :
---@class Crate : Prop
Crate = Prop.Inherit("Crate")
De quel côté suis-je ?
L'éditeur ne peut pas savoir si un fichier s'exécute sur le serveur ou sur le client : il suggère donc toutes les méthodes. Vérifiez toujours l'Authority des méthodes et événements dans cette documentation quand vous écrivez du code dans des fichiers Shared/.