.net 使用Remove unusing usings on vscode在保存时格式化文档

4zcjmb1e  于 2023-05-08  发布在  .NET
关注(0)|答案(3)|浏览(124)

我想在Visual Studio Code上设置为保存C#代码时触发“格式化文档”和“删除未使用的用法”。或者添加一个键盘快捷键来删除未使用的用法。
我已经添加到下面的用户设置。

"editor.formatOnSave": true

这将在保存时触发格式化文档。但我也想删除未使用的用法。VS代码警告我,如果有未使用的用法,我可以Ctrl +。弹出关于删除未使用的用法。
1.我可以设置火灾删除未使用的保存?
1.我可以添加一个键盘快捷键来删除未使用的用法吗?
我还添加了快捷键格式的文件。

{ "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": "???" },
9rbhqvlz

9rbhqvlz1#

必须通过omnishark进行配置以删除未使用的用法。

  • 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
    }
}
dbf7pr2w

dbf7pr2w2#

我担心,今天写的,没有插件的VSCode Marketplace-也没有一个内置的设置/功能,提供你想要的关于“未使用的使用”行为,如在全面成熟的Visual Studio。
我的建议是在微软的官方插件“OmniSharp”(默认的C#插件,也支持其他编辑器的C#功能)上请求此功能:https://github.com/OmniSharp/omnisharp-vscode/issues

或者转到VSCode GitHub问题页面并在那里询问:https://github.com/microsoft/vscode/issues
或者最后一种方法是深入编写自己的插件/扩展:https://code.visualstudio.com/docs/extensions/overview

qvsjd97n

qvsjd97n3#

在VSCode中,它通过使线条稍微变暗来显示未使用的用法。如果点击线,然后点击灯泡或按ctrl + .,您可以选择选项删除Remove Unnecessary Usings

如果你也想对使用进行排序,请将以下内容添加到VSCode设置中:

"omnisharp.organizeImportsOnFormat": true

然后在cs文件中,你可以右键单击并选择Format Document,然后使用将被排序。

相关问题