Asosiasi File
Platform Relevan: Windows macOS
Asosiasi file memungkinkan aplikasi Anda menangani jenis file tertentu saat pengguna membukanya. Ini sangat berguna untuk editor teks, penampil gambar, atau aplikasi apa pun yang bekerja dengan format file tertentu. Panduan ini menjelaskan cara mengimplementasikan asosiasi file di aplikasi Wails v3 Anda.
Ringkasan
Section titled “Ringkasan”Dukungan asosiasi file di Wails v3 saat ini tersedia untuk:
- Windows (paket installer NSIS)
- macOS (application bundle)
Konfigurasi
Section titled “Konfigurasi”Asosiasi file dikonfigurasi di file config.yml yang berada di
direktori build proyek Anda.
Konfigurasi Dasar
Section titled “Konfigurasi Dasar”Untuk menyiapkan asosiasi file:
- Buka
build/config.yml - Tambahkan asosiasi file Anda di bawah bagian
fileAssociations - Jalankan
wails3 update build-assetsuntuk memperbarui build assets - Atur field
FileAssociationsdi opsi aplikasi - Package aplikasi Anda menggunakan
wails3 package
Berikut contoh konfigurasi:
fileAssociations: - ext: myapp name: MyApp Document description: MyApp Document File iconName: myappFileIcon role: Editor - ext: custom name: Custom Format description: Custom File Format iconName: customFileIcon role: EditorProperti Konfigurasi
Section titled “Properti Konfigurasi”| Properti | Deskripsi | Platform |
|---|---|---|
| ext | Ekstensi file tanpa titik di depan (mis. txt) | Semua |
| name | Nama tampilan untuk jenis file | Semua |
| description | Deskripsi yang ditampilkan di properti file | Windows |
| iconName | Nama file ikon (tanpa ekstensi) di folder build | Semua |
| role | Peran aplikasi untuk jenis file ini (mis. Editor, Viewer) | macOS |
| mimeType | Tipe MIME untuk file (mis. image/jpeg) | macOS |
Mendengarkan Event Buka File
Section titled “Mendengarkan Event Buka File”Untuk menangani event buka file di aplikasi Anda, Anda dapat mendengarkan
event events.Common.ApplicationOpenedWithFile:
package main
import ( "github.com/wailsapp/wails/v3/pkg/application" "github.com/wailsapp/wails/v3/pkg/events")
func main() { app := application.New(application.Options{ Name: "MyApp", FileAssociations: []string{".txt", ".md"}, // Tentukan ekstensi yang didukung })
// Dengarkan file yang digunakan untuk membuka aplikasi app.Event.OnApplicationEvent(events.Common.ApplicationOpenedWithFile, func(event *application.ApplicationEvent) { associatedFile := event.Context().Filename() app.Dialog.Info().SetMessage("Application opened with file: " + associatedFile).Show() })
// Buat window Anda dan jalankan aplikasi...}Tutorial Langkah demi Langkah
Section titled “Tutorial Langkah demi Langkah”Mari kita telusuri penyiapan asosiasi file untuk editor teks sederhana:
-
Buat Ikon
Section titled “Buat Ikon”- Buat ikon untuk jenis file Anda (ukuran yang disarankan: 16x16, 32x32, 48x48, 256x256)
- Simpan ikon di folder
buildproyek Anda - Beri nama sesuai konfigurasi
iconNameAnda (mis.,textFileIcon.png)
- Untuk macOS tambahkan pernyataan copy seperti
cp build/darwin/documenticon.icns {{.BIN_DIR}}/{{.APP_NAME}}.app/Contents/Resourcesdi taskcreate:app:bundle:.
-
Konfigurasi Asosiasi File
Section titled “Konfigurasi Asosiasi File”Edit file
build/config.ymluntuk menambahkan asosiasi file Anda:build/config.yml fileAssociations:- ext: txtname: Text Documentdescription: Plain Text DocumenticonName: textFileIconrole: Editor -
Perbarui Build Assets
Section titled “Perbarui Build Assets”Jalankan perintah berikut untuk memperbarui build assets:
Terminal window wails3 update build-assets -
Atur Asosiasi File di Opsi Aplikasi
Section titled “Atur Asosiasi File di Opsi Aplikasi”Di file
main.goAnda, atur fieldFileAssociationsdi opsi aplikasi:app := application.New(application.Options{Name: "MyApp",FileAssociations: []string{".txt", ".md"}, // Tentukan ekstensi yang didukung}) -
Package Aplikasi Anda
Section titled “Package Aplikasi Anda”Package aplikasi Anda menggunakan perintah berikut:
Terminal window wails3 packageAplikasi yang di-package akan dibuat di direktori
bin. Anda kemudian dapat menginstal dan menguji aplikasi.Catatan Tambahan
Section titled “Catatan Tambahan”- Ikon harus disediakan dalam format PNG di folder build
- Menguji asosiasi file memerlukan penginstalan aplikasi yang sudah di-package