登录
sqlfluff
分类:工具软件 访问:4 下载量:0

软件介绍

更新时间:2025-04-23

Datacoves由Datacoves提供支持,体验集成VSCode、dbt-core、SqlFluff和Airflow的强大功能,访问Datacoves.com获取更多信息。

vscode-sqlfluff简介

.github/workflows/ci.yml

vscode-sqlfluff是一个为SQLFluff设计的VSCode扩展,旨在提供SQL和dbt的linting和自动格式化功能。通过这个扩展,您可以轻松地检查和修复SQL代码中的问题。

linter in action

使用"Format Document"功能可以自动修复linting违规问题,但请注意,并非所有违规问题都可以自动修复,"Format Selection"功能目前不支持。

配置指南

要使用此扩展,您需要先安装并将SQLFluff添加到系统路径中。如果SQLFluff已安装但无法找到,请在您的设置中添加路径。可以通过在终端中输入which sqlfluff来查找路径。

您可以通过手动编辑VSCode的settings.json文件或通过用户界面来配置设置。如果选择手动编辑settings.json文件,请打开VSCode命令面板并输入settings.json,选择"Preferences: Open Settings",然后在settings.json中添加以下配置选项:

  "sqlfluff.config": "${workspaceFolder}/.sqlfluff",
  "sqlfluff.dialect": "mysql",
  "sqlfluff.env.environmentVariables": [
    {
      "key": "example_key",
      "value": "example_value"
    }
  ],
  "sqlfluff.env.customDotEnvFiles": [
    "${workspaceFolder}/example.env"
  ],
  "sqlfluff.env.useDotEnvFile": true,
  "sqlfluff.excludeRules": ["L009"],
  "sqlfluff.executablePath": "sqlfluff",
  "sqlfluff.ignoreLocalConfig": false,
  "sqlfluff.ignoreParsing": false,
  "sqlfluff.rules": [],
  "sqlfluff.suppressNotifications": false,
  "sqlfluff.workingDirectory": "",
  /* Linter */
  "sqlfluff.linter.arguments": [],
  "sqlfluff.linter.run": "onType",
  "sqlfluff.linter.diagnosticSeverity": "error",
  "sqlfluff.linter.diagnosticSeverityByRule": [
    {
      "rule": "L010",
      "severity": "warning"
    }
  ],
  "sqlfluff.linter.lintEntireProject": true,
  /* Formatter */
  "sqlfluff.format.arguments": ["--FIX-EVEN-UNPARSABLE"],
  "sqlfluff.format.enabled": true,

dbt配置

对于dbt项目,您需要以下设置来进行linting和格式化文档:

  "sqlfluff.linter.run": "onSave",
  "sqlfluff.experimental.format.executeInTerminal": true,
  "editor.formatOnSave": false,

格式化文件

默认情况下,您可以通过格式化功能使用SQLFluff修复文件,相当于调用sqlfluff fix

plugin configuration

显示文档

当您悬停在问题上时,会弹出一个窗口,解释问题并提供文档链接。对于SQLFluff 2.0.0及以上版本,此链接将直接跳转到相关规则的文档页面;对于2.0.0之前的版本,链接将跳转到文档首页。

VSCode变量

在配置中,executablePathconfig设置可以使用一些VSCode变量,格式为${variableName}。以下是一些有用的变量:

  • fileWorkspaceFolder:包含当前打开文件的工作区文件夹路径
  • workspaceFolder:在VSCode中打开的第一个工作区文件夹路径
  • workspaceFolderBasename:在VSCode中打开的文件夹路径的最后一部分
  • fileDirname:当前打开文件的目录名

以下是一些不太常用的变量:

  • file:当前打开的文件
  • relativeFile:相对于workspaceFolder的当前打开文件
  • fileBasename:文件路径的最后一部分
  • fileBasenameNoExtension:文件路径的最后一部分,不含扩展名
  • fileExtname:当前打开文件的扩展名
  • lineNumber:活动文件中当前选中的行号
  • selectedText:活动文件中当前选中的文本
  • execPath:运行VSCode可执行文件的路径

遇到问题?

打开命令面板并运行"SQLFluff Debug Extension"命令,检查输出通道以查看此扩展运行的SQLFluff命令。

Ouput Channel

如果这无法解决您的问题,请在https://github.com/sqlfluff/vscode-sqlfluff/issues上提交问题。

Open-VSX

访问open-vsx.org/extension/sqlfluff/vscode-sqlfluff获取更多信息。

致谢/链接

  • dorzey
  • VSCode的扩展样本
  • VSCode的测试文档

许可证

此项目遵循MIT许可证(MIT)。有关更多信息,请查看许可证文件。

本站所有资源都是由网友投稿发布,或转载各大下载站, 请自行检测软件的完整性!

本站所有资源仅供学习与参考,请勿用于商业用途,否则 产生的一切后果将由您自己承担!

如有侵权请联系我们删除下架,联系方式:study_golang@163.com

最新教程

查看更多
  • Vue.js 微实战--十天技能课堂
    Vue.js 微实战--十天技能课堂
    咨询微信:ycku_com;该课程是一门实战性质的课程,重点围绕Vue.js框架展开。课程中包含了四个小实战项目:计算器、打卡、史今查询和手机归属地。学习者将通过这些实际的小项目,学会如何使用Vue.js框架构建各种类型的应用。从简单的计算器到更复杂的打卡系统、查询功能和API调用,学习者将掌握Vue.js的核心概念、组件化开发、状态管理以及与后端API的交互。通过这些实战项目,学习者将能够获得丰
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让学生了解MySQL如何与客户端进行通信。此外,课程还将介绍如何优化MySQL的网络通信性能,包括连接池、网络压缩、SSL加密等高级技术。学生将通过实践项目,亲手
  • golang socket 编程
    golang socket 编程
    如有问题加微信:Le-studyg;本课程从基础概念讲起,涵盖了socket编程的核心概念、Golang的socket编程接口、常见协议和案例实战等内容。通过系统地学习,学员将掌握如何使用Golang进行高效的socket编程,从而为开发高性能的网络应用打下坚实的基础。
  • Golang云原生架构师课程
    Golang云原生架构师课程
    Go是一门并发支持、垃圾回收的编译型系统编程语言;本课程转载自哔哩哔哩:https://www.bilibili.com/video/BV1Mh411M7A
  • Golang深入理解GPM模型
    Golang深入理解GPM模型
    Golang深入理解GPM调度器模型及全场景分析,希望您看完这套视频有所收获;包括调度器的由来和分析、GMP模型简介、以及11个场景总结。
  • Go语言课程Gin框架实战
    Go语言课程Gin框架实战
    Gin是一个用Go(Golang)编写的HTTPweb框架。它是一个类似于 martini 但拥有更好性能的API框架,由于 httprouter,速度提高了近40倍。如果你需要极好的性能,使用Gin吧。