VS Code Ruby跨其他Ruby文件提取属性的代码补全功能关闭咨询
不同Ruby开发环境关闭跨文件符号补全的配置方法
针对Solargraph扩展(最主流的Ruby IntelliSense实现)
- 打开编辑器设置,搜索
Solargraph: Symbols - 找到
solargraph.symbols.includeExternal配置项,取消勾选即可,该选项默认开启,控制是否从整个工作区所有文件拉取符号加入补全列表 - 若不需要完全关闭跨文件补全,仅想排除旧教程、测试代码等无关目录,可在项目根目录新建
.solargraph.yml文件,添加如下配置:
exclude: - "**/旧教程存放目录/**/*" - "**/测试代码目录/**/*"
- 配置完成后重启Solargraph服务即可生效
针对VS Code官方Ruby LSP扩展
- 打开编辑器设置,搜索
Ruby LSP: Enable Indexing - 若要完全关闭跨文件索引,直接取消该选项勾选即可,后续补全仅会读取当前打开文件内的符号
- 若要保留必要的项目索引,仅排除无关目录,找到
rubyLsp.indexExcludePatterns配置项,添加对应目录的匹配规则即可,例如**/ruby-learning-archive/** - 保存设置后重载Ruby LSP服务生效
针对RubyMine/IDEA Ruby插件
- 打开偏好设置,依次进入
Editor | General | Code Completion - 找到Ruby分类下的
Show symbols from all files in project选项,取消勾选即可 - 也可以右键点击无关的教程目录,选择
Mark Directory as | Excluded,将目录排除出项目索引范围,不会影响正常项目的补全逻辑
通用临时方案
如果不需要长期修改配置,可直接将无关的Ruby文件夹从当前编辑器工作区移除,补全逻辑只会读取当前工作区剩余文件的符号。
内容的提问来源于stack exchange,提问作者byVerbel
相关产品推荐
相关产品推荐

