Các tính năng ẩn của Visual Studio (2005-2010)?


182

Visual Studio là một sản phẩm lớn ồ ạt đến nỗi sau nhiều năm làm việc với nó, đôi khi tôi tình cờ tìm ra một cách mới / tốt hơn để làm những việc hoặc những điều mà tôi thậm chí không biết là có thể.

Ví dụ-

  • Crtl+ R, Ctrl+ Wđể hiển thị khoảng trắng. Cần thiết để chỉnh sửa tập lệnh xây dựng Python.

  • Trong "HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\Text Editor" Tạo chuỗi có tên là Hướng dẫn có giá trị "RGB (255,0,0), 80" để có một dòng màu đỏ ở cột 80 trong trình soạn thảo văn bản.

Những tính năng ẩn nào khác mà bạn đã vấp phải?


Cảm ơn bạn! Cuối cùng, một cột 80 cột trong VS :)
Jonas Gulle

cảm ơn. Thật ra, tôi tình cờ gặp "khoe khoảng trắng" một cách tình cờ, và muốn thoát khỏi nó. cảm ơn rất nhiều!
Asen Zahray

Câu trả lời:


123

Thực hiện lựa chọn với ALT được nhấn - chọn một hình vuông văn bản thay vì toàn bộ dòng.


9
Ctrl-Alt sẽ chọn toàn bộ từ. Alt sẽ thay đổi kích thước của vùng chọn theo một ký tự tại một thời điểm.
firefly

4
Điều này cũng hoạt động trong MS Word và OO Writer. Tôi đã sử dụng nó rất nhiều.
Bard

3
Cái này (được gọi là "block select") cũng hoạt động với bàn phím - giữ alt + shift sau đó sử dụng các phím mũi tên.
arolson101

1
Ngoài ra, nếu bạn chọn một cột ngang trống theo cách này, mọi thứ bạn nhập sẽ được sao chép trên mỗi dòng, hoạt động như một con trỏ khổng lồ :)
Sedat Kapanoglu

1
Tôi thấy điều này được bán như một tính năng cho VS 2010, nhưng tôi chỉ thử nó trong VS 2008 và nó đã hoạt động. Tôi lúng túng. điều này là tuyệt vời hữu ích!
DaveDev

95

Tracepoints!

Đặt một điểm dừng trên một dòng mã. Đưa lên Cửa sổ Breakpoint và nhấp chuột phải vào điểm dừng mới. Chọn 'Khi nhấn ...'. Bằng cách đánh dấu vào hộp kiểm 'In một tin nhắn', Visual Studio sẽ in ra một thông báo tới Đầu ra gỡ lỗi mỗi khi dòng mã được thực thi, thay vì (hoặc cũng như) phá vỡ nó. Bạn cũng có thể làm cho nó thực thi một macro khi nó vượt qua dòng.


1
Tôi biết tôi đến trễ trò chơi, nhưng đó là một tính năng tuyệt vời mà tôi chưa từng biết đến!
Jerry

7
Đối với các điểm bổ sung, bạn có thể thực hiện phân bổ biến cục bộ trong nút nhấn khi nhấn. {localVariable = 1.0f} hoặc tăng giá trị bằng {staticVariable + = 0.1f}
Charles Beattie

91

Bạn có thể kéo mã vào ToolBox. Thử nó!


Holy crap để bạn có thể! (Cảm ơn!)
Ali Parr

Dường như không được sử dụng nhiều trên các đoạn trích
jk.

33
Chúa ơi ... đó là một cấp độ sao chép và dán hoàn toàn mới. Sao chép và dán-dán-dán. Tôi biết rất nhiều lập trình viên mà tôi hy vọng không bao giờ phát hiện ra rằng bạn có thể làm điều này.
Ryan Lundy

Sẽ thật tuyệt nếu bạn có thể yêu cầu nó mã hóa mã khi bạn nhấp vào nút, như một bookmarklet.
trực giác

Ôi không. Chức năng bastardize này đang làm gì!

79

Nhấp vào một mã định danh (tên lớp, biến, v.v.) rồi nhấn F12cho "Chuyển đến Định nghĩa". Tôi luôn ngạc nhiên khi có nhiều người tôi xem mã sử dụng phương pháp nhấp chuột phải chậm hơn -> "Đi đến Định nghĩa".

EDIT: Sau đó, bạn có thể sử dụng Ctrl+ -để quay trở lại vị trí của mình.


8
Và đừng quên Ctrl + Shift + - [trừ phím điều khiển] để nhảy về phía trước!
Kevin Pullin

5
Và Shift F12 cho Tìm tất cả các tài liệu tham khảo
Stewol

2
Bạn cũng có thể sử dụng ALT + mũi tên trái để quay lại vị trí của mình
arolson101

1
Với cài đặt khóa VB, Shift-F2 cũng thực hiện Chuyển đến Định nghĩa.
Ryan Lundy

1
Cũng có thể nhấp chuột phải-G nếu bạn đang đi tuyến đường chuột ở vị trí đầu tiên.
tsilb

57

CTRL + SHIFT + V sẽ quay vòng qua clipboard của bạn, Visual Studio lưu lại lịch sử các bản sao.


điều này có thể được tìm thấy trong edit.cycleclipboardring trong ánh xạ bàn phím (trong trực quan c ++, đây là Ctrl-Shift-Chèn, không phải Ctrl-Shift-V)
Mặc định

52

Sara Ford bao gồm rất nhiều lời khuyên đáng yêu: http://bloss.msdn.com/saraford/archive/tags/Visual+Studio+2008+Tip+of+the+Day/default.aspx

Nhưng một số mục ưa thích của tôi là Đoạn mã, Ctrl+ .để thêm using<Không gian tên> hoặc tạo sơ khai phương thức. Tôi không thể sống mà không có điều đó.

Kiểm tra một danh sách tuyệt vời trong poster của Visual Studio 2008 C # Keybinding: http://www.microsoft.com/doadS/details.aspx?familyid=E5F902A8-5BB5-4CC6-907E-472809749973&displaylang=en


1
Sara Ford là nữ thần của Visual Studio. Tôi không thể khuyên cô ấy đủ.
Chris Charabaruk

Hoàn toàn đồng ý mà tôi tại sao tôi chia sẻ công việc của mình. Tôi thực sự yêu thích bộ truyện hiện tại của cô ấy bao gồm gỡ lỗi
Aaron Powell

Thật buồn khi cô ấy bỏ việc vào đầu ngày, mặc dù đã rất lâu kể từ khi cô ấy làm việc với các bộ phận của VS đến nỗi hoàn toàn dễ hiểu rằng cô ấy cần phải tiếp tục ...
Knobloch

Cảm ơn bạn đã đề cập đến CTRL +. Tôi đã tìm kiếm cái này một cách chính xác.
Sorin Comanescu

Tôi đã luôn sử dụng CTRL + ALT + F10. Không biết CTRL +. làm điều tương tự - cảm ơn. Thoải mái hơn nhiều.
Noam Gal

49
CTRL-K, CTRL-D

Tài liệu định dạng lại!
Đây là theo keybindings VB, không chắc chắn về C #


3
có, hoạt động theo C #, Trình thiết kế web, trình soạn thảo XML, trình soạn thảo CSS, trình soạn thảo XSD, JavaScript (ở một mức độ nào đó). Hầu hết các loại tệp được hỗ trợ
Aaron Powell

8
Ctrk-K, Ctrl-F cho C ++
MSalters

7
Tôi sử dụng Ctrl-E, Ctrl-D
cấu hình

Ctrl + K, Ctrl + F cũng định dạng bất kỳ văn bản nào bạn đã chọn (trong C #, không chắc chắn về người khác).
Zann Anderson

43

Đã bao nhiêu lần bạn gỡ lỗi một mảng trong quickwatch hoặc cửa sổ đồng hồ và chỉ có studio hình ảnh hiển thị cho bạn yếu tố đầu tiên? Thêm ", N" vào cuối định nghĩa để làm cho studio hiển thị cho bạn các mục N tiếp theo. IE "this-> m_myArray" trở thành "this-> m_array, 5".


41

Tìm kiếm tăng dần: Trong khi có một tài liệu nguồn mở lần truy cập (CTRL + I) và nhập từ bạn đang tìm kiếm, bạn có thể nhấn lại (CTRL + I) để xem các từ khớp với đầu vào của bạn.


4
Nó được gọi là "> i <ncremental search".
Constantin

Trái ngược với> ex <cremental search, đó là những gì Firefox thực hiện.
kibibu

Đến từ thế giới Emacs, đây là tính năng đầu tiên tôi tìm kiếm. :)
JesperE

37

Bạn có thể sử dụng các mã sau trong cửa sổ xem.

@err - display last error
@err,hr - display last error as an HRESULT
@exception - display current exception

35
  • Ctrl-K, Ctrl-C để nhận xét một khối văn bản với // khi bắt đầu
  • Ctrl-K, Ctrl-U để bỏ ghi chú một khối văn bản với // khi bắt đầu

Không thể sống mà không có nó! :)


Cũng đúng trong VB.NET, ngoại trừ với 'thay vì //
ChrisA

Cũng đúng trong SQL Server Management Studio, ngoại trừ sử dụng chuỗi thoát nhận xét SQL của '-'
Thomas Bratt

3
Tôi luôn muốn bạn có thể chuyển đổi ý kiến? Tại sao bạn muốn "bình luận kép" một cái gì đó? Chắc chắn nhấn nó một lần nữa nên bỏ bình luận ...
Dan Diplo

16
Đôi khi bạn muốn bình luận toàn bộ chức năng và một số dòng bên trong đã được nhận xét (tức là chúng là những bình luận phù hợp). Trong những trường hợp như vậy, không rõ ràng phải làm gì nếu bạn có một sự thay đổi, vì vậy nói chung là tốt hơn để đưa ra quyết định rõ ràng.
Pavel Minaev

1
Lưu ý rằng nếu bạn bắt đầu ở đầu văn bản thì bắt đầu dòng bạn sẽ nhận được / * * / thay vì //. Đây là bằng cách tính năng được sử dụng nhiều nhất của tôi
Mặc định

25

Ngăn chặn trình gỡ lỗi bước vào các chức năng tầm thường.

Khi bạn bước qua mã trong trình gỡ lỗi, bạn có thể dành nhiều thời gian để vào và ra các chức năng mà bạn không đặc biệt quan tâm, với các tên như GetID () hoặc std :: vector <> (), để chọn một ví dụ C ++. Bạn có thể sử dụng sổ đăng ký để làm cho trình gỡ lỗi bỏ qua những điều này.

Đối với Visual Studio 2005, bạn phải truy cập HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ VisualStudio \ 8.0 \ NativeDE \ StepOver và thêm các giá trị chuỗi chứa các biểu thức chính quy cho từng hàm hoặc tập hợp các hàm bạn muốn loại trừ; ví dụ

std :: vector. * ::. *
TextBox :: GetID

Bạn cũng có thể ghi đè những điều này cho các ngoại lệ riêng lẻ. Chẳng hạn, giả sử bạn đã muốn bước vào hàm hủy của lớp vectơ:

std :: vector. * :: \ ~. * = StepInto

Bạn có thể tìm thấy chi tiết cho các phiên bản khác của Visual Studio tại http://bloss.msdn.com/andypennell/archive/2004/02/06/69004.aspx


Wow, điều này thật tuyệt vời. Tôi không biết điều này là có thể.
j_random_hacker

23

Ctrl-F10 : chạy đến con trỏ trong quá trình gỡ lỗi. Mất nhiều thời gian để tìm thấy nó, và tôi sử dụng nó mọi lúc;

Ctrl-E, Ctrl-D : áp dụng định dạng chuẩn (mà bạn có thể xác định).


1
Ctrl + Shift + F10 để bỏ qua tất cả mã và chạy đến con trỏ. Tiện lợi khi thử kiểm tra các dòng mã cụ thể.
Samuel Slade

23

Tính năng chính của TAB .

  1. Nếu bạn biết tên khóa của đoạn trích, hãy viết và nhấp vào Tab kép. ví dụ: Viết

    foreach

và sau đó nhấp vào phím tab hai lần để

foreach (object var in collection_to_loop)
{

}

2. Nếu bạn viết bất kỳ sự kiện, viết ở đây

        Button btn = new Button();
        btn.Click +=         

và sau đó nhấp vào phím tab hai lần để

private void Form1_Load(object sender, EventArgs e)
{
        Button btn = new Button();
        btn.Click += new EventHandler(btn_Click);     
}    
void btn_Click(object sender, EventArgs e)
{
        throw new Exception("The method or operation is not implemented.");
}

btn_Click chức năng viết tự động

  1. trong XAML Editor, Viết bất kỳ sự kiện nào. ví dụ:

MouseLeftButtonDownsau đó nhấp vào tab
MouseLeftButtonDown=""sau đó nhấp vào tab một lần nữa MouseLeftButtonDown="Button_MouseLeftButtonDown"trong Button_MouseLeftButtonDownphương pháp phần mã được tạo.


21

Sara Ford có thị trường này bị dồn vào đường cùng.

http://bloss.msdn.com/saraford/default.aspx

Nhiều mẹo và thủ thuật Visual Studio hơn bạn có thể lắc một cây gậy.

Một số người khác:

  • Phiên bản dùng thử 3 tháng của Visual Studio 2005 và 2008 có đầy đủ chức năng và có thể được sử dụng vô thời hạn (mãi mãi) bằng cách đặt lại đồng hồ hệ thống trước khi mở VS. Sau đó, khi VS được mở, hãy đặt lại đồng hồ hệ thống để chuyển tiếp dữ liệu của bạn không bị hỏng.
  • Nhưng đó thực sự là vi phạm bản quyền và tôi không thể khuyên bạn, đặc biệt là khi bất kỳ ai có địa chỉ .edu đều có thể có phiên bản Pro đầy đủ chức năng của VS2008 thông qua Microsoft Dreamspark .
  • Bạn có thể sử dụng Visual Studio để mở các tệp thực thi của bên thứ 3 và duyệt các tài nguyên được nhúng (hộp thoại, bảng chuỗi, hình ảnh, v.v.) được lưu trữ bên trong.
  • Trình gỡ lỗi trực quan không chính xác là một tính năng "ẩn" nhưng chúng hơi bị bỏ qua và siêu hữu ích, vì ngoài việc sử dụng các trình hiển thị được cung cấp, bạn có thể tự cuộn cho các bộ dữ liệu cụ thể.
  • Lệnh "Đặt con trỏ lệnh" của trình gỡ lỗi hoặc lệnh "Đặt câu lệnh tiếp theo".
  • Điểm dừng có điều kiện (như KiwiBastard lưu ý).
  • Bạn có thể sử dụng Quickwatch, v.v. để đánh giá không chỉ giá trị của một biến, mà cả các biểu thức thời gian chạy xung quanh biến đó.

3
Nếu đó thực sự là vi phạm bản quyền (mà tôi đồng ý với bạn), thì tại sao bạn thậm chí sẽ đề cập đến nó?
Ryan Lundy

1
Kyralessa, vì một số người có thể không quan tâm. Tuy nhiên, với phiên bản Express là miễn phí, tôi nghi ngờ rằng có một lý do thực sự hiện nay để sử dụng phiên bản VS lậu.
Joey


17

Chiều cao thả xuống tùy chỉnh IntelliSense , ví dụ hiển thị 50 mục thay vì mặc định là IMO nhỏ một cách lố bịch (8).

(Để làm điều đó, chỉ cần thay đổi kích thước danh sách thả xuống vào lần tới khi bạn nhìn thấy và Visual Studio sẽ ghi nhớ kích thước bạn đã chọn trong lần mở tiếp theo.)


4
Bạn không thể thay đổi kích thước nó nữa trong VS2010, điều đó khiến tôi không thể kết thúc.
manixrock

trong Vs2008 tôi có thể thay đổi chiều rộng nhưng không phải chiều cao.
Kapil

16

Khám phá ngày hôm nay:

Ctrl + .

Hiển thị menu ngữ cảnh để tái cấu trúc (sau đó có thể truy cập thông qua chữ cái cuối cùng được gạch chân của một lớp / phương thức / thuộc tính mà bạn vừa đổi tên - di chuột qua menu hoặc "Ctrl" + ".")


Alt + Shift + F10 cũng thực hiện điều này (sử dụng keybindings C #)
Kyle Trauberman

4
Tốt hơn nhiều so với việc cố gắng săn mục tiêu nhấp chuột nhỏ trong tình huống này
Richard Ev

14

Rất nhiều người không biết hoặc sử dụng trình gỡ lỗi để nó đầy đủ nhất - IE chỉ sử dụng nó để dừng mã, nhưng nhấp chuột phải vào vòng tròn màu đỏ và có nhiều tùy chọn hơn như phá vỡ điều kiện, chạy mã khi nghỉ.

Ngoài ra, bạn có thể thay đổi giá trị biến trong thời gian chạy bằng trình gỡ lỗi là một tính năng tuyệt vời - lưu mã chạy lại để sửa lỗi logic ngớ ngẩn, v.v.


13

Chuyển đổi dòng, Shift-Alt-T
Hoán đổi hai dòng (hiện tại và tiếp theo) và di chuyển con trỏ đến dòng tiếp theo. Tôi yêu nó. Tôi thậm chí đã viết một macro thay đổi vị trí một lần nữa bằng một dòng, thực hiện chuyển đổi dòng và thay đổi vị trí dòng một lần nữa để nó giống như tôi hoán đổi dòng hiện tại với dòng trước (Chuyển đổi dòng ngược).

Chuyển từ, Shift-Ctrl-T


Điều này làm cho dòng di chuyển xuống trang, làm thế nào để bạn thực hiện một dòng di chuyển LÊN trang?
Alex Baranosky

GordonG, tôi đã viết macro sau đây: Sub ReverseLineTranspose () DTE.ActiveDocument.Selection.LineUp DTE.ExecuteCommand ( "Edit.LineTranspose") DTE.ActiveDocument.Selection.LineUp End Sub
okutane

1
Có thể làm với nó ở đây khi nó bật ra :)
Stewol

11

Khi phát triển C ++, Ctrl-F7 chỉ biên dịch tệp hiện tại.


11

Phác thảo tài liệu trong FormsDesigner ( CTRL + ALT + T )

Kiểm soát nhanh chóng đổi tên, đặt hàng và nhiều hơn nữa!


Tôi không thể tin rằng tôi đã không biết về điều này. Cuộc sống của tôi đã thay đổi.
HipsterZipster

11

Để tự động đồng bộ hóa tệp hiện tại với Solution Explorer. Vì vậy, không cần phải xem tập tin nằm ở đâu trong cấu trúc dự án

Công cụ -> Tùy chọn -> Dự án và Giải pháp -> "Theo dõi mục hoạt động trong Solution Explorer"

Chỉnh sửa: Nếu điều này gây khó chịu cho bạn thì bạn có thể sử dụng macro của Dan Vanderboom để gọi tính năng này theo yêu cầu thông qua tổ hợp phím.

(Lưu ý: Lấy từ bình luận bên dưới của Jerry).


3
Điều này trở nên khó chịu sau một thời gian. tôi ước có một phím tắt để làm điều này theo yêu cầu.
kenwarner

2
Đây là một bài viết về cách theo dõi theo yêu cầu. dvanderboom.wordpress.com/2008/03/21/ Mạnh
Jerry

Nếu bạn có nhiều tệp đang mở, nó có thể giết VS (không cần cảnh báo) nếu bạn làm những việc như 'Đóng tất cả trừ cái này' (từ PowerCommands, tôi nghĩ vậy).
Stewol

Chia sẻ lại làm cho nhu cầu dự phòng này vì bạn có thể thực hiện Shift + Alt + L để chuyển trực tiếp đến tệp hiện tại trong Solution Explorer; hoặc Ctrl + Shift + N để tìm kiếm từ khóa cho bất kỳ tệp nào trong Giải pháp.
cbp

9

Tôi không chắc nó có "ẩn" hay không, nhưng không nhiều người biết về nó - những kẻ giả danh . Rất tiện lợi khi gỡ lỗi, tôi đã @ERR, giờ trong cửa sổ đồng hồ của tôi.


1
Tôi đã nghe nói @xxx đang được loại bỏ để ủng hộ $ xxx. FWIW, WinDbg cũng sử dụng mẫu $ xxx.
Constantin

Bạn có thể chỉ làm "hr, hr" trong cửa sổ đồng hồ không? Tôi đã sử dụng tất cả các cách trở lại trong VC6 ...
LarryF

Thông minh. Như bài viết được liên kết đề xuất, việc thiết lập các điểm dừng có điều kiện trên @TIB sẽ đơn giản hóa đáng kể việc gỡ lỗi các ứng dụng đa luồng.
j_random_hacker

9

Ctrl-Minus, Ctrl-Plus, điều hướng trở lại và chuyển tiếp nơi bạn đã ở gần đây (mặc dù chỉ mở các tệp).


Đúng, YÊU những điều này - sử dụng chúng hàng ngày.
MaseBase

Rất hữu ích nếu bạn nhấn F + 12 để đi đến một định nghĩa và sau đó muốn quay lại vị trí của mình.
Thomas Bratt

9

Tôi không sử dụng nó thường xuyên, nhưng tôi thích:

ctrl-alt + mouse select

Để chọn trong một khối hình chữ nhật, để 'chặn' ranh giới.

Theo ghi nhận trong bình luận,

alt + mouse select

Không chỉ là một khối hình chữ nhật đơn giản.


4
Một downvote thật thú vị, cho rằng đây là một hành động hợp lệ trong VS :) Chúc may mắn cho bạn, mặc dù ghét, bí ẩn.
Trưa Silk

2
Có thể là hơi sớm, nhưng đọc nó khiến tôi muốn thử nó trên Firefox. Hóa ra, ctrl-alt-shift cho phép bạn sử dụng chuột để kéo toàn bộ tài liệu trên màn hình, tương tự như cách tài liệu PDF hoạt động.
KdgDev

Nó khác với alt + chuột chọn như thế nào?
Guffa

Guffa: Nó chỉ đi đến kết thúc khối. alt-select cho phép bạn chọn bất kỳ khu vực có chứa bất cứ điều gì. Họ khác nhau.
Trưa Silk

Mặc dù tôi nghĩ nó chỉ có thể là 'ctrl-alt', chứ không phải 'shift'.
Trưa Silk


8

CTRL + Shift + U -> Phần tô sáng chữ hoa. CTRL + U -> Viết thường phần được tô sáng Tuyệt vời để nhận Báo cáo SQL của tôi trông vừa phải khi đặt chúng vào các truy vấn chuỗi.

Cũng hữu ích cho mã bạn đã tìm thấy trực tuyến trong đó MỌI THỨ LÀ TRONG CAPS.


2
Thật tệ là họ không có tùy chọn CTC + Shift của CamelCase ... :) Đó có lẽ là công cụ tái cấu trúc số 1 của tôi khi tôi tiếp quản một dự án ... Larry
LarryF

8

Nút chuột giữa Bấm vào tab soạn thảo sẽ đóng tab.


1
Tôi sử dụng điều này mọi lúc khi tôi đang mã hóa bởi vì tôi đang tìm kiếm mã và sau đó đóng nó ("X" để đóng là khá xa).
Kevin Driger

8

Để hiển thị bất kỳ khối dữ liệu nào dưới dạng "mảng" n-byte, hãy sử dụng cú pháp sau trong cửa sổ QuickWatch của Visual Studio:

variable, n

Ví dụ: để xem một biến có tên foolà mảng 256 byte, hãy nhập biểu thức sau trong cửa sổ QuickWatch:

foo, 256

Điều này đặc biệt hữu ích khi xem các chuỗi không kết thúc hoặc dữ liệu chỉ có thể truy cập thông qua một con trỏ. Bạn có thể sử dụng cửa sổ Bộ nhớ của Visual Studio để đạt được kết quả tương tự, nhưng sử dụng cửa sổ QuickWatch thường thuận tiện hơn cho việc kiểm tra nhanh.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.