Anyways: Does it work for "inl" files??? It really should. I see no reason why it should not work if you add this extension to the "source files" category that way.
AH! Here's the answer.
And this is why I didn't know about "Edit file types and categories"...I had already browsed through the codebase and swore I had seen hard-coded file extensions. :D
Here's a peek at ./src/sdk/globals.cpp. This function is called to make sure the debugger only opens source and header files.
FileType FileTypeOf(const wxString& filename)
{
wxString ext = filename.AfterLast(_T('.')).Lower();
if (ext.IsSameAs(FileFilters::ASM_EXT) ||
ext.IsSameAs(FileFilters::C_EXT) ||
ext.IsSameAs(FileFilters::CC_EXT) ||
ext.IsSameAs(FileFilters::CPP_EXT) ||
ext.IsSameAs(FileFilters::CXX_EXT) ||
ext.IsSameAs(FileFilters::S_EXT) ||
ext.IsSameAs(FileFilters::SS_EXT) ||
ext.IsSameAs(FileFilters::S62_EXT) ||
ext.IsSameAs(FileFilters::D_EXT) ||
ext.IsSameAs(FileFilters::F_EXT) ||
ext.IsSameAs(FileFilters::F77_EXT) ||
ext.IsSameAs(FileFilters::F90_EXT) ||
ext.IsSameAs(FileFilters::F95_EXT) ||
ext.IsSameAs(FileFilters::JAVA_EXT)
)
return ftSource;
else if (ext.IsSameAs(FileFilters::H_EXT) ||
ext.IsSameAs(FileFilters::HH_EXT) ||
ext.IsSameAs(FileFilters::HPP_EXT) ||
ext.IsSameAs(FileFilters::HXX_EXT)
)
return ftHeader;
// ...(etc.)
...and that code is being called from here in debuggergdb.cpp
void DebuggerGDB::SyncEditor(const wxString& filename, int line, bool setMarker)
{
if (setMarker)
ClearActiveMarkFromAllEditors();
FileType ft = FileTypeOf(filename);
if (ft != ftSource && ft != ftHeader && ft != ftResource)
return; // don't try to open unknown files
The solution may be to redefine FileTypeOf to use the custom list, but at the very least the debugger plug-in could be changed so that it doesn't return from that function unless the editor is absolutely incapable of opening the file (e.g. it's a binary)