Asosiasi File
Konfigurasikan asosiasi file untuk aplikasi Wails Anda
Platform yang Relevan: Windows macOS
Asosiasi file memungkinkan aplikasi Anda menangani jenis file tertentu saat pengguna membukanya. Fitur ini sangat berguna untuk editor teks, penampil gambar, atau aplikasi apa pun yang menangani format file tertentu. Panduan ini menjelaskan cara menerapkan asosiasi file dalam aplikasi Wails v3 Anda.
Ikhtisar
Dukungan asosiasi file di Wails v3 saat ini tersedia untuk:
- Windows (paket penginstal NSIS)
- macOS (bundel aplikasi)
Konfigurasi
Asosiasi file dikonfigurasikan dalam 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 bagian
fileAssociations - Jalankan
wails3 update build-assetsuntuk memperbarui aset build - Atur bidang
FileAssociationsdalam opsi aplikasi - Kemas aplikasi Anda menggunakan
wails3 package
Berikut contoh konfigurasinya:
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 tanda titik di awal (misalnya, txt) |
Semua |
| name | Nama tampilan untuk jenis file | Semua |
| description | Deskripsi yang ditampilkan dalam properti file | Windows |
| iconName | Nama file ikon (tanpa ekstensi) dalam folder build | Semua |
| role | Peran aplikasi untuk jenis file ini (misalnya, Editor, Viewer) |
macOS |
| mimeType | Jenis MIME untuk file (misalnya, image/jpeg) |
macOS |
Mendengarkan Peristiwa Pembukaan File
Untuk menangani peristiwa pembukaan file dalam aplikasi, Anda dapat mendengarkan peristiwa 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"}, // Specify supported extensions
})
// Listen for files being used to open the application
app.Event.OnApplicationEvent(events.Common.ApplicationOpenedWithFile, func(event *application.ApplicationEvent) {
associatedFile := event.Context().Filename()
app.Dialog.Info().SetMessage("Application opened with file: " + associatedFile).Show()
})
// Create your window and run the app...
}
Tutorial Langkah demi Langkah
Mari siapkan asosiasi file untuk editor teks sederhana langkah demi langkah:
Buat Ikon
- Buat ikon untuk jenis file Anda (ukuran yang disarankan: 16x16, 32x32, 48x48, 256x256)
- Simpan ikon dalam folder
buildproyek Anda - Beri nama ikon sesuai dengan konfigurasi
iconNameAnda (misalnya,textFileIcon.png)
- Untuk macOS, tambahkan pernyataan penyalinan seperti
cp build/darwin/documenticon.icns {{.BIN_DIR}}/{{.APP_NAME}}.app/Contents/Resourcesdalam tugascreate:app:bundle:.
Konfigurasikan 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 Aset Build
Jalankan perintah berikut untuk memperbarui aset build:
wails3 update build-assets
Atur Asosiasi File dalam Opsi Aplikasi
Dalam file main.go, atur bidang FileAssociations dalam opsi aplikasi:
app := application.New(application.Options{
Name: "MyApp",
FileAssociations: []string{".txt", ".md"}, // Specify supported extensions
})Kemas Aplikasi Anda
Kemas aplikasi Anda menggunakan perintah berikut:
wails3 package
Aplikasi yang telah dikemas akan dibuat dalam direktori bin. Setelah itu, Anda dapat menginstal dan menguji aplikasi tersebut.
Catatan Tambahan
- Ikon sebaiknya disediakan dalam format PNG di folder build
- Pengujian asosiasi file mengharuskan aplikasi yang telah dikemas untuk diinstal