Difference between revisions of "Modding:IDE reference"
Jump to navigation
Jump to search
Pathoschild (talk | contribs) (copy from canimod.com with permission, dual-licensed CC BY-NC-SA for compatibility with wiki. Only author is Pathoschild.) |
Pathoschild (talk | contribs) (wikify) |
||
Line 1: | Line 1: | ||
− | + | ←[[Modding:Index|Index]] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | This page is a quick reference for how to use Visual Studio 2017 or MonoDevelop/Xamarin when creating or editing a SMAPI mod. See [[Modding:Creating a SMAPI mod]] for the main guide. | |
− | |||
− | |||
− | |||
− | |||
− | + | ==Before you start== | |
− | + | <ul> | |
− | + | <li>You should install [https://www.visualstudio.com/vs/community/ Visual Studio 2017 Community] (Windows) or [http://www.monodevelop.com/ MonoDevelop] (on Linux/Mac).</li> | |
− | + | <li>Reviewing [https://mva.microsoft.com/en-us/training-courses/c-fundamentals-for-absolute-beginners-16169 ''C# Fundamentals for Absolute Beginners''] is strongly recommended if you're new to programming C#.</li> | |
− | + | <li>Here are some basic terms to remember: | |
− | |||
− | + | {| class="wikitable" | |
− | < | + | |- |
+ | ! term !! definition | ||
+ | |- | ||
+ | | IDE || The program used to edit, run, and compile your code (short for ''Integrated Development Environment''). The main IDEs are Visual Studio on Windows, and MonoDevelop/Xamarin on Linux/Mac. | ||
+ | |- | ||
+ | | DLL || The file with a <tt>.dll</tt> extension which contains your compiled code (short for ''Dynamic Link Library''). This is the file that SMAPI reads when loading your mod. | ||
+ | |- | ||
+ | | project || A collection of source code + configuration + resources (like images) you edit in the IDE. Each project is compiled into its own DLL. | ||
+ | |- | ||
+ | | solution || A collection of projects with some global settings. The solution itself isn't compiled, but it enables some convenient features (like letting projects easily reference each other). | ||
+ | |}</li> | ||
+ | </ul> | ||
+ | ==Create a mod project== | ||
+ | <span id="create-project"></span> | ||
Before you can write your mod code, you need to create a solution and project to contain it. | Before you can write your mod code, you need to create a solution and project to contain it. | ||
− | ### In Visual Studio | + | ===In Visual Studio 2017=== |
+ | # Open Visual Studio 2017. | ||
+ | # Click ''File » New » Project'' from the menu bar:<br />[[File:Modding - IDE reference - create project (Visual Studio 1).png]] | ||
+ | # In the 'New Project' window, choose ''Visual C# » Class Library (.NET Framework)'':<br />[[File:Modding - IDE reference - create project (Visual Studio 2).png]] | ||
+ | # Enter a descriptive mod name. By convention, the name should be one word with mixed caps (like "PineapplesEverywhere"):<br />[[File:Modding - IDE reference - create project (Visual Studio 3).png]] | ||
+ | # Make sure "create directory for solution" is checked, and click ''OK'':<br />[[File:Modding - IDE reference - create project (Visual Studio 4).png]] | ||
− | + | ===In MonoDevelop/Xamarin=== | |
− | + | # Open MonoDevelop/Xamarin. | |
− | + | # Click ''File » New Solution'' from the menu bar:<br />[[File:Modding - IDE reference - create project (MonoDevelop 1).png]] | |
− | + | # In the 'New Project' window, choose ''.NET » Library'' and click ''Next'':<br />[[File:Modding - IDE reference - create project (MonoDevelop 2).png]] | |
− | + | # Enter a descriptive mod name. By convention, the name should be one word with mixed caps (like "PineapplesEverywhere"):<br />[[File:Modding - IDE reference - create project (MonoDevelop 3).png]] | |
− | + | # Make sure "create a project directory within the solution directory" is checked, and click ''Create'':<br />[[File:Modding - IDE reference - create project (MonoDevelop 4).png]] | |
− | |||
− | |||
− | |||
− | |||
− | + | ==Set the target framework== | |
+ | <span id="set-target-framework"></span> | ||
+ | The 'target framework' is the version of .NET Framework your code uses, which affects the version needed to run your mod. The recommended target framework is .NET Framework 4.5, which is the version SMAPI itself targets. | ||
− | + | ===In Visual Studio 2017=== | |
− | + | # Open the Solution Explorer pane. If it's not visible, click ''View » Solution Explorer'' from the menu:<br />[[File:Modding - IDE reference - show solution pane (Visual Studio).png]] | |
− | + | # From the Solution Explorer, right-click on the project and choose ''Properties'':<br />[[File:Modding - IDE reference - change target framework (Visual Studio 1).png]] | |
− | + | # On the ''Application'' tab, change the ''Target Framework'' dropdown to ''.NET Framework 4.5'':<br />[[File:Modding - IDE reference - change target framework (Visual Studio 2).png]] | |
− | + | # A dialogue may appear asking you to confirm the change. Click 'Yes' to confirm:<br />[[File:Modding - IDE reference - change target framework (Visual Studio 3).png]] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | ## | + | ===In MonoDevelop/Xamarin=== |
− | < | + | # Open the Solution pad. If it's not visible, click ''View » Pads » Solution'' from the menu:<br />[[File:Modding - IDE reference - show solution pane (MonoDevelop).png]] |
+ | # From the Solution pad, right-click on the project and choose ''Options'':<br />[[File:Modding - IDE reference - change target framework (MonoDevelop 1).png]] | ||
+ | # On the ''Build » General'' tab, change the ''Target Framework'' dropdown to ''Mono / .NET 4.5'':<br />[[File:Modding - IDE reference - change target framework (MonoDevelop 2).png]] | ||
− | + | ==Add a file== | |
− | + | <span id="add-file"></span> | |
− | |||
− | ### | + | ===In Visual Studio 2017=== |
+ | # Open the Solution Explorer pane. If it's not visible, click ''View » Solution Explorer'' from the menu:<br />[[File:Modding - IDE reference - show solution pane (Visual Studio).png]] | ||
+ | # From the Solution Explorer pane, right-click on the project and choose ''Add » New Item'':<br />[[File:Modding - IDE reference - create file (Visual Studio 1).png]] | ||
+ | # From the 'Add New Item' window, choose the file type (usually ''Visual C# Item » Class''):<br />[[File:Modding - IDE reference - create file (Visual Studio 2).png]] | ||
+ | # Enter a descriptive file name and click ''Add'':<br />[[File:Modding - IDE reference - create file (Visual Studio 3).png]] | ||
− | + | ===In MonoDevelop/Xamarin=== | |
− | + | # Open the Solution pad. If it's not visible, click ''View » Pads » Solution'' from the menu:<br />[[File:Modding - IDE reference - show solution pane (MonoDevelop).png]] | |
− | + | # From the Solution pad, right-click on the project to delete and choose ''Add » New File'':<br />[[File:Modding - IDE reference - create file (MonoDevelop 1).png]] | |
− | + | # From the 'New File' window, choose the file type (usually ''General » Empty Class''):<br />[[File:Modding - IDE reference - create file (MonoDevelop 2).png]] | |
− | + | # Enter a descriptive file name and click ''New'':<br />[[File:Modding - IDE reference - create file (MonoDevelop 3).png]] | |
− | |||
− | |||
− | |||
− | |||
− | + | ==Delete a file== | |
+ | <span id="delete-file"></span> | ||
− | + | ===In Visual Studio 2017=== | |
− | + | # Open the Solution Explorer pane. If it's not visible, click ''View » Solution Explorer'' from the menu:<br />[[File:Modding - IDE reference - show solution pane (Visual Studio).png]] | |
− | + | # From the Solution Explorer pane, right-click on the file to delete and choose ''Delete'':<br />[[File:Modding - IDE reference - delete file (Visual Studio).png]] | |
− | |||
− | |||
− | |||
− | |||
− | ## | + | ===In MonoDevelop/Xamarin=== |
− | + | # Open the Solution pad. If it's not visible, click ''View » Pads » Solution'' from the menu:<br />[[File:Modding - IDE reference - show solution pane (MonoDevelop).png]] | |
+ | # From the Solution pad, right-click on the file to delete and choose ''Remove'':<br />[[File:Modding - IDE reference - delete file (MonoDevelop).png]] | ||
− | + | ==Add a NuGet package== | |
+ | <span id="add-nuget"></span> | ||
− | + | ===In Visual Studio 2017=== | |
− | + | # Click ''Tools » NuGet Package Manager » Manage NuGet Packages for Solution'' from the menu:<br />[[File:Modding - IDE reference - add NuGet package (Visual Studio 1).png]] | |
− | + | # On the ''Browse'' tab, search for the package and click on the result to display some options:<br />[[File:Modding - IDE reference - add NuGet package (Visual Studio 2).png]] | |
− | + | # In the options, check the box next to your project and click ''Install'':<br />[[File:Modding - IDE reference - add NuGet package (Visual Studio 3).png]] | |
− | + | # If a 'Review Changes' dialogue appears, click ''OK'':<br />[[File:Modding - IDE reference - add NuGet package (Visual Studio 4).png]] | |
− | |||
− | |||
− | |||
− | |||
− | + | ===In MonoDevelop/Xamarin=== | |
+ | # Click ''Project » Add NuGet Packages'' from the menu:<br />[[File:Modding - IDE reference - add NuGet package (MonoDevelop 1).png]] | ||
+ | # Search for the package, click on the result, and click ''Add Package'':<br />[[File:Modding - IDE reference - add NuGet package (MonoDevelop 2).png]] | ||
− | + | ==Edit project file (<tt>.csproj</tt>)== | |
− | + | <span id="edit-project"></span> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Sometimes you may want to edit the project file directly (mainly to configure build steps). The project is a <tt>.csproj</tt> file, and can be edited from within the IDE. | |
− | < | ||
− | ### | + | ===In Visual Studio 2017=== |
+ | # Open the Solution Explorer pane. If it's not visible, click ''View » Solution Explorer'' from the menu:<br />[[File:Modding - IDE reference - show solution pane (Visual Studio).png]] | ||
+ | # From the Solution Explorer pane, right-click on the project and choose ''Unload'':<br />[[File:Modding - IDE reference - edit project (Visual Studio 1).png]] | ||
+ | # Right-click on the project again and choose ''Edit <project name>.csproj'':<br />[[File:Modding - IDE reference - edit project (Visual Studio 2).png]] | ||
+ | # Make your changes in the editor that appears and save. | ||
+ | # When you're done, right-click on the project again and choose ''Reload Project'':<br />[[File:Modding - IDE reference - edit project (Visual Studio 3).png]] | ||
− | + | ===In MonoDevelop/Xamarin=== | |
− | + | # Open the Solution pad. If it's not visible, click ''View » Pads » Solution'' from the menu:<br />[[File:Modding - IDE reference - show solution pane (MonoDevelop).png]] | |
− | + | # From the Solution pad, right-click on the project and choose ''Tools » Edit File'':<br />[[File:Modding - IDE reference - edit project (MonoDevelop).png]] | |
− | + | # Make your changes in the editor that appears and save. | |
− | |||
− | + | ==Find compiled files== | |
+ | <span id="build-output"></span> | ||
− | + | ===In Visual Studio 2017=== | |
− | + | # Open the Solution Explorer pane. If it's not visible, click ''View » Solution Explorer'' from the menu:<br />[[File:Modding - IDE reference - show solution pane (Visual Studio).png]] | |
− | + | # From the Solution Explorer pane, right-click on the project and choose ''Open Folder in File Explorer'':<br />[[File:Modding - IDE reference - view build output (Visual Studio).png]] | |
− | + | # Navigate to <tt>bin\Debug</tt> (or <tt>bin\Release</tt> if you switched to release build configuration). | |
− | |||
− | + | ===In MonoDevelop/Xamarin=== | |
− | + | # Open the Solution pad. If it's not visible, click ''View » Pads » Solution'' from the menu:<br />[[File:Modding - IDE reference - show solution pane (MonoDevelop).png]] | |
− | + | # From the Solution pad, right-click on the project and choose ''Open Containing Folder'':<br />[[File:Modding - IDE reference - view build output (MonoDevelop).png]] | |
− | + | # Navigate to <tt>bin/Debug</tt> (or <tt>bin/Release</tt> if you switched to release build configuration). | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | # | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | # | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
[[Category:Modding|IDE reference]] | [[Category:Modding|IDE reference]] |
Revision as of 00:04, 4 May 2017
This page is a quick reference for how to use Visual Studio 2017 or MonoDevelop/Xamarin when creating or editing a SMAPI mod. See Modding:Creating a SMAPI mod for the main guide.
Before you start
- You should install Visual Studio 2017 Community (Windows) or MonoDevelop (on Linux/Mac).
- Reviewing C# Fundamentals for Absolute Beginners is strongly recommended if you're new to programming C#.
- Here are some basic terms to remember:
term definition IDE The program used to edit, run, and compile your code (short for Integrated Development Environment). The main IDEs are Visual Studio on Windows, and MonoDevelop/Xamarin on Linux/Mac. DLL The file with a .dll extension which contains your compiled code (short for Dynamic Link Library). This is the file that SMAPI reads when loading your mod. project A collection of source code + configuration + resources (like images) you edit in the IDE. Each project is compiled into its own DLL. solution A collection of projects with some global settings. The solution itself isn't compiled, but it enables some convenient features (like letting projects easily reference each other).
Create a mod project
Before you can write your mod code, you need to create a solution and project to contain it.
In Visual Studio 2017
- Open Visual Studio 2017.
- Click File » New » Project from the menu bar:
- In the 'New Project' window, choose Visual C# » Class Library (.NET Framework):
- Enter a descriptive mod name. By convention, the name should be one word with mixed caps (like "PineapplesEverywhere"):
- Make sure "create directory for solution" is checked, and click OK:
File:Modding - IDE reference - create project (Visual Studio 4).png
In MonoDevelop/Xamarin
- Open MonoDevelop/Xamarin.
- Click File » New Solution from the menu bar:
- In the 'New Project' window, choose .NET » Library and click Next:
- Enter a descriptive mod name. By convention, the name should be one word with mixed caps (like "PineapplesEverywhere"):
- Make sure "create a project directory within the solution directory" is checked, and click Create:
Set the target framework
The 'target framework' is the version of .NET Framework your code uses, which affects the version needed to run your mod. The recommended target framework is .NET Framework 4.5, which is the version SMAPI itself targets.
In Visual Studio 2017
- Open the Solution Explorer pane. If it's not visible, click View » Solution Explorer from the menu:
- From the Solution Explorer, right-click on the project and choose Properties:
- On the Application tab, change the Target Framework dropdown to .NET Framework 4.5:
- A dialogue may appear asking you to confirm the change. Click 'Yes' to confirm:
In MonoDevelop/Xamarin
- Open the Solution pad. If it's not visible, click View » Pads » Solution from the menu:
- From the Solution pad, right-click on the project and choose Options:
- On the Build » General tab, change the Target Framework dropdown to Mono / .NET 4.5:
Add a file
In Visual Studio 2017
- Open the Solution Explorer pane. If it's not visible, click View » Solution Explorer from the menu:
- From the Solution Explorer pane, right-click on the project and choose Add » New Item:
- From the 'Add New Item' window, choose the file type (usually Visual C# Item » Class):
- Enter a descriptive file name and click Add:
In MonoDevelop/Xamarin
- Open the Solution pad. If it's not visible, click View » Pads » Solution from the menu:
- From the Solution pad, right-click on the project to delete and choose Add » New File:
- From the 'New File' window, choose the file type (usually General » Empty Class):
- Enter a descriptive file name and click New:
Delete a file
In Visual Studio 2017
- Open the Solution Explorer pane. If it's not visible, click View » Solution Explorer from the menu:
- From the Solution Explorer pane, right-click on the file to delete and choose Delete:
In MonoDevelop/Xamarin
- Open the Solution pad. If it's not visible, click View » Pads » Solution from the menu:
- From the Solution pad, right-click on the file to delete and choose Remove:
Add a NuGet package
In Visual Studio 2017
- Click Tools » NuGet Package Manager » Manage NuGet Packages for Solution from the menu:
- On the Browse tab, search for the package and click on the result to display some options:
- In the options, check the box next to your project and click Install:
- If a 'Review Changes' dialogue appears, click OK:
In MonoDevelop/Xamarin
- Click Project » Add NuGet Packages from the menu:
- Search for the package, click on the result, and click Add Package:
Edit project file (.csproj)
Sometimes you may want to edit the project file directly (mainly to configure build steps). The project is a .csproj file, and can be edited from within the IDE.
In Visual Studio 2017
- Open the Solution Explorer pane. If it's not visible, click View » Solution Explorer from the menu:
- From the Solution Explorer pane, right-click on the project and choose Unload:
- Right-click on the project again and choose Edit <project name>.csproj:
- Make your changes in the editor that appears and save.
- When you're done, right-click on the project again and choose Reload Project:
In MonoDevelop/Xamarin
- Open the Solution pad. If it's not visible, click View » Pads » Solution from the menu:
- From the Solution pad, right-click on the project and choose Tools » Edit File:
- Make your changes in the editor that appears and save.
Find compiled files
In Visual Studio 2017
- Open the Solution Explorer pane. If it's not visible, click View » Solution Explorer from the menu:
- From the Solution Explorer pane, right-click on the project and choose Open Folder in File Explorer:
- Navigate to bin\Debug (or bin\Release if you switched to release build configuration).