在非核心 Asp.Net MVC 中使用 Visual Studio Code

Cli*_* Ok 2 asp.net-mvc visual-studio-code

如何在 Visual Studio Code 上处理非核心 Asp.Net MVC 项目?

我厌倦了 Visual Studio 社区的缓慢,所以我在考虑是否可以为此设置一个 VS Code 环境。

小智 5

以下是我如何为我的项目做到这一点:

  • 安装 Visual Studio Code(显然)
  • 安装 C# 插件(我希望你使用的是 C#)——这里的主要好处是智能感知、语法高亮、一些重构选项
  • 确保您的环境路径中有用于构建解决方案的 msbuild

现在基本流程如下所示:

  1. 打开 Visual Studio 代码
  2. 选择 File -> Open Folder... 菜单选项并打开包含您的 asp.net mvc 解决方案的文件夹
  3. CTRL+SHIFT+P 运行 VS 代码命令并找到“OmniSharp: Select Project”
  4. 选择您的解决方案
  5. 等待 OmniSharp 加载(您可以通过调出输出视图 CTRL+j 来检查其输出,选择输出,'OmniSharp Logs')

此时,您应该可以使用 CTRL+T 转到任何类型并键入类型名称。使用 CTRL+P 查找文件并对其进行编辑。并按 CTRL+SHIFT+B 构建。如果您没有为构建配置 vscode 任务,我相信 VS Code 会为您构建一个脚手架文件,您需要填写该文件,然后可以调用 msbuild 来构建您的解决方案。检查我的(将其放在 .vscode 目录中,在名为 tasks.json 的文件中):

    {
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "0.1.0",
    "command": "msbuild",
    "args": [
        // Ask msbuild to generate full paths for file names.
        "/property:GenerateFullPaths=true",
        // "/p:Configuration=Release",
        "YOUR SOLUTION FILENAME.sln"
    ],
    "taskSelector": "/t:",
    "showOutput": "silent",
    "tasks": [
        {
            "taskName": "build",
            // Show the output window only if unrecognized errors occur.
            "showOutput": "silent",
            // Use the standard MS compiler pattern to detect errors, warnings and infos
            "problemMatcher": "$msCompile"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

需要一些时间来适应,但一旦你在那里,它就很棒。不再有 VS.NET 内存占用和整体缓慢。

我喜欢编辑器启动和关闭的速度。只需习惯打开文件夹的流程,CTRL+T 或 CTRL+P 即可在类/代码文件之间导航。并且对 OmniSharp(C# 插件)保持耐心,因为它有时会变得无响应并且语法突出显示变得不可用。那时,我只是重新启动 OmniSharp(通过 CTRL+SHFT+P,找到 OmniSharp,重新启动选项)。

我最想念的事情:调试。据我所知,带有 C# 插件的 VS Code 仅支持 .NET Core 调试。我解决这个问题的方法通常是进行单元测试,然后通过单元测试隔离我想要调试的代码,然后迭代测试直到问题解决。在我绝对需要调试器的极少数情况下,我只需启动好 ol' Visual Studio 野兽,进行调试并退出。

希望这可以帮助!