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
Dukungan asosiasi file di Wails v3 saat ini tersedia untuk:
- Windows (paket installer NSIS)
- macOS (application bundle)
Konfigurasi
Asosiasi file dikonfigurasi di file config.yml yang berada di
direktori build proyek Anda.
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
| 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
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
Mari kita telusuri penyiapan asosiasi file untuk editor teks sederhana:
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
Edit file build/config.yml untuk menambahkan asosiasi file Anda:
# build/config.yml
fileAssociations:
- ext: txt
name: Text Document
description: Plain Text Document
iconName: textFileIcon
role: EditorPerbarui Build Assets
Jalankan perintah berikut untuk memperbarui build assets:
wails3 update build-assets
Atur Asosiasi File di Opsi Aplikasi
Di file main.go Anda, atur field FileAssociations di opsi
aplikasi:
app := application.New(application.Options{
Name: "MyApp",
FileAssociations: []string{".txt", ".md"}, // Tentukan ekstensi yang didukung
})Package Aplikasi Anda
Package aplikasi Anda menggunakan perintah berikut:
wails3 package
Aplikasi yang di-package akan dibuat di direktori bin. Anda kemudian dapat
menginstal dan menguji aplikasi.
Catatan Tambahan
- Ikon harus disediakan dalam format PNG di folder build
- Menguji asosiasi file memerlukan penginstalan aplikasi yang sudah di-package