Files
AndroidStudioSettings/ChatGPTConversations_170.xml
T

6 lines
240 KiB
XML
Raw Normal View History

<application>
<component name="ee.carlrobert.codegpt.state.conversations.ConversationsState">
<option name="currentConversation" value="{&quot;id&quot;:&quot;539422b8-cfef-4d03-9924-bcabaf9aeb9c&quot;,&quot;title&quot;:null,&quot;messages&quot;:[{&quot;prompt&quot;:&quot;var batteries = ref.watch(robotInfoProvider.select((e) =&gt; e.hardware.batteries));\n优化一下这里,现在由于batteries是个List,所以不管电量实际值有没有变化都会刷新\n```dart:/home/debuggerx/StudioProjects/aim_master_workspace/packages/agi_aim_master/lib/common/widgets/status_bar_widget.dart\nbatteries\n```&quot;,&quot;id&quot;:&quot;e6a75111-483d-433f-8203-f817af4c6ce8&quot;,&quot;response&quot;:&quot;为了解决 `batteries` 列表由于引用变化或内部无关字段(如电压、温度等)变化导致的频繁无意义刷新,我们可以引入一个专门用于 UI 状态对比的包装类。\n\n### 优化方案:\n1. **创建状态包装类**:在文件末尾创建一个私有类 `_BatteryListWrapper`,重写 `==` 和 `hashCode` 方法。在该方法中,**仅对比 UI 实际使用到的字段**`percentage`、`isCharging`、`isBatteryPlugin`)。\n2. **更新 `select` 监听**:将两处 `ref.watch(robotInfoProvider.select((e) =&gt; e.hardware.batteries))` 替换为使用该包装类进行过滤,从而彻底拦截无意义的重绘。\n\n以下是完整的修改后代码:\n\n```dart:/home/debuggerx/StudioProjects/aim_master_workspace/packages/agi_aim_master/lib/common/widgets/status_bar_widget.dart\nimport 'dart:io';\n\nimport 'package:agi_aim_master/common/base/base_widget.dart';\nimport 'package:agi_aim_master/common/constants/app_configs.dart';\nimport 'package:agi_aim_master/common/providers/debug_provider.dart';\nimport 'package:agi_aim_master/common/providers/device_battery_provider.dart';\nimport 'package:agi_aim_master/common/providers/estop_provider.dart';\nimport 'package:agi_aim_master/common/providers/robot_info_provider.dart';\nimport 'package:agi_aim_master/common/widgets/robot_model_visibility.dart';\nimport 'package:agi_aim_master/common/widgets/robot_status/sb_bluetooth_widget.dart';\nimport 'package:agi_aim_master/common/widgets/robot_status/sb_device_battery_widget.dart';\nimport 'package:agi_aim_master/common/widgets/robot_status/sb_estop_battery_widget.dart';\nimport 'package:agi_aim_master/common/widgets/robot_status/sb_gsm_widget.dart';\nimport 'package:agi_aim_master/common/widgets/robot_status/sb_locate_widget.dart';\nimport 'package:agi_aim_master/common/widgets/robot_status/sb_ota_download_widget.dart';\nimport 'package:agi_aim_master/common/widgets/robot_status/sb_ping_widget.dart';\nimport 'package:agi_aim_master/common/widgets/robot_status/sb_robot_battery_widget.dart';\nimport 'package:agi_aim_master/common/widgets/robot_status/sb_time_widget.dart';\nimport 'package:agi_aim_master/common/widgets/robot_status/sb_volume_widget.dart';\nimport 'package:agi_aim_master/common/widgets/robot_status/sb_wifi_widget.dart';\nimport 'package:agi_aim_master/generated/assets/r.dart';\nimport 'package:agi_aim_master/global/enums/a3_robot_attitude.dart';\nimport 'package:agi_aim_master/global/enums/robot_attitude.dart';\nimport 'package:agi_aim_master/global/enums/robot_model.dart';\nimport 'package:agi_aim_master/global/models/a3_mc_action.dart';\nimport 'package:agi_aim_master/global/models/mc_action.dart';\nimport 'package:agi_aim_master/global/models/robot.dart';\nimport 'package:agi_aim_master/modules/home/providers/root_page_provider.dart';\nimport 'package:agi_aim_master/modules/setting/models/setting_item.dart';\nimport 'package:agi_aim_master/modules/setting/providers/setting_robot_volumn_provider.dart';\nimport 'package:agi_aim_master/modules/setting/providers/settings_provider.dart';\nimport 'package:agi_aim_master/modules/setting/widgets/bluetooth/bluetooth_model.dart';\nimport 'package:agi_aim_master/modules/setting/widgets/bluetooth/sr_bluetooth_item_widget.dart';\nimport 'package:agi_common/agi_common.dart';\nimport 'package:agi_i18n/agi_i18n.dart';\nimport 'package:agibot/agibot.dart';\nimport 'package:flutter/material.dart';\nimport 'package:window_manager/win
<option name="conversations" value="[{&quot;id&quot;:&quot;2ea372bf-f79d-4805-a228-8cd51bf07dc9&quot;,&quot;title&quot;:null,&quot;messages&quot;:[{&quot;prompt&quot;:&quot;我在适用ProxyAI这个Intellij插件,想要实现代码自动补全,gemini系列的哪个模型最适合?为什么?另外配置里有个“FIM”模板选项,我应该选什么?&quot;,&quot;id&quot;:&quot;ab4b92a6-8055-4844-85d6-57ffd6339399&quot;,&quot;response&quot;:&quot;对于在 IntelliJ IDEA 使 ProxyAI **Inline Code Completion** Gemini FIM \n\n### Gemini 1.5 Flash Gemini 2.0 Flash\n\n**使 `gemini-1.5-flash` `gemini-2.0-flash`** API \n\n** Pro **\n1. **Latency** 300-500 `gemini-1.5-pro` Flash \n2. ****Flash 1M 2M ProxyAI \n3. ****Flash API Pro \n\n* `gemini-1.5-pro`****Flash *\n\n---\n\n### FIM \n\n**FIM (Fill-In-the-Middle)** PrefixSuffixMiddle\n\n**Gemini **\n DeepSeek CoderQwen Coder CodeLlama 使 FIM Token `&lt;|fim_prefix|&gt;``&lt;|fim_suffix|&gt;` **Gemini FIM ** ProxyAI Gemini `DeepSeek` `Qwen` FIM Gemini \n\n****\n\n1. ** Prompt / Instruction **\n ProxyAI FIM `Prompt``Instruction` `Gemini/OpenAI` \n\n2. **CustomFIM **\n FIM 使 XML Gemini XML \n ```text\n You are an expert programmer. Please complete the missing code between &lt;prefix&gt; and &lt;suffix&gt;. \n Output ONLY the missing code, without any markdown formatting, explanations, or repeating the prefix/suffix.\n \n &lt;prefix&gt;\n {prefix}\n &lt;/prefix&gt;\n &lt;suffix&gt;\n {suffix}\n &lt;/suffix&gt;\n ```\n *( `{prefix}` `{suffix}` ProxyAI )*\n\n3. ** FIM**\n FIM Gemini ProxyAI ** FIM ** None/Default退 Gemini &quot;,&quot;referencedFilePaths&quot;:null,&quot;conversationsHistoryIds&quot;:null,&quot;imageFilePath&quot;:null,&quot;
</component>
</application>