php
1/** 2debug($hoge); 3debug($moge); 4/**/
上記のような形でコメントを記述した際にシンタックスハイライトにおいて閉じタグ以降もコメント内と判断されてしまいます。
これを一時的にでもいいので何とかしたいです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
ベストアンサー
パッケージのソースコードから確認しました。
Atomのlanguage-php(PHPの色づけしているパッケージ)では
・/**
から始まるとPHPDoc用の特別なコメント
・/*
だけで始まると普通のコメント
と区別して色づけしています。普通のコメントは単純に*/
があれば終了と判断するようになっているのですが、PHPDocの場合は、その間がPHPDocとして正しい書き方であることを前提としています。具体的に言うと空白を除く一番最初の文字が*
でない行はPHPDcoの文法エラー扱い※にされ、色づけの処理が行単位で無視されます。そのため、*/
が含まれている行でも最初の文字が*
以外であれば、そこでPHPDocが終了していると言うことが判断されず、そのままPHPDocとして色づけされることになります。
※ PHPDocでは、必ずアスタリスクから始めなければならないとなっています。
phpDocumentor Document Glossary
DocComments may be a single line in size but may also span multiple lines, in which case each line must start with an asterisk
私訳
DocCommentsは1行だけでなく、複数行にもできますが、それぞれの行は必ずアスタリスクから始めなければなりません。
なお、PHPDocの正式版となるPSR-5はまだドラフトですが、phpDocumentorがメンテナンスしており、同じ事が書いています。
解決方法は3つです。
- PHPDocとして間違っているため、正しいPHPDocに修正するか、PHPDocをやめる。
- 開発プロジェクトであるPHP language support in AtomのIssuesに報告し、修正をお願いする。ただし、そもそもPHPDocとしては間違っているため、拒否される可能性がある。
- 上のソースコードをcloneなりforkなりをして自分専用に修正して、Atomのパッケージとして読み込ませる。具体的には"grammars/php.cson"の1397行目の
'match': '^(?!\\s*\\*).*$\\n?'
について、/**/
のようなパターンでは引っかからないように正規表現を修正すれば良い。その後の保守が面倒であれば、修正内容のプルリクエストを送る(同じく拒否される可能性がある)。
投稿2015/12/02 09:53
編集2015/12/02 09:55総合スコア21735
0
コメントアウトの状態
php
1/* 2debug($hoge); 3debug($moge); 4// */ 5
コメントを外す。
先頭の/*を//*にする
php
1//* 2debug($hoge); 3debug($moge); 4// */
コメントのスイッチはこの形の方が今後のことを考えてもいいかなぁ…と思います。
スラッシュ1つで切り替わるのは同じです。
/**
の形は maisumakunさんもおっしゃられるように、PHPDocを解釈するエディタなどはすべて同じようになる気がしますし。(ちなみに手元のSublimeTextでも同じようにすべてコメントとして解釈してました)
一括置き換えとかで置き換えてしまうのは問題があるでしょうか??
投稿2015/12/02 08:20
編集2015/12/02 08:22総合スコア441
0
推測ですけど、コメントの開き部分が/**
となっているのが原因ではないでしょうか。
/**
で始まるコメントはPHPDocといって、メソッドの動作などを関連付けるためなどの意味を持つことがあるコメントです。
単なるコメントアウトでしたら、開き部分を/*
だけにすることで改善しないでしょうか。
投稿2015/12/02 07:49
総合スコア145184
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/12/02 10:05