我想设置为在Visual Studio Code上保存C#代码时触发“格式文档”和“删除未使用的使用”。或添加键盘快捷键以删除未使用的使用。
我已添加到以下用户设置。
"editor.formatOnSave": true
这会在保存时触发格式文档。但我也希望删除未使用的使用。 如果有未使用的用法,VS代码会警告我,我可以按Ctrl +。弹出关于删除未使用的使用。
我还为格式文档添加了键盘快捷键。
{ "key": "ctrl+k ctrl+f", "command": "editor.action.formatSelection",
"when": "editorHasDocumentSelectionFormattingProvider && editorHasSelection && editorTextFocus && !editorReadonly" },
我想添加Ctrl + R Ctrl + G以删除未使用的使用。 (通过Visual Studio默认设置)。但我不知道如何配置键盘快捷键设置...
{ "key": "ctrl+r ctrl+g", "command": "editor.action.???",
"when": "???" },
答案 0 :(得分:3)
删除未使用的使用的配置必须通过omnisharp完成。
Omnisharp设置可以在两个位置使用:
对于全局设置:
对于全局设置,请使用
%USERPROFILE%/.omnisharp/omnisharp.json
文件
针对项目的特定设置:
在工作区的根目录使用
omnisharp.json
设置如下:
{
"FormattingOptions": {
"OrganizeImports": true
}
}
2020年5月5日可用的其他默认设置:
{
"FormattingOptions": {
"OrganizeImports": false,
"EnableEditorConfigSupport": false,
"NewLine": "\n",
"UseTabs": false,
"TabSize": 4,
"IndentationSize": 4,
"SpacingAfterMethodDeclarationName": false,
"SpaceWithinMethodDeclarationParenthesis": false,
"SpaceBetweenEmptyMethodDeclarationParentheses": false,
"SpaceAfterMethodCallName": false,
"SpaceWithinMethodCallParentheses": false,
"SpaceBetweenEmptyMethodCallParentheses": false,
"SpaceAfterControlFlowStatementKeyword": true,
"SpaceWithinExpressionParentheses": false,
"SpaceWithinCastParentheses": false,
"SpaceWithinOtherParentheses": false,
"SpaceAfterCast": false,
"SpacesIgnoreAroundVariableDeclaration": false,
"SpaceBeforeOpenSquareBracket": false,
"SpaceBetweenEmptySquareBrackets": false,
"SpaceWithinSquareBrackets": false,
"SpaceAfterColonInBaseTypeDeclaration": true,
"SpaceAfterComma": true,
"SpaceAfterDot": false,
"SpaceAfterSemicolonsInForStatement": true,
"SpaceBeforeColonInBaseTypeDeclaration": true,
"SpaceBeforeComma": false,
"SpaceBeforeDot": false,
"SpaceBeforeSemicolonsInForStatement": false,
"SpacingAroundBinaryOperator": "single",
"IndentBraces": false,
"IndentBlock": true,
"IndentSwitchSection": true,
"IndentSwitchCaseSection": true,
"IndentSwitchCaseSectionWhenBlock": true,
"LabelPositioning": "oneLess",
"WrappingPreserveSingleLine": true,
"WrappingKeepStatementsOnSingleLine": true,
"NewLinesForBracesInTypes": true,
"NewLinesForBracesInMethods": true,
"NewLinesForBracesInProperties": true,
"NewLinesForBracesInAccessors": true,
"NewLinesForBracesInAnonymousMethods": true,
"NewLinesForBracesInControlBlocks": true,
"NewLinesForBracesInAnonymousTypes": true,
"NewLinesForBracesInObjectCollectionArrayInitializers": true,
"NewLinesForBracesInLambdaExpressionBody": true,
"NewLineForElse": true,
"NewLineForCatch": true,
"NewLineForFinally": true,
"NewLineForMembersInObjectInit": true,
"NewLineForMembersInAnonymousTypes": true,
"NewLineForClausesInQuery": true
}
}
答案 1 :(得分:1)
我担心,今天写的,VSCode Marketplace上没有插件 - 也没有内置的设置/功能提供你想要的关于“未使用的使用”行为,如在完整的Visual Studio中。
我的建议是在名为“OmniSharp”的官方微软插件中询问此功能(默认C#插件也支持其他编辑器的C#功能):https://github.com/OmniSharp/omnisharp-vscode/issues。
附注:有一个关于“未使用的使用”的问题,要禁用它生成的警告:https://github.com/OmniSharp/omnisharp-vscode/issues/315
或者转到VSCode GitHub问题页面并在那里要求:https://github.com/microsoft/vscode/issues。
或者最后一条路线是潜入并编写自己的插件/扩展程序:https://code.visualstudio.com/docs/extensions/overview。