Como posso fazer o Notepad ++ usar arquivos “.txt” como o filtro de diálogo de arquivo aberto padrão?

6

Quando vou abrir arquivos no NPP, os tipos de arquivo são padronizados para "todos os tipos (. )".

Como posso tornar esse padrão ".txt"?

Pode ser uma coisa do Windows, já que tenho certeza que apenas usa o diálogo padrão do windows open, mas outros programas (textpad, notepad) podem padronizá-lo.

    
por corsiKa 03.08.2011 / 18:49

3 respostas

4

Acabei de revisar o código-fonte do NPP e tenho alguns detalhes adicionais se você quiser procurar uma solução para si mesmo. Quando você vai Arquivo - > Aberto, a lista de extensões de arquivo é carregada do arquivo Scintilla (SciLexer.dll).

Agora, quando você for Arquivo - > Aberto, a função void Notepad_plus::fileOpen() é chamada (no arquivo NppIO.cpp ). Inicialmente, o filtro All Types, *.* é adicionado à lista de filtros e, em seguida, a função int Notepad_plus::setFileOpenSaveDlgFilters(FileDialog & fDlg, int langType) é chamada (no mesmo arquivo). Essa função percorre as entradas da Scintilla que mencionei acima e as adiciona à lista de filtros FileDialog passada. O código em FileOpen é assim:

fDlg.setExtFilter(TEXT("All types"), TEXT(".*"), NULL);
setFileOpenSaveDlgFilters(fDlg);

Você pode alterar o índice de filtros padrão. Para fazer isso, você pode alterar essas linhas para isso:

fDlg._ofn.nFilterIndex = 2L;
fDlg.setExtFilter(TEXT("All types"), TEXT(".*"), NULL);
setFileOpenSaveDlgFilters(fDlg);

Isso deve definir o índice do filtro para o segundo por padrão.

Outra maneira fácil de corrigir isso é modificar essas linhas (novamente, em NppIO.cpp ) para ficar assim:

fDlg.setExtFilter(TEXT("Text files"), TEXT(".txt"),
                  TEXT("All types"),  TEXT(".*"), NULL);
setFileOpenSaveDlgFilters(fDlg);

Isso garantirá que os arquivos de texto sejam o primeiro filtro da lista. Observe que isso fará com que a extensão .txt seja definida duas vezes nas entradas, mas se você puder conviver com essa limitação, isso deve funcionar bem.

    
por 03.08.2011 / 19:59
1

Certamente, é possível que um programador codifique, mas não há como alterar a configuração quando ela estiver lá. Lamentamos.

    
por 03.08.2011 / 18:56
0

Por padrão, você não pode alterar esse "recurso" de maneira normal.

Uma solução é alterar os binários do programa, fazer algumas mudanças de código (se o código estiver aberto e você está licenciado para fazê-lo) e recompilá-lo para gerar um binário de programa diferente ou "hackear" o binário alterando alguns arquivos com um editor hexadecimal ou um patch já criado. Outra solução é alterar os diálogos de arquivos padrão do Windows de alguma forma.

Você pode experimentar esse software, que deve usar a segunda solução: File-Ex

Com isso, você pode adicionar alguns recursos para abrir e salvar diálogos e lembrar o filtro escolhido. Tente isso e poste se funcionou para você.

    
por 03.08.2011 / 20:40

Tags