6

Когда я иду, чтобы открыть файлы в NPP, типы файлов по умолчанию "все типы (.)".

Как я могу сделать это по умолчанию ".txt"?

Это может быть Windows, так как я уверен, что он просто использует диалог открытия файла Windows по умолчанию, но другие программы (textpad, notepad) могут использовать его по умолчанию.

3 ответа3

4

Я только что закончил просматривать исходный код АЭС, и у меня есть некоторые дополнительные сведения, если вы хотите найти решение для себя. Когда вы идете Файл -> Открыть, список расширений файлов загружается из файла Scintilla (SciLexer.dll).

Теперь, когда вы идете File -> Open, void Notepad_plus::fileOpen() (в файле NppIO.cpp ). Сначала в список фильтров добавляется фильтр All Types, *.* , А затем int Notepad_plus::setFileOpenSaveDlgFilters(FileDialog & fDlg, int langType) (в том же файле). Эта функция просматривает записи Scintilla, о которых я упоминал выше, и добавляет их в список фильтров переданного FileDialog . Код в FileOpen выглядит следующим образом:

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

Вы можете изменить индекс фильтра по умолчанию. Чтобы сделать это, вы можете вместо этого изменить эти строки так:

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

Это должно установить индекс фильтра на второй по умолчанию.


Другой простой способ быстро исправить это - изменить эти строки (опять же, в NppIO.cpp), чтобы они выглядели так:

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

Это гарантирует, что текстовые файлы будут первым фильтром в списке. Обратите внимание, что это приведет к двойному определению расширения .txt в записях, но если вы можете жить с этим предупреждением, это должно работать нормально.

1

Программист, конечно, может кодировать, но нет возможности изменить настройку, если она там есть.Сожалею.

0

По умолчанию вы не можете изменить эту "функцию" обычным способом.

Одним из решений является изменение двоичных файлов программы, внесение некоторых изменений кода (если код открыт и у вас есть лицензия на это) и перекомпиляция его для создания другого двоичного файла программы или для "взлома" двоичного файла путем изменения некоторых файлов с помощью шестнадцатеричного редактора. или уже созданный патч. Другое решение состоит в том, чтобы каким-то образом изменить стандартные диалоговые окна Windows.

Вы можете попробовать это программное обеспечение, которое должно использовать второе решение: File-Ex

При этом вы можете добавить некоторые функции, чтобы открывать и сохранять диалоги и запоминать выбранный фильтр. Попробуйте это и напишите, если это работало для вас.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .