2010-02-04 90 views
13

只是一个有趣的问题:有谁知道为什么在VB .NET中没有块注释功能? (除非真的是 - 但我从来没有遇到过。)在VB .NET中缺少块注释?

+12

为了进一步阻止人们使用Visual Basic? :-p – 2010-02-04 00:43:34

+1

看一看:http://connect.microsoft。com/VisualStudio/feedback/details/436415/allow-multi-line-comment-on-vb-like -in -c-and-sql-also-allow-prior-breakline-comments-comments-after- – 2010-02-04 00:50:31

+1

我选择了多行并点击IDE中的注释/取消注释按钮,所以对我无关紧要:) – 2010-02-04 01:10:15

回答

17

这是Visual Basic语法的副作用,新行终止的声明。这使得多行注释与编译器解析语言的基本方式非常不兼容。在大括号语言中不是问题,新线只是空白。

它从来没有成为一个真正的问题,Visual Basic已经有很强的IDE支持非常长的时间。注释多行是IDE功能,编辑+高级+注释选择。

+2

+1 IDE为我处理所有这些东西,让我专注于编写绝对不需要注释掉的好代码 – 2010-02-04 01:11:22

+3

使用CTRL + K + C和CTRL + K + U你不用不需要块评论:) – sventevit 2010-02-06 11:17:20

+0

另外 - 在C#中,当你编写/ *时,编辑器会自动将所有代码转换为注释,所以你会略过大纲。这就是为什么我在C#中也不使用块注释的原因。 – sventevit 2010-02-06 11:22:02

2

如可以在“Comments in Code“阅读没有任何其他方式:

如果您的评论需要多个行,如下例所示,在每一行上使用注释符号。

' This comment is too long to fit on a single line, so we break 
' it into two lines. Some comments might need three or more lines. 

同样,在REM statement状态的帮助:

注:
不能使用续行序列(_)继续进行REM声明。一旦评论开始,编译器不会检查字符的特殊含义。对于多行注释,请在每行上使用另一个REM声明或注释符号(')。

0

根据要忽略的行数,可以使用编译器指令代替。它可能在技术上不等同于评论(例如,您没有获得评论的语法颜色),但它可以完成工作,而不需要单独评论许多行。所以你只需添加3行代码。

#Const COMMENT = "C" 
'basically a false statement 
#If COMMENT = "Y" Then 
    'code to be commented goes between #If and #End If 
    MsgBox('Commenting failed!') 
#End If 

这是假设的目的是为了忽略的代码块,而不是将文档(什么是“意见”实际上是用于,但我也不会介意使用编译器指令为)。

然而,需要付出的努力,使得这种方法不方便的时候,只有大约10条评论线。

参考:http://msdn.microsoft.com/en-us/library/tx6yas69.aspx

8

完全滥权编译器指令在这里...但:

#If False Then 
Comments 
go 
here 
#End If 

你没有得到正确的代码着色的利益(使用时不会显示在绿色默认颜色方案),并且隐式续行系统会自动缩进从第二行开始的段落中的行。但编译器会忽略文本。

+0

完美!需要在Notepad ++中临时注释掉SSRS部署脚本中的一些代码行,并且这很有效。 – 2012-09-18 15:28:38