【发布时间】:2022-07-27 18:36:47
【问题描述】:
我喜欢为每个孩子及其组件在单独的行中进行编程,我最近在遇到一些问题后从 Android Studio 迁移到 VS Code,但我注意到在 VS Code 中,在保存文件后(CTRL+ S) 或者重启IDE,它会自动将代码压缩到一行,非常令人沮丧,我该如何解决这个问题?
【问题讨论】:
标签: flutter dart visual-studio-code
我喜欢为每个孩子及其组件在单独的行中进行编程,我最近在遇到一些问题后从 Android Studio 迁移到 VS Code,但我注意到在 VS Code 中,在保存文件后(CTRL+ S) 或者重启IDE,它会自动将代码压缩到一行,非常令人沮丧,我该如何解决这个问题?
【问题讨论】:
标签: flutter dart visual-studio-code
这不是问题,但 Flutter 代码格式化程序就是这样工作的。 Flutter 文档中解释了这种行为:
Flutter 代码通常涉及构建相当深的树形数据结构,例如在构建方法中。为了获得良好的自动格式化,我们建议您采用可选的尾随逗号。添加尾随逗号的准则很简单:始终在函数、方法和构造函数中的参数列表末尾添加尾随逗号,在这些地方您关心保持您制作的格式。这有助于自动格式化程序为 Flutter 风格的代码插入适量的换行符。
尽管不推荐,但在 VS Code 中,您可以禁用 Preferences -> Settings -> Text Editor -> Formatting 中的自动代码格式化并取消选中“保存时格式化”复选框。
【讨论】:
如果你想让 Flutter 将你的代码格式化成单独的行,你必须像这样用逗号 (,) 结束参数:
Text(
"text",
style: TextStyle(
fontSize: 25,
color: Colors.white,
),
),
如果您想禁用自动格式化功能,只需在 vscode 设置中禁用Format On Save 选项(在设置搜索框中输入editor.formatOnSave 以查找相关设置)。
【讨论】:
对我来说,我遇到了同样的情况,因为我添加了相关的设置 刚刚注释掉了 dart.lineLength 行
// "dart.lineLength": 500,
"[dart]": {
"editor.defaultFormatter": "Dart-Code.dart-code",
"editor.formatOnSave": true,
"editor.formatOnType": true,
"editor.rulers": [500],
"editor.selectionHighlight": false,
"editor.suggest.snippetsPreventQuickSuggestions": false,
"editor.suggestSelection": "first",
"editor.tabCompletion": "onlySnippets",
"editor.wordBasedSuggestions": false,
"editor.wordWrapColumn": 100000
}
【讨论】: