web-dev-qa-db-ja.com

コメントを含むコードのブロックをコメントアウトすることは可能ですか?

このようなコードがあるとしましょう

some_line_of_code
some_line_of_code
/* some comment about code */
some_line_of_code
some_line_of_code

そして私はこのようなブロック全体をコメントアウトしたいと思います

/*
    some_line_of_code
    some_line_of_code
    /* some comment about code */
    some_line_of_code
    some_line_of_code
*/

ご覧のとおり、SOコードパーサーはコードコメントの最後の2行を考慮しません。コメントを含むコードのブロックをコメントアウトすることは可能ですか?

編集:明確にするために、変更した関数がすべての変更が完了するまでコンパイルできないパッケージでコンパイルできるかどうかを確認するために、コードの大きなセクションをコメントアウトできるようにする必要があります。

10

SQL Developerで、コメントして使用したいPL/SQLのすべての行を強調表示します Ctrl/

明らかに、複数の行にすばやくコメントを付けたりコメントを外したりする方法が必要です。これにより、強調表示した各行の前に--が配置されます。コメントを解除するには、同じコマンドを実行します。

13
Tony L.

@Acroneosが述べたように、方法はありません。これは、ほとんどのプログラミング言語の一般的な動作です。コメントとその他のトークンは、レクサーによって認識されます。また、レクサーは文脈自由文法で動作します。つまり、lexesは通常、必要な式のみを認識できます。

引き続きC/C++アプローチを使用できます(#if 0/#endif)。 条件付きコンパイル を参照してください。しかし、それは「とても素敵」に見えません。

begin
 something1;
 $if false $then
  something2;
 $endif;
endl;
3
ibre5041

-を使用できます

したがって、このコード:

some_line_of_code some_line_of_code -- some comment about code some_line_of_code some_line_of_code

になります:

--some_line_of_code --some_line_of_code ---- some comment about code --some_line_of_code --some_line_of_code

1
Xakiru

[ツール]> [設定]> [キー構成](編集/選択/コメント行)からファンクションキーを割り当てることができます。

1
Galileo

いいえ、最初の区切り文字から次の最後の区切り文字までのすべてがコメントとして認識されるためです(=コンパイラーによって処理されません)。マルチラインコメントの仕組みは次のとおりです。最初の区切り文字(/ *)が認識されると、コンパイラは次の最後の区切り文字(* /)が認識されるまで何も無視します。これを知っているので、2番目の/ *がコンパイラによってコメント区切り文字として認識されない理由を理解できるはずです。

ただし、multiline-comment-sector内で特殊文字または連結でコメントをマークして、コメントをさまざまなセクションに並べることができます。

0
Acroneos

行をコメント化するためのショートカット:コマンド+オプション+ /(Macの場合)

0
MagicWorld