Was ist das FS-Dateiformat?
.fs ist die Quelldateierweiterung für F#, eine funktional orientierte, streng typisierte Programmiersprache, die von Don Syme bei Microsoft Research entwickelt wurde. F# zielt auf die .NET-Laufzeitumgebung ab und wird über den F#-Compiler fsc in die .NET Intermediate Language kompiliert.
Eine .fs-Datei ist einfacher UTF-8-Text, der eine geordnete Sequenz von module- oder namespace-Deklarationen, open-Importanweisungen, Typdefinitionen, let-Bindungen und Ausdrücken enthält. Entscheidend ist, dass in F# die Reihenfolge wichtig ist: Der Compiler verarbeitet Deklarationen von oben nach unten, und Dateien innerhalb eines Projekts müssen in der .fsproj-Projektdatei in expliziter Kompilierungsreihenfolge aufgeführt sein - im Gegensatz zu C# oder Java, wo die Deklarationsreihenfolge innerhalb eines Projekts im Allgemeinen irrelevant ist.
F# unterstützt funktionale Programmierparadigmen (standardmäßig unveränderliche Daten, Pattern Matching, Discriminated Unions, Computation Expressions) zusammen mit objektorientierten Funktionen, die von .NET übernommen wurden. Die Sprache hat sich von Version 1.0 (2005, Microsoft Research) bis F# 9.0 (2024) weiterentwickelt.
Zugehörige Erweiterungen sind .fsi (F#-Schnittstellen-/Signaturdateien, analog zu C-Header-Dateien) und .fsx (F#-Skriptdateien, die ohne explizite Kompilierung über dotnet fsi ausgeführt werden). Der Fable-Compiler kann .fs-Quellcode in JavaScript transpilieren, was Browser- und Node.js-Ziele ermöglicht.
.fs-Dateien werden nativ von Visual Studio 2022, JetBrains Rider und Visual Studio Code mit der Ionide-Erweiterung unterstützt.
Sicherheit
RISIKO: LOWEinfacher Text-Quellcode; kein ausführbares Risiko beim Betrachten. Ein Risiko besteht nur, wenn Sie nicht vertrauenswürdigen F#-Code kompilieren und ausführen.
Formatdetails
kurz gefasst- BRKSYS FS (Dateisystem-Image) - Einige Emulator-/OS-Toolchains verwenden .fs für rohe Dateisystem-Images; steht in keinem Zusammenhang mit F#-Quellcode.
- Haskell-Modul (selten) - Gelegentlich taucht das Suffix .fs in älteren Haskell-Codebasen auf, aber .hs ist der Standard; sehr selten.
Programme zum Öffnen von FS-Dateien
Technische Details
technische Spezifikation| Sprache | F# - funktional orientierte, streng typisierte .NET-Sprache, entwickelt von Don Syme bei Microsoft Research |
| Kodierung | UTF-8-Text; BOM optional; Visual Studio verwendet standardmäßig UTF-8 ohne BOM |
| Compiler | `fsc` (F#-Compiler); kompiliert `.fs`-Dateien in .NET IL; Aufruf über `dotnet build` in MSBuild-Projekten |
| Kompilierungsreihenfolge | Dateien müssen in der `.fsproj` von oben nach unten aufgeführt sein; die Reihenfolge ist semantisch bedeutsam - Vorwärtsverweise sind nicht zulässig |
| Sprachversionierung | F#-Sprachversion wird über die Eigenschaft `LangVersion` in der `.fsproj` festgelegt; aktuell ist F# 9.0 (2024) |
| Paradigma | Funktional orientiert (standardmäßig unveränderlich, Pattern Matching, Discriminated Unions, Computation Expressions) mit voller OOP-Unterstützung |
| Typsystem | Hindley-Milner-Typinferenz; explizite Typannotationen sind in den meisten Kontexten optional |
| Modulsystem | Top-Level `module`- oder `namespace`-Deklarationen; zirkuläre Referenzen zwischen Dateien sind nicht zulässig |
| Zugehörige Erweiterungen | `.fsi` (Schnittstellen-/Signaturdatei), `.fsx` (Skript), `.fsproj` (MSBuild-Projektdatei) |
| Laufzeitziele | .NET 6+ unter Windows, Linux, macOS; auch JavaScript über den Fable-Transpiler |
| Skripting-Modus | `.fsx`-Dateien werden über `dotnet fsi` ohne explizite Kompilierung ausgeführt; `.fs`-Dateien erfordern ein Projekt oder einen direkten `fsc`-Aufruf |
| IDE-Unterstützung | Visual Studio 2022, Visual Studio Code mit Ionide-Erweiterung, JetBrains Rider |
| Veröffentlicht | 2005 (F# 1.0, Microsoft Research); Visual Studio integration since 2010 (VS 2010) |
| Neueste Version | F# 9.0 (2024) |
| Offener Standard | Ja · lizenzgebührenfrei |
| Spezifikation | fsharp.org |
FS-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu FS-Dateien.