Hvad er FS-filformatet?
.fs er filtypenavnet for kildekode til F#, et funktionelt, stærkt typet programmeringssprog udviklet af Don Syme hos Microsoft Research. F# er målrettet .NET-runtime og kompileres til .NET Intermediate Language via F#-compileren, fsc.
En .fs-fil er almindelig UTF-8-tekst, der indeholder en ordnet sekvens af module- eller namespace-deklarationer, open-importinstruktioner, typedefinitioner, let-bindinger og udtryk. Det er afgørende, at rækkefølgen betyder noget i F#: compileren behandler deklarationer fra top til bund, og filer i et projekt skal anføres i .fsproj-projektfilen i eksplicit kompileringsrækkefølge - i modsætning til C# eller Java, hvor deklarationsrækkefølgen internt i projektet generelt er irrelevant.
F# understøtter funktionelle programmeringsparadigmer (uforanderlige data som standard, mønstermatchning, diskriminerede unioner, beregningsudtryk) sammen med objektorienterede funktioner nedarvet fra .NET. Sproget har udviklet sig fra version 1.0 (2005, Microsoft Research) til F# 9.0 (2024).
Relaterede filtyper inkluderer .fsi (F# interface-/signaturfiler, svarende til C-headerfiler) og .fsx (F#-scriptfiler, der køres uden eksplicit kompilering via dotnet fsi). Fable-compileren kan transpilere .fs-kildekode til JavaScript, hvilket muliggør brug i browsere og Node.js.
.fs-filer understøttes indfødt af Visual Studio 2022, JetBrains Rider og Visual Studio Code med Ionide-udvidelsen.
Sikkerhed og tryghed
RISIKO: LOWAlmindelig tekstkildekode; ingen eksekverbar risiko ved visning. Risiko opstår kun, hvis du kompilerer og kører upålidelig F#-kode.
Formatdetaljer
kort fortalt- BRKSYS FS (filsystem-aftryk) - Nogle emulator-/OS-værktøjskæder bruger .fs til rå filsystem-aftryk; ikke relateret til F#-kildekode.
- Haskell-modul (sjælden) - Lejlighedsvis optræder .fs-suffikset i ældre Haskell-kodebaser, men .hs er standarden; meget sjældent.
Programmer der åbner FS-filer
Tekniske detaljer
dyb specifikation| Sprog | F# - funktionelt, stærkt typet .NET-sprog udviklet af Don Syme hos Microsoft Research |
| Kodning | UTF-8 tekst; BOM valgfri; Visual Studio bruger som standard UTF-8 uden BOM |
| Compiler | `fsc` (F#-compiler); kompilerer `.fs`-filer til .NET IL; aktiveres via `dotnet build` i MSBuild-projekter |
| Kompileringsrækkefølge | Filer skal anføres i `.fsproj` fra top til bund; rækkefølgen er semantisk betydningsfuld - fremadrettede referencer er ikke tilladt |
| Sprogversionering | F#-sprogversion indstilles via `LangVersion`-egenskaben i `.fsproj`; den nuværende er F# 9.0 (2024) |
| Paradigme | Funktionelt (uforanderlig som standard, mønstermatchning, diskriminerede unioner, beregningsudtryk) med fuld OOP-understøttelse |
| Typesystem | Hindley-Milner typeudledning; eksplicitte typeannoteringer er valgfrie i de fleste sammenhænge |
| Modulsystem | Top-niveau `module`- eller `namespace`-deklarationer; cirkulære referencer mellem filer er ikke tilladt |
| Relaterede filtyper | `.fsi` (interface-/signaturfil), `.fsx` (script), `.fsproj` (MSBuild-projektfil) |
| Runtime-mål | .NET 6+ på Windows, Linux, macOS; også JavaScript via Fable-transpileren |
| Scripting-tilstand | `.fsx`-filer kører via `dotnet fsi` uden eksplicit kompilering; `.fs`-filer kræver et projekt eller direkte `fsc`-kald |
| IDE-understøttelse | Visual Studio 2022, Visual Studio Code med Ionide-udvidelse, JetBrains Rider |
| Udgivet | 2005 (F# 1.0, Microsoft Research); Visual Studio integration since 2010 (VS 2010) |
| Seneste version | F# 9.0 (2024) |
| Åben standard | Ja · royaltyfri |
| Specifikation | fsharp.org |
FS-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om FS-filer.