我可以在评论中将链接添加到Visual Studio中的代码块吗?

Hom*_*mam 11 .net visual-studio

我可以在评论中将链接添加到Visual Studio中的代码块吗?

例如:

// block 1
class class1
{
}

// block 2
class class2
{
    // review [___class1]
}
Run Code Online (Sandbox Code Playgroud)

[___class1]是class1的链接

提前致谢.

Ran*_*pho 9

你可以书签在Visual Studio代码,但那是存储在用户选项文件,通常不签入到源控制.我不知道从代码的其他部分链接到代码部分的方法.

您最好的选择可能是使用文档注释和<see>标记:

/// <see cref="Fully.Qualified.Type.Name"/>
Run Code Online (Sandbox Code Playgroud)

但这将限于完全合格的位置,即类型,方法,字段和属性.特定块(比方说,一个if在方法中声明)是正确的,它只会链接的文档,该法/不管到另一个文档部分,然后只有当你使用产生类似工具的文档沙堡.

你可能会考虑的另一件事,这是一个非常糟糕的黑客,是使用文件超链接,如下所示:

// file://c:/code/file.cs
Run Code Online (Sandbox Code Playgroud)

有一些警告:

  • 您必须使用完整路径名.相对路径将不起作用,因此它将直接绑定到您的代码,如果您将源存储库重新映射到另一个位置将无法工作
  • Visual Studio将停在第一个空格处,因此文件名或文件夹名称中的空格将导致其失败
  • 您无法链接到代码的一部分,只能链接到整个文件.

  • 只是关于文件链接的第二个洞穴的评论(第三个建议),你可以简单地用双引号包装链接,任何数量的空格都可以. (2认同)

chr*_*arx 6

如果您正在寻找 JS/TS 支持,自 2021 年 5 月起,VS Code 添加了对标准 JsDoc 标记的支持:

https://code.visualstudio.com/updates/v1_57#_jsdoc-link-support

现在这样就可以了:

@see MyClassName
// or
{@link MyClassName}
Run Code Online (Sandbox Code Playgroud)

如果无法解析该符号,请导入它并可选择静默 eslint:

// eslint-disable-next-line @typescript-eslint/no-unused-vars
import { MyClassName } from "path/to/MyClassName";

/**
* This is an example JSDoc referring to the other class
* @see MyClassName
*/
export const ExampleClass ...
Run Code Online (Sandbox Code Playgroud)

然后可以单击它并显示上下文弹出窗口。