Visual Studio 代码和 TSLint:代码换行超过 80 个字符
Visual Studio Code and TSLint: Code wrap to more than 80 characters
我在 Visual Studio 代码中使用带有 TSLint 和 Prettier 的 TypeScript 来编写 React Native 应用程序。
我尝试将我的编辑器配置为自动将每行代码换行到 100 个字符。但是保存后总是80个字符,不是100个。
以下是我更改的设置:
"prettier.tslintIntegration": true,
"prettier.printWidth": 100,
"editor.renderIndentGuides": true,
"editor.rulers": [100],
"editor.wordWrapColumn": 100,
"editor.formatOnSave": true
这是我的 tslint.json
:
{
"extends": ["tslint:recommended", "tslint-react", "tslint-config-prettier"],
"rules": {
// "jsx-no-lambda": false,
"member-access": false,
"interface-name": false,
"max-line-length": [true, 100]
}
}
即使我这样配置了所有内容,我的代码仍然会自动换行大约 80 个字符。我怎样才能让它停止?
如果我的行超过 100 个字符,我会收到 linting 错误,因此 tslint.json
设置似乎有效。
奖励:完成 VSCode 设置以防我遗漏了什么:
{
"telemetry.enableTelemetry": false,
"workbench.colorTheme": "One Dark Pro",
"workbench.iconTheme": "vscode-icons",
"window.zoomLevel": 0,
"prettier.eslintIntegration": true,
"prettier.tslintIntegration": true,
"prettier.printWidth": 100,
"editor.renderIndentGuides": true,
"editor.rulers": [100],
"[javascript]": {
"editor.tabSize": 2
},
"[typescript]": {
"editor.tabSize": 2
},
"[typescriptreact]": {
"editor.tabSize": 2
},
"[json]": {
"editor.tabSize": 2
},
"workbench.colorCustomizations": {
// "statusBar.background": "#272b33",
// "panel.background": "#30353f",
// "sideBar.background": "#2a2b33",
"editor.background": "#2c313a"
},
"todohighlight.keywords": [
{
"text": "DEBUG:",
"color": "#fff",
"backgroundColor": "limegreen",
"overviewRulerColor": "grey"
},
{
"text": "NOTE:",
"color": "#fff",
"backgroundColor": "mediumslateblue",
"overviewRulerColor": "grey"
},
{
"text": "REVIEW:",
"color": "#fff",
"backgroundColor": "dodgerblue",
"overviewRulerColor": "grey"
},
{
"text": "XXX:",
"color": "#fff",
"backgroundColor": "orangered",
"overviewRulerColor": "grey"
}
],
"editor.wordWrapColumn": 100,
"editor.formatOnSave": true
}
这两个就够了:
"editor.wordWrap": "wordWrapColumn",
"editor.wordWrapColumn": 100
您的设置中似乎缺少 "editor.wordWrap"
。在 vscode 中,此设置控制环绕策略:"wordWrapColumn" 表示在 "editor.wordWrapColumn"
设置处环绕。
您也可以尝试 "editor.wordWrap": "bounded"
,它会尊重 "wordWrapColumn",但如果您的视口少于您定义的列数,也会换行。
UPD:根据我们在评论中的讨论,prettier 似乎不遵守其 "printWidth"
设置。可能有两个最可能的原因:
- 本期:https://github.com/prettier/prettier-vscode/issues/595
- 定义配置选项的优先级:https://github.com/prettier/prettier-vscode#prettiers-settings. In particular, it first searches for prettier config files, than for .editorconfig 个文件,然后才用于 vscode 个设置。
作为解决方法,您可以尝试在项目的更漂亮的配置文件中或在 editorconfig 文件中实际定义此设置,并检查 vscode 插件是否适用于其中任何一个。
在 tslint.json 中,您应该可以将 printWidth
添加到 Prettier 配置部分:
"rules": {
"prettier": [
true,
{
"printWidth": 100
}
],
如 vaglignatev 所述,您需要安装 tslint-config-prettier
。
我找到了最适合我的方法。进入设置搜索 Print Width
并根据您的需要设置 Prettier: Print Width
,默认情况下它是 80 我将其更改为 150 并且它适用于我。并在您的 settings.json
"editor.wordWrap": "wordWrapColumn",
"editor.wordWrapColumn": 150,
"prettier.printWidth": 150
中添加以下内容
我安装了 prettier,只添加下面一行就可以解决问题:
"prettier.printWidth": 120,
一般缠绕长度为 80 和 120,但有些使用 150。
您可以在以下任一设置中添加以上内容:
项目工作区设置:
.vscode\settings.json
用户设置:
%UserProfile%\AppData\Roaming\Code\User\settings.json
以上路径适用于 Windows OS,但类似的路径适用于其他 OS。
找到或添加名为 .prettierrc.js 的文件并添加 printWidth
,如下所示
module.exports = {
bracketSpacing: false,
jsxBracketSameLine: true,
singleQuote: true,
trailingComma: 'all',
arrowParens: 'avoid',
printWidth: 150, // <== add this
};
我在 Visual Studio 代码中使用带有 TSLint 和 Prettier 的 TypeScript 来编写 React Native 应用程序。
我尝试将我的编辑器配置为自动将每行代码换行到 100 个字符。但是保存后总是80个字符,不是100个。
以下是我更改的设置:
"prettier.tslintIntegration": true,
"prettier.printWidth": 100,
"editor.renderIndentGuides": true,
"editor.rulers": [100],
"editor.wordWrapColumn": 100,
"editor.formatOnSave": true
这是我的 tslint.json
:
{
"extends": ["tslint:recommended", "tslint-react", "tslint-config-prettier"],
"rules": {
// "jsx-no-lambda": false,
"member-access": false,
"interface-name": false,
"max-line-length": [true, 100]
}
}
即使我这样配置了所有内容,我的代码仍然会自动换行大约 80 个字符。我怎样才能让它停止?
如果我的行超过 100 个字符,我会收到 linting 错误,因此 tslint.json
设置似乎有效。
奖励:完成 VSCode 设置以防我遗漏了什么:
{
"telemetry.enableTelemetry": false,
"workbench.colorTheme": "One Dark Pro",
"workbench.iconTheme": "vscode-icons",
"window.zoomLevel": 0,
"prettier.eslintIntegration": true,
"prettier.tslintIntegration": true,
"prettier.printWidth": 100,
"editor.renderIndentGuides": true,
"editor.rulers": [100],
"[javascript]": {
"editor.tabSize": 2
},
"[typescript]": {
"editor.tabSize": 2
},
"[typescriptreact]": {
"editor.tabSize": 2
},
"[json]": {
"editor.tabSize": 2
},
"workbench.colorCustomizations": {
// "statusBar.background": "#272b33",
// "panel.background": "#30353f",
// "sideBar.background": "#2a2b33",
"editor.background": "#2c313a"
},
"todohighlight.keywords": [
{
"text": "DEBUG:",
"color": "#fff",
"backgroundColor": "limegreen",
"overviewRulerColor": "grey"
},
{
"text": "NOTE:",
"color": "#fff",
"backgroundColor": "mediumslateblue",
"overviewRulerColor": "grey"
},
{
"text": "REVIEW:",
"color": "#fff",
"backgroundColor": "dodgerblue",
"overviewRulerColor": "grey"
},
{
"text": "XXX:",
"color": "#fff",
"backgroundColor": "orangered",
"overviewRulerColor": "grey"
}
],
"editor.wordWrapColumn": 100,
"editor.formatOnSave": true
}
这两个就够了:
"editor.wordWrap": "wordWrapColumn",
"editor.wordWrapColumn": 100
您的设置中似乎缺少 "editor.wordWrap"
。在 vscode 中,此设置控制环绕策略:"wordWrapColumn" 表示在 "editor.wordWrapColumn"
设置处环绕。
您也可以尝试 "editor.wordWrap": "bounded"
,它会尊重 "wordWrapColumn",但如果您的视口少于您定义的列数,也会换行。
UPD:根据我们在评论中的讨论,prettier 似乎不遵守其 "printWidth"
设置。可能有两个最可能的原因:
- 本期:https://github.com/prettier/prettier-vscode/issues/595
- 定义配置选项的优先级:https://github.com/prettier/prettier-vscode#prettiers-settings. In particular, it first searches for prettier config files, than for .editorconfig 个文件,然后才用于 vscode 个设置。
作为解决方法,您可以尝试在项目的更漂亮的配置文件中或在 editorconfig 文件中实际定义此设置,并检查 vscode 插件是否适用于其中任何一个。
在 tslint.json 中,您应该可以将 printWidth
添加到 Prettier 配置部分:
"rules": {
"prettier": [
true,
{
"printWidth": 100
}
],
如 vaglignatev 所述,您需要安装 tslint-config-prettier
。
我找到了最适合我的方法。进入设置搜索 Print Width
并根据您的需要设置 Prettier: Print Width
,默认情况下它是 80 我将其更改为 150 并且它适用于我。并在您的 settings.json
"editor.wordWrap": "wordWrapColumn",
"editor.wordWrapColumn": 150,
"prettier.printWidth": 150
我安装了 prettier,只添加下面一行就可以解决问题:
"prettier.printWidth": 120,
一般缠绕长度为 80 和 120,但有些使用 150。
您可以在以下任一设置中添加以上内容:
项目工作区设置:
.vscode\settings.json
用户设置:
%UserProfile%\AppData\Roaming\Code\User\settings.json
以上路径适用于 Windows OS,但类似的路径适用于其他 OS。
找到或添加名为 .prettierrc.js 的文件并添加 printWidth
,如下所示
module.exports = {
bracketSpacing: false,
jsxBracketSameLine: true,
singleQuote: true,
trailingComma: 'all',
arrowParens: 'avoid',
printWidth: 150, // <== add this
};