fix: Exclude ignore file from attach

This commit is contained in:
Petr Mironychev 2025-04-21 08:37:57 +02:00
parent 2b539bbdeb
commit 8a80dbe8f5
3 changed files with 17 additions and 14 deletions

View File

@ -510,7 +510,7 @@ void ChatRootView::onAppendLinkFileFromEditor(Core::IEditor *editor)
{
if (auto document = editor->document(); document && isSyncOpenFiles()) {
QString filePath = document->filePath().toFSPathString();
if (!m_linkedFiles.contains(filePath)) {
if (!m_linkedFiles.contains(filePath) && !shouldIgnoreFileForAttach(document->filePath())) {
m_linkedFiles.append(filePath);
emit linkedFilesChanged();
}
@ -537,4 +537,19 @@ void ChatRootView::setRecentFilePath(const QString &filePath)
}
}
bool ChatRootView::shouldIgnoreFileForAttach(const Utils::FilePath &filePath)
{
auto project = ProjectExplorer::ProjectManager::projectForFile(filePath);
if (project
&& m_clientInterface->contextManager()
->ignoreManager()
->shouldIgnore(filePath.toFSPathString(), project)) {
LOG_MESSAGE(QString("Ignoring file for attachment due to .qodeassistignore: %1")
.arg(filePath.toFSPathString()));
return true;
}
return false;
}
} // namespace QodeAssist::Chat

View File

@ -78,6 +78,7 @@ public:
QString chatFileName() const;
void setRecentFilePath(const QString &filePath);
bool shouldIgnoreFileForAttach(const Utils::FilePath &filePath);
public slots:
void sendMessage(const QString &message);

View File

@ -37,24 +37,11 @@ IgnoreManager::IgnoreManager(QObject *parent)
{
auto projectManager = ProjectExplorer::ProjectManager::instance();
if (projectManager) {
connect(
projectManager,
&ProjectExplorer::ProjectManager::projectAdded,
this,
&IgnoreManager::reloadIgnorePatterns);
connect(
projectManager,
&ProjectExplorer::ProjectManager::projectRemoved,
this,
&IgnoreManager::removeIgnorePatterns);
const QList<ProjectExplorer::Project *> projects = projectManager->projects();
for (ProjectExplorer::Project *project : projects) {
if (project) {
reloadIgnorePatterns(project);
}
}
}
connect(