Co to jest format pliku FS?
.fs to rozszerzenie pliku źródłowego dla F#, funkcyjnego, silnie typowanego języka programowania opracowanego przez Dona Syme'a w Microsoft Research. F# jest przeznaczony dla środowiska uruchomieniowego .NET i kompiluje się do języka pośredniego .NET (IL) za pomocą kompilatora F#, fsc.
Plik .fs to zwykły tekst w formacie UTF-8 zawierający uporządkowaną sekwencję deklaracji module lub namespace, instrukcji importu open, definicji typów, powiązań let oraz wyrażeń. Co istotne, kolejność ma znaczenie w F#: kompilator przetwarza deklaracje od góry do dołu, a pliki w projekcie muszą być wymienione w pliku projektu .fsproj w jawnej kolejności kompilacji - inaczej niż w C# lub Javie, gdzie kolejność deklaracji wewnątrz projektu jest zazwyczaj nieistotna.
F# obsługuje idiomy programowania funkcyjnego (domyślnie niezmienne dane, dopasowywanie wzorców, unie dyskryminowane, wyrażenia obliczeniowe) wraz z funkcjami obiektowymi odziedziczonymi z .NET. Język ewoluował od wersji 1.0 (2005, Microsoft Research) do F# 9.0 (2024).
Rozszerzenia towarzyszące obejmują .fsi (pliki interfejsów/sygnatur F#, analogiczne do plików nagłówkowych C) oraz .fsx (pliki skryptów F#, wykonywane bez jawnej kompilacji za pomocą dotnet fsi). Kompilator Fable może transpilować źródła .fs do JavaScript, umożliwiając tworzenie aplikacji na przeglądarki i Node.js.
Pliki .fs są natywnie obsługiwane przez Visual Studio 2022, JetBrains Rider oraz Visual Studio Code z rozszerzeniem Ionide.
Bezpieczeństwo
RYZYKO: LOWKod źródłowy w formacie zwykłego tekstu; brak ryzyka wykonywalnego podczas przeglądania. Ryzyko pojawia się tylko w przypadku kompilacji i uruchomienia niezaufanego kodu F#.
Szczegóły formatu
w pigułce- BRKSYS FS (obraz systemu plików) - Niektóre łańcuchy narzędzi emulatorów/systemów operacyjnych używają .fs dla surowych obrazów systemów plików; niepowiązane ze źródłami F#.
- Moduł Haskell (rzadko) - Sporadycznie przyrostek .fs pojawia się w starszych bazach kodu Haskell, ale standardem jest .hs; bardzo rzadkie.
Programy otwierające pliki FS
Szczegóły techniczne
specyfikacja| Język | F# - funkcyjny, silnie typowany język .NET opracowany przez Dona Syme'a w Microsoft Research |
| Kodowanie | Tekst UTF-8; BOM opcjonalny; Visual Studio domyślnie ustawia UTF-8 bez BOM |
| Kompilator | `fsc` (kompilator F#); kompiluje pliki `.fs` do .NET IL; wywoływany przez `dotnet build` w projektach MSBuild |
| Kolejność kompilacji | Pliki muszą być wymienione w `.fsproj` od góry do dołu; kolejność jest istotna semantycznie - odwołania w przód nie są dozwolone |
| Wersjonowanie języka | Wersja języka F# ustawiana za pomocą właściwości `LangVersion` w `.fsproj`; obecna to F# 9.0 (2024) |
| Paradygmat | Funkcyjny (domyślnie niezmienny, dopasowywanie wzorców, unie dyskryminowane, wyrażenia obliczeniowe) z pełnym wsparciem OOP |
| System typów | Wnioskowanie typów Hindley-Milner; jawne adnotacje typów opcjonalne w większości kontekstów |
| System modułów | Deklaracje `module` lub `namespace` na najwyższym poziomie; cykliczne odwołania między plikami są niedozwolone |
| Rozszerzenia towarzyszące | `.fsi` (plik interfejsu/sygnatury), `.fsx` (skrypt), `.fsproj` (plik projektu MSBuild) |
| Platformy docelowe | .NET 6+ na Windows, Linux, macOS; także JavaScript poprzez transpiler Fable |
| Tryb skryptowy | Pliki `.fsx` uruchamiane przez `dotnet fsi` bez jawnej kompilacji; pliki `.fs` wymagają projektu lub bezpośredniego wywołania `fsc` |
| Wsparcie IDE | Visual Studio 2022, Visual Studio Code z rozszerzeniem Ionide, JetBrains Rider |
| Wydano | 2005 (F# 1.0, Microsoft Research); Visual Studio integration since 2010 (VS 2010) |
| Najnowsza wersja | F# 9.0 (2024) |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | fsharp.org |
Konwersje FS
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki FS.