Visual Studio Code Flutter 格式不适用于我的缩进空间值
Posted
技术标签:
【中文标题】Visual Studio Code Flutter 格式不适用于我的缩进空间值【英文标题】:Visual Studio Code Flutter Format is Not Working with My Indent Space Value 【发布时间】:2020-03-30 20:12:57 【问题描述】:我浪费了一整天,我不明白发生了什么。我正在使用 Visual Studio Code 1.40.2,我正在学习 Flutter 3.60。有时,由于缩进空间,Flutter 代码变得不可读。我只想创建更多空间(缩进空间),但是当我使用格式选项时,选项卡大小再次变为 2。我查看了太多网站,包括 ***,不幸的是我没有找到解决方案。它变得烦人。这是我的配置文件:(感谢帮助)
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",
"editor.fontSize": 18,
"editor.fontFamily": "Consolas, 'Courier New', monospace, ",
"dart.openDevTools": "flutter",
"workbench.colorTheme": "Night Owl (No Italics)",
"workbench.iconTheme": "material-icon-theme",
"editor.fastScrollSensitivity": 8,
"editor.tabSize": 8,
"editor.insertSpaces": true,
"editor.wordWrap": "on",
"editor.smoothScrolling": true,
"editor.cursorBlinking": "expand",
"editor.cursorSmoothCaretAnimation": true,
"editor.fontWeight": "400",
"outline.showFields": false,
"[dart]":
"editor.tabSize": 6,
"editor.insertSpaces": true,
"editor.detectIndentation": false,
,
我将 editor.insertSpaces 更改为 false 和 true,但没有任何变化。
editor.detectIndentation true 或 false 不起作用。
我添加了这个块但是没有用。
"[颤动]": “editor.tabSize”:6, “editor.insertSpaces”:是的, “editor.detectIndentation”:假, ,
这是我的简单代码:
import 'package:flutter/material.dart';
class GridListe extends StatelessWidget
@override
Widget build(BuildContext context)
return GridView.count(
crossAxisCount: 3,
primary: false,
padding: EdgeInsets.all(10),
crossAxisSpacing: 20,
mainAxisSpacing: 40,
children: <Widget>[
Container(
alignment: Alignment.center,
color: Colors.teal,
child: Text(
"Salam",
textAlign: TextAlign.center,
),
),
],
);
当我使用格式代码 (Shift + alt + p) 代码缩进空间或制表符大小变成 2 时,它会让我发疯。
import 'package:flutter/material.dart';
class GridListe extends StatelessWidget
@override
Widget build(BuildContext context)
return GridView.count(
crossAxisCount: 3,
primary: false,
padding: EdgeInsets.all(10),
crossAxisSpacing: 20,
mainAxisSpacing: 40,
children: <Widget>[
Container(
alignment: Alignment.center,
color: Colors.teal,
child: Text(
"Salam",
textAlign: TextAlign.center,
),
),
],
);
【问题讨论】:
dartfmt
总是打算使用 2 个空格 - 你无法控制。
有时我看教程,当他们使用 android Studio 时,他们有更多的缩进空间......我认为问题在于 VSC 设置。
@BurakİbrahimÜnal 不幸的是,这不仅仅是设置 - 请参阅下面的答案。 Android Studio/IntelliJ 确实有更多选择,因为它们自己解析 Dart 代码并从 IDE 框架中获得很多功能 - VS Code 并非如此,因此我们只有 SDK 提供的格式。
在设置中搜索formatOnSave并启用
【参考方案1】:
VS Code 的 Dart 扩展使用来自 Dart SDK (dart_style) 的格式化程序,它不支持自定义缩进选项(按设计),因此它将始终使用 2 个空格。
如果您希望手动格式化,可以禁用内置格式化程序,并且其他 VS Code 扩展也可以为 Dart 提供格式化程序 - 尽管据我所知(还)没有创建(虽然我已经提供了帮助 in this issue 如果有人有兴趣创建一个 VS Code 扩展来执行此操作)。
【讨论】:
【参考方案2】:在你的 settings.json 文件中添加这个
"[dart]":
"editor.defaultFormatter": "Dart-Code.dart-code",
"editor.formatOnSave": true
,
【讨论】:
我也输入了这行...没有任何改变。我已经在上面写了。不幸的是 dart sdk 不支持更改缩进空间。 在此解决方案中删除"[dart]":
对我有用。【参考方案3】:
只需在您的ProjectDir/ProjectName/.vscode/settings.json
中添加以下代码
"editor.defaultFormatter": "Dart-Code.dart-code",
"editor.formatOnSave": true
【讨论】:
对我来说非常棒的工作【参考方案4】:-
打开设置 (json)
找到 [dart] 并添加“editor.tabSize”:4
【讨论】:
以上是关于Visual Studio Code Flutter 格式不适用于我的缩进空间值的主要内容,如果未能解决你的问题,请参考以下文章
visual studio 和visual studio code 的区别
visual studio 和visual studio code 的区别
开发环境Ubuntu 安装 Visual Studio Code 开发环境 ( 下载 Visual Studio Code 安装器 | Ubuntu 安装 deb 包 )