feat: Add file suggestion edit tool and chat UI (#240)

* feat: Add settings for write to system tool access
This commit is contained in:
Petr Mironychev
2025-10-20 11:48:18 +02:00
committed by GitHub
parent 238ca00227
commit 8a338ecb69
15 changed files with 1400 additions and 22 deletions

View File

@ -220,6 +220,12 @@ GeneralSettings::GeneralSettings()
Tr::tr("Allow tools to read files from disk (project files, open editors)"));
allowFileSystemRead.setDefaultValue(true);
allowFileSystemWrite.setSettingsKey(Constants::CA_ALLOW_FILE_SYSTEM_WRITE);
allowFileSystemWrite.setLabelText(Tr::tr("Allow File System Write Access for tools"));
allowFileSystemWrite.setToolTip(
Tr::tr("Allow tools to write and modify files on disk (WARNING: Use with caution!)"));
allowFileSystemWrite.setDefaultValue(false);
readSettings();
Logger::instance().setLoggingEnabled(enableLogging());
@ -265,7 +271,9 @@ GeneralSettings::GeneralSettings()
auto caGroup = Group{
title(TrConstants::CHAT_ASSISTANT),
Column{caGrid, Column{useTools, allowFileSystemRead}, caTemplateDescription}};
Column{caGrid,
Column{useTools, allowFileSystemRead, allowFileSystemWrite},
caTemplateDescription}};
auto rootLayout = Column{
Row{enableQodeAssist, Stretch{1}, Row{checkUpdate, resetToDefaults}},
@ -511,6 +519,7 @@ void GeneralSettings::resetPageToDefaults()
resetAspect(caCustomEndpoint);
resetAspect(useTools);
resetAspect(allowFileSystemRead);
resetAspect(allowFileSystemWrite);
writeSettings();
}
}

View File

@ -102,6 +102,7 @@ public:
Utils::BoolAspect useTools{this};
Utils::BoolAspect allowFileSystemRead{this};
Utils::BoolAspect allowFileSystemWrite{this};
Utils::StringAspect caTemplateDescription{this};

View File

@ -86,6 +86,7 @@ const char CA_ENABLE_CHAT_IN_BOTTOM_TOOLBAR[] = "QodeAssist.caEnableChatInBottom
const char CA_ENABLE_CHAT_IN_NAVIGATION_PANEL[] = "QodeAssist.caEnableChatInNavigationPanel";
const char CA_USE_TOOLS[] = "QodeAssist.caUseTools";
const char CA_ALLOW_FILE_SYSTEM_READ[] = "QodeAssist.caAllowFileSystemRead";
const char CA_ALLOW_FILE_SYSTEM_WRITE[] = "QodeAssist.caAllowFileSystemWrite";
const char QODE_ASSIST_GENERAL_OPTIONS_ID[] = "QodeAssist.GeneralOptions";
const char QODE_ASSIST_GENERAL_SETTINGS_PAGE_ID[] = "QodeAssist.1GeneralSettingsPageId";