using System; namespace JetBrains.ReSharper.Koans.Navigation { // 移動メニュー (Navigate to) を使ってみます。 - Menu on Method // // 現在の場所から移動する便利な方法です。 // 基本的な仕組みは 基本編 4.1-Navigate_To_menu.cs を参照してください。 // // Navigate to の操作方法 // Alt+` (ReSharper VisualStudio Keymap) // Ctrl+Shift+G (Rider Default IntelliJ Keymap) // // 対象の上にキャレットを置き、実行してみましょう。 // // 1. メソッド上にキャレットがある場合 public class NavigateToMenuOnMethod { // a) Member Overloads を選択してみましょう // 対象メソッドがハイライト表示されます。 // Escape を押すとハイライトはクリアされます。 // // (参考) 候補間の移動方法 // // NOTE: Rider のショートカットはデフォルトで未定義(設定なし)であり、独自に設定しなければ動作しない // [Settings] > [Keymap] > [Main Manu] > [Edit] > [Find Usages] // - Next Highlited Usage // - Previous Highlited Usage // // Ctrl+Alt+PageUp/Ctrl+Alt+PageDown (ReSharper VisualStudio Keymap) // F3 / Shift+F3 (Rider Default IntelliJ Keymap) // // (ReSharper) https://www.jetbrains.com/help/resharper/Navigation_and_Search__Navigate_from_Here__Overriding_Members.html // (Rider) https://www.jetbrains.com/help/rider/Navigation_and_Search__Navigate_from_Here__Overriding_Members.html // public bool OverloadedMethod() // <- OverloadedMethod を選択してキャレットを置き、試してみてください { return true; } // b) Function exit(s) を選択してみましょう。 // 関数からの出口がハイライト表示されます。 // Escape を押すとハイライトはクリアされます。 // // (参考) 候補間の移動方法 // // NOTE: Rider のショートカットはデフォルトで未定義(設定なし)であり、独自に設定しなければ動作しない // [Settings] > [Keymap] > [Main Manu] > [Edit] > [Find Usages] // - Next Highlited Usage // - Previous Highlited Usage // // Ctrl+Alt+PageUp/Ctrl+Alt+PageDown (ReSharper VisualStudio Keymap) // F3 / Shift+F3 (Rider Default IntelliJ Keymap) // // (ReSharper) https://www.jetbrains.com/help/resharper/Navigation_and_Search__Navigate_from_Here__Overriding_Members.html // (Rider) https://www.jetbrains.com/help/rider/Navigation_and_Search__Navigate_from_Here__Overriding_Members.html // public bool OverloadedMethod(string arg1) // <- OverloadedMethod を選択してキャレットを置き、試してみてください { if (string.IsNullOrEmpty(arg1)) return false; Console.WriteLine("do!"); if (arg1 == "throw") throw new InvalidOperationException(); return true; } public bool OverloadedMethod(string arg1, string arg2) { return false; } } }