[解決済み] Intellij IDEA 13: リファクタリングコメントと文字列を無効にする方法を教えてください。
質問
public class KV<K, V> {
public K key;
public V value;
public KV(K key, V value) {
this.key = key;
this.value = value;
}
}
クラス変数のリファクタリングを行おうとしています。
value
をリファクタリングしようとしているのですが、これはその場で行われます。つまり、ダイアログはポップアップしません。私がエンターキーを押すと、コメントやその他を含め、プロジェクト全体にわたってリファクタリングを試みます。
<%--<link href="<c:url value="../core/core.css" />" />--%>
を .jsp ファイルに追加します。これは、リファクタリングするにはあまりに賢い方法です。 コメント をリファクタリングするのは、あまりにも賢いやり方です。これはしばしば多くのバグリスクを引き起こし、Java 環境でのリファクタリングはもはや安全ではありません。
Intellij 12でも同じようなことが起こっていました。真面目な話、Intellijが安全でないと思われるものを推奨したり、それが同じものであるかどうかわからないときに推奨したりするのは必要ありません
リファクタリングを除外することはできますが、毎回5つの"提案"を評価する時間はないです。ほとんどの場合、私はエンターキーを押すだけで、おっと物事はリファクタリングされています。
リファクタリングは、Java環境において、.jsファイル内のものを時々置き換えようとするときにも大きな問題です。真剣に、これは止めなければなりません。
ポップアップダイアログがないと、"検索文字列" のチェックを外すことができません。たとえそれがチェックされていたとしても、Intellij は 決して 特に現在のファイルの外側にある場合は、デフォルトでサジェストを含めます。同様にリファクタリングを推奨することもできますが、デフォルトで除外されるべきです。つまり、デフォルトですべてを破壊するのではなく、オプトインの機能であるべきです。
これは、最近のいわゆるquot;smart" Intellijリファクタリングにおける深刻なユーザーエクスペリエンスの問題です。JS ファイルをリファクタリングするとき、コメントまたは文字列のために Java ファイルを検索したくありません! その逆も同様です。また、その逆も同様です。
安全が第一です! 自分が何をしているかを知っている開発者は、必要であれば自分で文字列を検索します。動的言語環境では、Intellijを使用することは不可能です。なぜなら、頻繁に、そして明確なパターンなしに、時にはリファクタリングが行われ、時にはプロジェクト全体やその他を変えてしまうことがあるからです。
特に動的言語では、quot;このファイルまたは100%推論されたときのみリファクタリングする!"というオプションがあるはずです。静的な言語では、ファイル外のコメントや文字列を探そうともしないはずです。
公開するつもりはなかったのですが、私はこの問題を 2 年以上前にバグトラッカーで提起しましたが、誰も注意を払いませんでした。
EDIT
やりすぎかもと思われる方のために、今試してみました。
このクラスで。
public class KV<K, V> {
public K key;
public V val;
public KV(K key, V val) {
this.key = key;
this.val = val;
}
}
そして、これを を追加します。 Javaクラスなど。
public class CoreConfig {
String abc = "kv.val";
String def = "somethingElse.val";
}
リファクタリングする場合
KV.val
をリファクタリングすると、以下のような推奨事項が表示されます。これは災害からのENTERであり、一度に1つずつ評価し除外しなければならないものです。労力はかかるし、ただただ迷惑で危険です。まるで、誰かがSTOP!と叫んでいるようなものです。そして、1分後には何もなく、フラストレーションと1000字の長いエッセイ(これ)になってしまうのです。
マジでこんな危険な挙動を無効にする方法あるんですか!?また、これがデフォルトでオンになっている理由はあるのでしょうか?
EDIT 20200706
2020年もクソは続く。 https://youtrack.jetbrains.com/issue/IDEA-245370
どのように解決するのですか?
を押すと
Shift + F6 (Refactor Rename)
を2回押すと、ダイアログが開き、quot;コメントと文字列の検索を無効にすることができます"
関連
-
[解決済み】IntelliJ IDEAプロジェクトに外部jar(lib/*.jar)を追加するための正しい方法
-
[解決済み】IntelliJ インポートの整理
-
[解決済み】IntelliJ IDEAのデフォルトJDKを変更する方法は?
-
[解決済み】IntelliJ Starred (Package) Importsを無効にする?
-
[解決済み】Intellij IDEAのJavaクラスが保存時に自動コンパイルされない。
-
[解決済み] IntelliJ IDEAでクラスのすべての親とサブクラスを表示する方法は?
-
[解決済み] IntelliJ 13 - ツールバーに戻る/進むを追加しますか?
-
[解決済み] Intellij IDEA: ブレークポイントがヒットせず、グレーアウトして表示される。
-
[解決済み] IntelliJ IDEAで複数行のTodoを使用することは可能ですか?
-
[解決済み] Intellij IDEAとideavimの組み合わせ。他のソースからテキストをコピーできない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Intellijコンパイラにヒープスペースを与えるにはどうしたらいいですか?
-
[解決済み] ソースからのスクロール機能を常に有効にするには?
-
[解決済み] javaです。lombokがサポートするコンパイラを使用していないため、lombokは動作せず、無効になっています。
-
[解決済み] IntelliJ 13 - ツールバーに戻る/進むを追加しますか?
-
[解決済み] Error:Cannot determine Java VM executable in selected JDK" の原因は何ですか?
-
[解決済み] IntelliJ IDEAで保存後に自動的にインポートを最適化する方法
-
[解決済み] Intellijでの@authorのオートコンプリート
-
[解決済み] Intellij : 使用法を検索するが、テストファイルを結果から除外する
-
[解決済み] IntelliJ IDEAでデバッガポートを開けない
-
[解決済み] Intellij - この奇妙な選択は何ですか、そしてそれをオフにするには?