FarNet module and script template for C# and F# projects
With .NET SDK 9.0 installed with Visual Studio or manually, the easiest way to
create module and script projects for FarNet is using FarNet.template
NuGet.
Projects created from the template can be used for development and debugging in Visual Studio and VSCode.
To install the FarNet template from NuGet, run:
dotnet new install FarNet.template
Take a look at all templates:
dotnet new list
The list should contain "FarNet module" and "FarNet script":
Template Name Short Name Language Tags
------------- ------------- -------- -------------
FarNet module farnet-module [C#],F# FarNet/Module
FarNet script farnet-script [C#],F# FarNet/Script
To create a C# (default) or F# module or script project, create a new folder with the new module or script name, change to it, and invoke one of these:
dotnet new farnet-module
dotnet new farnet-script
dotnet new farnet-module --language F#
dotnet new farnet-script --language F#
To uninstall the template, run:
dotnet new uninstall FarNet.template
Before opening created projects in Visual Studio or VSCode ensure you have the
environment variable FARHOME
set to the Far Manager home. If it is missing
then the development location C:\Bin\Far\x64
is used, see the project file
and change if needed.
If you build or start Visual Studio or VSCode from Far Manager then the FARHOME variable exists and set to this Far Manager directory.
The project is ready to use in Visual Studio.
Requirements:
- VSCode C# Dev Kit for C# projects and for debugging F# projects.
- VSCode F# extension for F# projects.
All projects include:
.vscode
launch.json
- VSCode debug settingstasks.json
- VSCode build task
Properties
launchSettings.json
- Visual Studio debug settings
README.md
- documentation filePROJECT_NAME.csproj/fsproj
- project file
Module projects include:
Host.cs/fs
- optional module host and its instanceTool1.cs/fs
- plugin menu item "Hello from PROJECT_NAME"Command1.cs/fs
- command invoked using "PROJECT_NAME:" prefix
Script projects include:
Program.cs/fs
- method invoked byfn: script=PROJECT_NAME; method=.Program.Run
All projects reference FarNet.dll
.
F# projects reference FSharp.Core.dll
and optional FarNet.FSharp.dll
. They
are installed together with the module FarNet.FSharpFar
(really must have if
you develop in F# for Far Manager).
This command is used to build projects:
dotnet build
Alternatively, you may build from Visual Studio or VSCode.
When you build a module project the output goes to FarNet module folder. Ensure Far Manager is not running to avoid files in use.
When you build a script project the output goes to FarNet script folder.
If you test simple methods with unload=true
then you do not have to restart.
Press [F5]
to starts debugging in Visual Studio or VSCode.
Debug modes:
- Start Far (Visual Studio, VSCode default mode)
- The build step is called at first and then debugging starts.
Far.exe
should be in the path or you should adjust settings.
- The build step is called at first and then debugging starts.
- Attach single Far (select in VSCode)
- Attach to the already running single
Far.exe
.
- Attach to the already running single
- Attach selected Far (select in VSCode)
- Choose one of the several running
Far.exe
.
- Choose one of the several running