Ctrl + R, Ctrl + R คำสั่งไม่ทำงาน


86

ฉันพยายามที่จะใช้Ctrl+ R, Ctrl+ Rคำสั่งภายใน Visual Studio 2008 เปลี่ยนชื่อตัวแปร ฉันได้รับข้อความแสดงข้อผิดพลาดที่ด้านล่างแจ้งว่า

"คีย์ผสม ( Ctrl+ R, Ctrl+ R) ถูกผูกไว้กับคำสั่ง (& เปลี่ยนชื่อ ... ) ซึ่งไม่สามารถใช้ได้ในขณะนี้"

ฉันไม่ได้เรียกใช้มันหรืออะไรก็ตามที่ฉันคิดได้ซึ่งอาจห้ามไม่ให้มีการแก้ไขไฟล์และคำสั่ง F2 อนุญาตให้เปลี่ยนชื่อได้ ใครทราบวิธีแก้ไขปัญหานี้

แก้ไข: ฉันติดตั้ง Resharper แล้ว แต่ก่อนหน้านี้สามารถทำได้ด้วยการตั้งค่าเดียวกันฉันเพิ่งย้ายข้อมูลคอมพิวเตอร์

คำตอบ:


83

ฉันสามารถแก้ไขได้โดยทำสิ่งต่อไปนี้:

  1. ไปที่Resharper →คำสั่งเมนูตัวเลือก
  2. เลือกสภาพแวดล้อมคีย์บอร์ดและเมนู
  3. เลือกตัวเลือก Visual Studio ภายใต้แป้นพิมพ์ลัด
  4. คลิกApply Scheme and Save

สิ่งนี้จะทำให้Ctrl+ R, Ctrl+ Rทำการเปลี่ยนชื่อ (เลือกตัวเลือก ReSharper ในกล่องโต้ตอบที่ปรากฏขึ้น)

อย่างไรก็ตามทำให้F2ไม่สามารถตั้งชื่อล่วงหน้าได้อีกต่อไป ฉันสามารถแก้ไขได้โดยทำสิ่งต่อไปนี้:

  1. ไปที่ReSharper → คำสั่งเมนูตัวเลือก
  2. เลือกสภาพแวดล้อมทั่วไป
  3. เลือก ReSharper 2.x หรือ IntelliJ IDEA ภายใต้Restore ReSharper keyboard shortcuts
  4. คลิกใช้หรือตกลง

นี้จะช่วยให้ทั้งสองF2และCtrl+ R, Ctrl+Rคำสั่งในการทำงานสำหรับการเปลี่ยนชื่อตัวแปร

สิ่งนี้ดูเหมือนจะเฉพาะสำหรับ ReSharper ที่ติดตั้งด้วย Visual Studio ฉันไม่รู้ว่าจะแก้ปัญหานี้อย่างไรหากไม่ได้ติดตั้ง ReSharper

เมนูตัวเลือก ReSharper


2
ดูเหมือนว่าฉันไม่มี ReSharper ดังนั้นฉันจึงยังคงมองหาวิธีแก้ปัญหานี้
Chucky

2
@Chucky คุณสามารถแมปแป้นพิมพ์ลัดใน Visual Studio ได้โดยไปที่ Tools -> Options -> Environment -> Keyboard ค้นหา Refactor เปลี่ยนชื่อภายใต้ช่อง "แสดงคำสั่งที่มี:" และตั้งค่าเป็น CTLR + R, CTRL + R ภายใต้ "กดปุ่มลัด:"
Boyan

2
ฉันพบมันใน 1. resharper-> ตัวเลือก 2. คีย์บอร์ดและเมนู 3. เลือก Visual studio แล้วกด "ใช้โครงร่าง", 4. คลิกบันทึก
Anders Lindén

ในการเพิ่มบางครั้งคุณต้องรีสตาร์ท Visual Studio เพื่อให้มีผล แน่นอนฉันทำใน VS2013
garryp

1
หากไม่ได้ผลให้ลองยกเลิกการเลือก "ซ่อนรายการเมนู Visual Studio ที่ถูกลบล้าง" มันได้ผลสำหรับฉัน
Umut Ozel

18

สำหรับ Resharper 6

คุณควร:

  • เลือกเมนู "Resharper" - "ตัวเลือก ... "
  • เลือก "Visual Studio Integration"
  • เลือก "Visual Studio" ทั้งสองที่
  • คลิก "สมัครโครงการ"

มันจะใช้งานได้หรือคุณจะมีตัวเลือกให้ทำ (Visual Studio หรือ Resharper) ถ้าเป็นเช่นนั้นให้เลือก Resharper


ขอบคุณ! มันช่วยได้ การรีเซ็ตเป็น Visual Studio ช่วยให้คุณสามารถเลือก Resharper จากนั้น (เมื่อเกิดข้อขัดแย้งทางลัด)
Anatoly Mironov

2
ฉันไม่เคยคิดว่าการตั้งค่าให้ Visual Studio จะอนุญาตให้ฉันใช้คำสั่ง resharper .. แปลกดีนะที่ได้ผล ...
JakeJ

4

resharper มีการผูกทางลัดเริ่มต้นหลายรายการที่ถูกเลือกในครั้งแรกที่คุณเริ่มสตูดิโอภาพหลังจากติดตั้ง ฉันเดาว่าครั้งนี้คุณเลือกคนอื่น


สิ่งนี้มีประโยชน์ในการแก้ไขปัญหา
mwright

@mwright - อย่าลืมทำเครื่องหมายวิธีแก้ปัญหาหากช่วยคุณแก้ปัญหาได้
CrimsonX

@CrimsonX - แม้ว่าจะเป็นประโยชน์ แต่ก็ไม่ได้เป็นวิธีแก้ปัญหา แต่ฉันเดาว่าโปรโตคอลนั้นคืออะไร? คุณทำเครื่องหมายว่าเป็นโซลูชันแล้วอัปเดตโพสต์ของคุณเพื่อรวมขั้นตอนสำหรับโซลูชันหรือสร้างคำตอบของคุณเอง?
mwright

@mwright. เป็นคำถามที่ดี หากฉันตกอยู่ในสถานการณ์ของคุณและพบคำตอบโดยละเอียดด้วยความช่วยเหลือจากตัวฉันเองฉันจะตอบคำถามของตัวเองทำเครื่องหมายว่าเป็นคำตอบและขอบคุณ (และโหวต) คนที่ช่วยคุณหาทางแก้ปัญหา เป็นการเรียกร้องการตัดสิน ...
CrimsonX

4

ในกรณีของฉันปัญหาได้รับการแก้ไขโดยการล้างแคช ReSharper สามารถทำได้ในเมนูตัวเลือกด้านล่างEnvironment > Generalนี้:

ภาพหน้าจอของเมนูตัวเลือก


1
นั่นคือจุดที่ดี!
yu yang Jian

ฉันได้ลองทำสิ่งต่างๆมากมายข้างต้น แต่ก่อนที่จะล้างแคช ReSharper ฉันปิดไฟล์และ Visual Studio แล้วเปิดใหม่ ดูเหมือนจะทำงาน น่ารำคาญ! แต่เดี๋ยวก่อนแก้ปัญหาแล้ว :)
Joel Balmer

2

เรื่องนี้เกิดขึ้นกับฉันครั้งหนึ่ง ฉันต้องติดตั้ง Resharper ใหม่ (อาจซ่อมแซมจากโปรแกรม Add / Remove) เพื่อให้ใช้งานได้ แต่นั่นคือกับ VS2005 แม้ว่า


2

การใช้ ReSharper เวอร์ชัน 8 ใน Visual Studio 2013 ฉันต้องทำ

  1. ไปที่เมนู RESHARPER -> ตัวเลือก
  2. ขยาย สภาพแวดล้อม
  3. เลือก คีย์บอร์ดและเมนู
  4. เลือกVisual Studioเป็นไฟล์รูปแบบแป้นพิมพ์ ReSharper
  5. คลิกใช้ Scheme ... บันทึกและปิดกล่องโต้ตอบ

ในครั้งต่อไปที่ฉันเรียกใช้แป้นพิมพ์ลัดระบบจะแจ้งให้ฉันเลือกแป้นพิมพ์ลัดที่ต้องการใช้

ป้อนคำอธิบายภาพที่นี่


0

คุณจะได้รับพฤติกรรมนี้ใน Visual Studio (โดยไม่ต้องติดตั้ง R #) หากหน้าต่างตัวแก้ไขไม่มีโฟกัสเมื่อคุณออกทางลัด ฉันเพิ่งลองติดตั้ง R # และมันก็ทำแบบเดียวกัน

ให้โฟกัสตัวแก้ไข (เช่นโดยการคลิก) แล้วลองอีกครั้ง


0

โดยปกติจะเป็นทางลัดที่ Resharper ใช้ มีโอกาสที่ Resharper ไม่ทำงานหรือไม่?

หรือคุณสามารถเปลี่ยนชื่อตีCtrl+ .แล้วใช้เปลี่ยนชื่อ



0

สำหรับฉันปัญหานี้เกิดจากการที่ฉันไม่คลิก "ยอมรับ" ในหน้าข้อกำหนดในการให้บริการ แต่ปิดไปฉันไม่ทราบว่าเป็นข้อกำหนดในการให้บริการและคิดว่าเป็นเพียงการแจ้งให้ทราบหรือมีการ 'readme' แสดง


0

คำตอบทั้งหมดข้างต้นนั้นดีและดี แต่ข้อผิดพลาดนี้ก็เกิดขึ้นอีกเช่นกัน


คุณเริ่มการดีบักสคริปต์ทดสอบของคุณที่เขียนขึ้นสำหรับโครงการโปรเจ็กต์จะหยุดที่เบรกพอยต์

หาก ณ จุดนี้คุณลองดำเนินการใด ๆ กับโค้ดคุณจะได้รับข้อผิดพลาดคล้ายกับ: "คีย์ผสม ( Ctrl+ R, Ctrl+ R) ถูกผูกไว้กับคำสั่ง (& เปลี่ยนชื่อ ... ) ซึ่งไม่สามารถใช้งานได้ในปัจจุบัน"




0

ข้างต้นไม่ได้ผลสำหรับฉัน ฉันต้องรีเซ็ตการตั้งค่า resharper ของฉันในที่สุด

  1. ไปที่ Resharper -> Manage Options
  2. คลิกปุ่ม "รีเซ็ตการตั้งค่าทั้งหมด"

0

ฉันเดาว่ามีคนไม่กี่คนที่จะอยู่ในสถานการณ์ของฉัน แต่ FWIW ฉันก็อยู่ในสถานการณ์เช่นนี้เช่นกันซึ่ง Refactor การเปลี่ยนชื่อ (Ctrl + R, Ctrl + R) ไม่ทำงานใน Visual Studio 2019 / Win 10 หลังจากรีบูต / รีสตาร์ทพร้อมกับ I ไม่ได้ติดตั้ง Resharper ในกรณีของฉัน Refactor การเปลี่ยนชื่อไม่ทำงานเนื่องจากโครงการของฉันอยู่ในโหมด FOLDER ไม่ใช่โหมด SOLUTION (OMFG) ทันทีที่ฉันใช้เครื่องมือแก้ปัญหาเพื่อ "สลับมุมมอง" และเข้าสู่โหมดโซลูชัน Refactor การเปลี่ยนชื่อเริ่มทำงานอีกครั้ง ในการมองย้อนกลับไปสิ่งนี้สมเหตุสมผล แต่ข้อความแสดงข้อผิดพลาด / คำเตือนบางอย่างจะดีมากที่ช่วยให้ฉันตระหนักว่าปัญหาคืออะไร!


0

สำหรับฉันปัญหาคือฉันไม่ได้เริ่มการประเมิน Resharper ซึ่งไม่ชัดเจนเนื่องจากสามารถเข้าถึงตัวเลือกส่วนขยาย Resharper ทั้งหมดได้ แต่เบาะแสอยู่ภายใต้:

Extensions -> Resharper -> ทำไม Resharper จึงถูกปิดใช้งาน

คลิก "เริ่มการประเมินผล" (ในตำแหน่งเดียวกับ "หยุดการประเมินชั่วคราว" ในหน้าจอ)

ป้อนคำอธิบายภาพที่นี่

ฉันคาดว่าการประเมินจะเริ่มขึ้นเมื่อฉันคลิก "ตกลง" แต่เห็นได้ชัดว่าไม่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.