prefer_single_quotes
Only use double quotes for strings containing single quotes.
Details
#DO use single quotes where they wouldn't require additional escapes.
That means strings with an apostrophe may use double quotes so that the apostrophe isn't escaped (note: we don't lint the other way around, ie, a single quoted string with an escaped apostrophe is not flagged).
It's also rare, but possible, to have strings within string interpolations. In this case, it's much more readable to use a double quote somewhere. So double quotes are allowed either within, or containing, an interpolated string literal. Arguably strings within string interpolations should be its own type of lint.
BAD:
useStrings(
"should be single quote",
r"should be single quote",
r"""should be single quotes""")
GOOD:
useStrings(
'should be single quote',
r'should be single quote',
r\'''should be single quotes\''',
"here's ok",
"nested \${a ? 'strings' : 'can'} be wrapped by a double quote",
'and nested \${a ? "strings" : "can be double quoted themselves"}');
Incompatible rules
#The prefer_single_quotes
rule is incompatible with the following rules:
Enable
#To enable the prefer_single_quotes
rule, add prefer_single_quotes
under linter > rules in your analysis_options.yaml
file:
linter:
rules:
- prefer_single_quotes
If you're instead using the YAML map syntax to configure linter rules, add prefer_single_quotes: true
under linter > rules:
linter:
rules:
prefer_single_quotes: true
Unless stated otherwise, the documentation on this site reflects Dart 3.6.0. Page last updated on 2025-01-27. View source or report an issue.