Associações de arquivos
Configure associações de arquivos para seu aplicativo Wails
Plataformas relevantes: Windows macOS
As associações de arquivos permitem que seu aplicativo processe tipos específicos de arquivo quando os usuários os abrem. Isso é particularmente útil para editores de texto, visualizadores de imagens ou qualquer aplicativo que trabalhe com formatos de arquivo específicos. Este guia explica como implementar associações de arquivos em seu aplicativo Wails v3.
Visão geral
Atualmente, o suporte a associações de arquivos no Wails v3 está disponível para:
- Windows (pacotes de instalação NSIS)
- macOS (pacotes de aplicativos)
Configuração
As associações de arquivos são configuradas no arquivo config.yml, localizado no diretório build do seu projeto.
Configuração básica
Para configurar associações de arquivos:
- Abra
build/config.yml - Adicione suas associações de arquivos na seção
fileAssociations - Execute
wails3 update build-assetspara atualizar os recursos de compilação - Defina o campo
FileAssociationsnas opções do aplicativo - Empacote seu aplicativo usando
wails3 package
Veja um exemplo de configuração:
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: EditorPropriedades de configuração
| Propriedade | Descrição | Plataforma |
|---|---|---|
| ext | Extensão do arquivo sem o ponto inicial (por exemplo, txt) |
Todas |
| name | Nome de exibição do tipo de arquivo | Todas |
| description | Descrição exibida nas propriedades do arquivo | Windows |
| iconName | Nome do arquivo de ícone (sem a extensão) na pasta de compilação | Todas |
| role | Função do aplicativo para esse tipo de arquivo (por exemplo, Editor, Viewer) |
macOS |
| mimeType | Tipo MIME do arquivo (por exemplo, image/jpeg) |
macOS |
Escuta de eventos de abertura de arquivo
Para processar eventos de abertura de arquivo em seu aplicativo, você pode escutar o evento 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 passo a passo
Vamos configurar associações de arquivos para um editor de texto simples:
Criar ícones
- Crie ícones para seu tipo de arquivo (tamanhos recomendados: 16x16, 32x32, 48x48, 256x256)
- Salve os ícones na pasta
builddo seu projeto - Nomeie-os de acordo com sua configuração de
iconName(por exemplo,textFileIcon.png)
- No macOS, adicione uma instrução de cópia como
cp build/darwin/documenticon.icns {{.BIN_DIR}}/{{.APP_NAME}}.app/Contents/Resourcesà tarefacreate:app:bundle:.
Configurar associações de arquivos
Edite o arquivo build/config.yml para adicionar suas associações de arquivos:
# build/config.yml
fileAssociations:
- ext: txt
name: Text Document
description: Plain Text Document
iconName: textFileIcon
role: EditorAtualizar recursos de compilação
Execute o comando a seguir para atualizar os recursos de compilação:
wails3 update build-assets
Definir associações de arquivos nas opções do aplicativo
No arquivo main.go, defina o campo FileAssociations nas opções do aplicativo:
app := application.New(application.Options{
Name: "MyApp",
FileAssociations: []string{".txt", ".md"}, // Specify supported extensions
})Empacotar seu aplicativo
Empacote seu aplicativo usando o comando a seguir:
wails3 package
O aplicativo empacotado será criado no diretório bin. Depois, você poderá instalar e testar o aplicativo.
Observações adicionais
- Recomenda-se fornecer os ícones no formato PNG na pasta de compilação
- Para testar as associações de arquivos, é necessário instalar o aplicativo empacotado