Bagikan melalui


Mengembangkan dengan Visual F# di Visual Studio

Artikel ini menyertakan informasi tentang fitur Visual Studio untuk pengembangan F#.

Instal dukungan F#

Untuk mengembangkan dengan F# di Visual Studio, pertama-tama instal beban kerja pengembangan desktop .NET jika Anda belum melakukannya. Anda menginstal beban kerja Visual Studio melalui Alat Penginstal Visual Studio, yang dapat Anda buka dengan memilih Alat>Dapatkan Alat dan Fitur.

.NET desktop development workload in Visual Studio

Fitur proyek F#

Berbagai templat proyek dan item tersedia untuk F# di Visual Studio. Gambar berikut menunjukkan beberapa templat proyek F# untuk .NET Core dan .NET Standard:

F# project templates in Visual Studio

Gambar berikut menunjukkan beberapa templat item F#:

F# item templates in Visual Studio

Untuk informasi selengkapnya tentang templat item untuk akses data, lihat Penyedia jenis F#.

Tabel berikut ini meringkas fitur dalam properti proyek untuk F#:

Pengaturan proyek Didukung di F#? Catatan
File sumber daya Ya
Pengaturan build, debug, dan referensi Ya
Multi-penargetan Ya
Ikon dan manifes No Tersedia melalui opsi baris perintah pengkompilasi.
Layanan Klien ASP.NET No
ClickOnce No Gunakan proyek klien dalam bahasa .NET lain, jika berlaku.
Penamaan yang kuat No Tersedia melalui opsi baris perintah pengkompilasi.
Penerbitan dan penerapan versi assembly No
Analisis kode No Alat analisis kode dapat dijalankan secara manual atau sebagai bagian dari perintah pasca-build.
Keamanan (ubah tingkat kepercayaan) No

Perancang Proyek

Project Designer terdiri dari beberapa halaman properti proyek yang dikelompokkan menurut fungsionalitas terkait. Halaman yang tersedia untuk proyek F# sebagian besar merupakan subset dari yang tersedia untuk bahasa lain, dan dijelaskan dalam tabel berikut. Tautan disediakan ke halaman C# Project Designer yang sesuai.

Halaman Perancang Proyek Tautan terkait Deskripsi
Aplikasi Halaman Aplikasi, Perancang Proyek Memungkinkan Anda menentukan pengaturan dan properti tingkat aplikasi, seperti apakah Anda membuat pustaka atau file yang dapat dieksekusi, versi .NET apa yang ditargetkan aplikasi, dan informasi tentang tempat file sumber daya yang digunakan aplikasi disimpan.
Bangun Halaman Build, Perancang Proyek Memungkinkan Anda mengontrol bagaimana kode dikompilasi.
Peristiwa Build Halaman Peristiwa Build, Perancang Proyek Memungkinkan Anda menentukan perintah yang akan dijalankan sebelum atau sesudah kompilasi.
Debug Halaman Debug, Perancang Proyek Memungkinkan Anda mengontrol cara aplikasi berjalan selama penelusuran kesalahan. Ini termasuk perintah apa yang akan digunakan dan apa direktori awal aplikasi Anda, dan mode penelusuran kesalahan khusus apa pun yang ingin Anda aktifkan, seperti kode asli dan SQL.
Paket (hanya.NET SDK) T/A Memungkinkan Anda menentukan metadata Paket NuGet saat menerbitkan sebagai paket NuGet.
Jalur Referensi Mengelola referensi dalam proyek Memungkinkan Anda menentukan tempat untuk mencari rakitan yang bergantung pada kode.
Sumber daya (hanya.NET SDK) T/A Memungkinkan Anda membuat dan mengelola file sumber daya default.

Pengaturan F#-spesifik

Tabel berikut ini meringkas pengaturan yang khusus untuk F#:

Halaman Perancang Proyek Pengaturan Deskripsi
Bangun Hasilkan panggilan ekor Jika dipilih, memungkinkan penggunaan instruksi ekor Microsoft Intermediate Language (MSIL). Ini menyebabkan bingkai tumpukan digunakan kembali untuk fungsi rekursif ekor. Setara dengan --tailcalls opsi pengkompilasi.
Bangun Bendera lainnya Memungkinkan Anda menentukan opsi baris perintah pengkompilasi tambahan.

Fitur editor kode dan teks

Fitur kode Visual Studio dan editor teks berikut didukung di F#:

Fitur Deskripsi Didukung di F#?
Komentar otomatis Memungkinkan Anda untuk mengomentari atau membatalkan komentar bagian kode. Ya
Format otomatis Format ulang kode dengan indentasi dan gaya standar. No
Penanda Memungkinkan Anda menyimpan tempat di editor. Ya
Ubah indentasi Inden atau uninden baris terpilih. Ya
Indentasi cerdas Secara otomatis menginden dan membatalkan inden kursor sesuai dengan aturan cakupan F#. Ya
Mencari dan mengganti teks Memungkinkan Anda mencari dalam file, proyek, atau solusi, dan berpotensi mengubah teks. Ya
Buka definisi untuk .NET API Saat kursor diposisikan pada .NET API, menunjukkan kode yang dihasilkan dari metadata .NET. No
Buka definisi untuk API yang ditentukan pengguna Saat kursor berada di entitas program yang Anda tentukan, memindahkan kursor ke lokasi dalam kode Anda tempat entitas ditentukan. Ya
Masuk ke Baris Memungkinkan Anda masuk ke baris tertentu dalam file, menurut nomor baris. Ya
Bilah navigasi di bagian atas file Memungkinkan Anda melompat ke lokasi dalam kode, dengan, Misalnya, nama fungsi. Ya
Panduan Struktur Blok Menampilkan panduan yang menunjukkan cakupan F#, yang dapat diarahkan ke pratinjau. Ya
Menguraikan Memungkinkan Anda menciutkan bagian kode Anda untuk membuat tampilan yang lebih ringkas. Ya
Tabifikasi Mengonversi spasi ke tab. Ya
Pewarnaan jenis Memperlihatkan nama tipe yang ditentukan dalam warna khusus. Ya
Cepat Temukan. Lihat Temukan Cepat, Temukan, dan Ganti Jendela. Memungkinkan Anda mencari dalam file atau proyek. Ya
Ctrl+klik untuk Masuk ke Definisi Memungkinkan Anda menahan Ctrl dan mengklik simbol F# untuk memanggil Buka Definisi. Ya
Buka Definisi dari QuickInfo Simbol yang dapat diklik di dalam tipsalat yang memanggil Buka Definisi. Ya
Buka Semua Mengaktifkan navigasi pencocokan fuzzy global untuk semua konstruksi F# melalui Ctrl+T. Ya
Ganti Nama Sebaris Mengganti nama semua kemunculan simbol sebaris. Ya
Temukan semua Referensi Menemukan semua kemunculan simbol dalam basis kode. Ya
Menyederhanakan perbaikan kode Nama Menghapus kualifikasi yang tidak perlu untuk simbol F#. Ya
Menghapus perbaikan kode pernyataan yang tidak digunakan open Menghapus semua pernyataan yang tidak perlu open dalam dokumen. Ya
Perbaikan kode nilai yang tidak digunakan Menyarankan penggantian nama pengidentifikasi yang tidak digunakan menjadi garis bawah. Ya

Untuk informasi umum tentang mengedit kode di Visual Studio, dan fitur editor teks, lihat Menulis kode di editor.

Fitur IntelliSense

Tabel berikut ini meringkas fitur IntelliSense yang didukung dan tidak didukung di F#:

Fitur Deskripsi Didukung di F#?
Menerapkan antarmuka secara otomatis Menghasilkan stub kode untuk metode antarmuka. Ya
Cuplikan kode Menyuntikkan kode dari pustaka konstruksi pengkodean umum ke dalam topik. No
Lengkapi Kata Menyimpan pengetikan dengan menyelesaikan kata dan nama saat Anda mengetik. Ya
Penyelesaian otomatis Saat diaktifkan, menyebabkan penyelesaian kata memilih kecocokan pertama saat Anda mengetik, alih-alih menunggu Anda memilih satu atau menekan Ctrl+Space. Ya
Penyelesaian penawaran untuk simbol di namespace yang belum dibuka Dengan penyelesaian otomatis, simbol pencocokan yang berada di namespace yang belum dibuka disarankan, menawarkan untuk menyelesaikan dengan pernyataan yang open sesuai saat dipilih. Ya
Membuat elemen kode Memungkinkan Anda menghasilkan kode stub untuk berbagai konstruksi. No
Daftar Anggota Saat Anda mengetik operator akses anggota (.), memperlihatkan anggota untuk jenis. Ya
Atur Menggunakan/Buka Menata namespace yang direferensikan dengan menggunakan pernyataan dalam C# atau membuka direktif di F#. No
Parameter Info Menampilkan informasi bermanfaat tentang parameter saat Anda mengetik panggilan fungsi. Ya
Info Cepat Menampilkan deklarasi lengkap untuk pengidentifikasi apa pun dalam kode Anda. Ya
Penyelesaian kurung kurawal otomatis Secara otomatis menyelesaikan konstruksi sintaks seperti kurung kurawal F# dengan cara transaksional. Ya

Untuk informasi umum tentang IntelliSense, lihat Menggunakan IntelliSense.

Fitur penelusuran kesalahan

Tabel berikut ini meringkas fitur yang tersedia saat Anda men-debug kode F#:

Fitur Deskripsi Didukung di F#?
Jendela otomatis Memperlihatkan variabel otomatis atau sementara. No
Titik henti Memungkinkan Anda menjeda eksekusi kode pada titik tertentu selama penelusuran kesalahan. Ya
Titik henti kondisional Mengaktifkan titik henti yang menguji kondisi yang menentukan apakah eksekusi harus dijeda. Ya
Edit dan Lanjutkan Memungkinkan kode dimodifikasi dan dikompilasi saat Anda men-debug program yang sedang berjalan tanpa menghentikan dan memulai ulang debugger. No
Evaluator ekspresi Mengevaluasi dan menjalankan kode pada waktu proses. Tidak, tetapi evaluator ekspresi C# dapat digunakan, meskipun Anda harus menggunakan sintaks C#.
Penelusuran kesalahan historis Memungkinkan Anda untuk melangkah ke kode yang dijalankan sebelumnya. Ya
Jendela Lokal Memperlihatkan nilai dan variabel yang ditentukan secara lokal. Ya
Jalankan Ke Kursor Memungkinkan Anda menjalankan kode hingga baris yang berisi kursor tercapai. Ya
Melangkah ke Memungkinkan Anda untuk melanjutkan eksekusi dan pindah ke panggilan fungsi apa pun. Ya
Lewati Memungkinkan Anda untuk melanjutkan eksekusi dalam bingkai tumpukan saat ini dan melewati panggilan fungsi apa pun. Ya

Untuk informasi umum tentang debugger Visual Studio, lihat Penelusuran kesalahan di Visual Studio.

Alat tambahan

Tabel berikut ini meringkas dukungan untuk F# di alat Visual Studio.

Alat Deskripsi Didukung di F#?
Hierarki Panggilan Menampilkan struktur panggilan fungsi berlapis dalam kode Anda. No
Metrik Kode Mengumpulkan informasi tentang kode Anda, seperti jumlah baris. No
Tampilan Kelas Menyediakan tampilan kode berbasis jenis dalam proyek. No
Jendela Daftar Kesalahan Menampilkan daftar kesalahan dalam kode. Ya
F# Interaktif Memungkinkan Anda mengetik (atau menyalin dan menempelkan) kode F# dan segera menjalankannya, secara independen dari bangunan proyek Anda. Jendela F# Interaktif adalah Read, Evaluate, Print Loop (REPL). Ya
Object Browser Memungkinkan Anda melihat jenis dalam rakitan. Jenis F# saat muncul dalam rakitan yang dikompilasi tidak muncul persis seperti yang Anda tulis. Anda dapat menelusuri representasi yang dikompilasi dari jenis F#, tetapi Anda tidak dapat melihat jenis seperti yang muncul dari F#.
Jendela output Menampilkan output build. Ya
Analisis Performa Menyediakan alat untuk mengukur performa kode Anda. Ya
Jendela properti Menampilkan dan mengaktifkan pengeditan properti objek di lingkungan pengembangan yang memiliki fokus. Ya
Penjelajah Server Menyediakan cara untuk berinteraksi dengan berbagai sumber daya server. Ya
Penjelajah Solusi Memungkinkan Anda melihat dan mengelola proyek dan file. Ya
Daftar Tugas Memungkinkan Anda mengelola item kerja yang berkaitan dengan kode Anda. No
Menguji proyek Menyediakan fitur yang membantu Anda menguji kode Anda. No
Toolbox Menampilkan tab yang berisi objek yang dapat diseret seperti kontrol dan bagian teks atau kode. Ya

Baca juga