在VS代码中编辑函数时,有没有办法在括号前删除空格?
假设我有一个功能
function render () {
// some code here
}
当我开始编辑它时,VS Code删除括号前的空格并将此代码转换为:
function render() {
// some code here
}
有没有办法禁用此行为?
答案 0 :(得分:24)
"javascript.format.insertSpaceBeforeFunctionParenthesis": true
function render () {
// some code here
}
"javascript.format.insertSpaceBeforeFunctionParenthesis": false
function render() {
// some code here
}
"editor.formatOnType": true
答案 1 :(得分:17)
我对匿名函数有相反的问题。我们使用更漂亮的扩展。自动更正在括号前插入空格。然后更漂亮的抱怨它。
var anonfunc = function() {
// Expected syntax.
}
var autocorrected = function () {
// Auto-correct inserts a space
}
有类似的代码选项,它解决了我的问题:
"javascript.format.insertSpaceAfterFunctionKeywordForAnonymousFunctions": false
默认情况下为true
。花了我一些时间,直到我累了纠正自动纠正。
答案 2 :(得分:6)
我也遇到了类似的问题,VSCode在构造函数之后删除了空格,并且ESLint抱怨因为没有空格。
constructor
JavaScript › Format: Insert Space After Constructor
旁边添加支票答案 3 :(得分:5)
我是VSCode团队的成员。从VSCode 1.8开始,此格式化选项不支持开箱即用,但我们正在跟踪该功能:https://github.com/Microsoft/vscode/issues/15386,https://github.com/Microsoft/TypeScript/issues/12234
作为解决方法,请尝试以下操作:
ext install eslint
"eslint.autoFixOnSave": true
添加到您的工作区或用户设置在项目的根目录中,使用以下内容创建.eslintrc.json
{
...
"rules": {
...
"space-before-function-paren": "error"
}
}
eslint扩展程序可以使用.eslintrc.json
命令为您创建启动器create .eslintrc.json
。
当您保存文件时,这将自动格式化函数以使其后面有空格。
答案 4 :(得分:2)
我发现我启用了"editor.formatOnType": true
设置。这是使编辑器在您键入时自动格式化代码的原因。禁用它有助于解决问题。
答案 5 :(得分:0)
在我的情况下,我想要VS Code的正常缩进/格式化行为,所以我禁用了eslint警告:
在.eslintrc.js文件中,我输入规则:
'rules': {
....
//disable rule of space before function parentheses
"space-before-function-paren": 0
}
答案 6 :(得分:0)
就我而言,即使我已经执行了一个.eslintrc.js文件,我也必须在Vue.js项目上显式启用ESLint:
extends: ['plugin:vue/exxential', '@vue/standard']
为此,我按了CTRL + Shift + P并搜索了“ ESLint:启用ESLint”
答案 7 :(得分:0)
转到“偏好设置”,然后在顶部的搜索栏中搜索insertSpaceBeforeFunctionParenthesis
。
现在,选中显示以下内容的复选框:JavaScript: Format: Insert Space Before Function Parenthesis
答案 8 :(得分:0)
此外,您还可以在Mac的Command + ,
或键盘上的CTRL + ,
上敲击Yan的答案,然后在settings.json
"javascript.format.insertSpaceBeforeFunctionParenthesis": false,
"javascript.format.insertSpaceAfterFunctionKeywordForAnonymousFunctions": false
第二个条目也禁用了匿名函数的空间,格式为例如
var anon = function() {
// do something..
}