Phím tắt / Đoạn trích để chọn một khối mã


8

Tôi đang sử dụng SQL Server Management Studio 2016 trên Windows 10. Tôi mệt mỏi khi sử dụng phím shift / ctrl + lên / xuống / phải / trái để chọn mã tôi muốn chạy. Tôi đang tự hỏi liệu có các phím tắt / đoạn mã để chọn một khối mã được phân tách với các mã khác bằng các dòng trống không?

Đây là một ví dụ mã:

select *
from tab1

select *
from tab2

select *
from tab3

Nói, con trỏ của tôi ở trong khối giữa và cách tốt nhất để chọn khối giữa là gì?


1
JetBrains DataGrip (Ctrl + Enter). Giá rẻ quá. Giao diện người dùng tối quá.
Nelz 17/03/2017

Câu trả lời:


4

Tôi không liên kết với Red-Gate, nhưng tôi muốn chỉ ra rằng nếu bạn nhấn Shift-F5, khi bạn sở hữu một bản sao mới của SQL Prompt, thì truy vấn con trỏ của bạn sẽ được đánh dấu màu xanh lá cây và được thực thi .

Nó thực sự đã giúp tôi tiết kiệm rất nhiều tổ hợp phím.


Cảm ơn rất nhiều cho câu trả lời của bạn! Tôi đã thử sql nhanh chóng và nó là tuyệt vời! Tôi sẽ suy nghĩ về việc mua nó sau khi dùng thử!
Jason

1
Lưu ý rằng nó không thực sự chọn mã, vì bạn không thể sử dụng phương pháp này để sao chép khối mã đã được thực thi.
Thomas Rushton

4

Sử dụng Autohotkey, tôi đã có thể phát triển một giải pháp để chọn một khối mã và đây là tập lệnh tôi có:

!b::

send ^f

sendraw ^\r$

send {F3}

send +{F3}

send {Esc}

send {down}

send ^{=}

return

Cụ thể, nhấn Alt + B sẽ gọi tập lệnh này và tập lệnh sẽ chọn khối mã nơi con trỏ đang ở. Lưu ý rằng khối mã phải được tách ra khỏi các khối mã khác bằng các dòng trống và khối mã không thể có dòng trống bên trong chính nó.

Các bước chính của tập lệnh about là

  • sử dụng biểu thức chính quy "^ \ r $" để xác định vị trí các dòng trống bên trên và bên dưới con trỏ

  • di chuyển con trỏ đến hai dòng trống này từng cái một

  • sử dụng ctrl + = để chọn khối mã giữa hai dòng trống này.

Lưu ý rằng! / ^ / + Là alt / ctrl / shift riêng.


Tôi không biết rằng bạn có thể làm điều này với AutoHotKey. Ít gián điệp hơn SQL Prompt. Cảm ơn đã đăng bài viết.
Henrik Staun Poulsen

3

Một cách để nhanh chóng chọn các khối mã trong SSMS là thu nhỏ mã bằng cách sử dụng -nút bên cạnh từ khóa hàng đầu trong câu lệnh SQL (ví dụ: CHỌN, CẬP NHẬT, XÓA, VỚI, v.v.) sau đó tô sáng dòng đó và nhấn F5để thực thi nó.

nhập mô tả hình ảnh ở đây

Tùy thuộc vào phiên bản SSMS của bạn (phiên bản mới hơn rõ ràng được ưu tiên trong trường hợp này), cũng có một số phím tắt bạn có thể sử dụng để thu gọn / mở rộng một phần. Các liên kết phím tắt được cung cấp bởi ám chỉ phản ứng trước Simon Hellings' để phím nóng đã được thiết lập, nhưng tôi không thể xác nhận họ thực sự làm việc. Tuy nhiên, bạn có thể đặt một số phím nóng tùy chỉnh để thực hiện việc này như sau:

  1. Các chức năng chúng tôi quan tâm với cài đặt các phím nóng được tìm thấy trong Edit-> OutliningTùy chọn menu: nhập mô tả hình ảnh ở đây

  2. Để đặt các phím nóng, điều hướng đến Tools-> Options...-> Environment-> Keyboard-> Keyboard. Nhập Outlinvào các lệnh Show chứa: hộp. Sau đó gán một mới tổ hợp phím tắt cho Edit.ToggleAllOutliningEdit.ToggleOutliningExpansionvà nhấn Assign: nhập mô tả hình ảnh ở đây

  3. Bây giờ, hãy kiểm tra các phím tắt đã lấy sau khi nhấn Ok và các phím tắt của bạn sẽ hoạt động như mong đợi. Như bạn có thể thấy, tôi đã gán cho tôi CTRL+ALT+Left ArrowCTRL+ALT+Right Arrow, nhưng bạn có thể sử dụng bất cứ thứ gì bạn muốn: nhập mô tả hình ảnh ở đây

Cuối cùng, nếu điều này không hoạt động, bạn có thể phải chuyển sang một máy khách SQL khác. Nghe có vẻ như chức năng bạn muốn tương tự như thực thi khối Oracle PL / SQL thông qua CTRL + ENTEROracle SQL Developer. Bạn có thể sử dụng Oracle SQL Developer để kết nối với SQL Server bằng trình điều khiển JDBC cơ sở dữ liệu của bên thứ ba ( ref ), nhưng tôi không khuyến nghị điều đó.


Có, đây chỉ là lý do đủ để cài đặt Toad và sử dụng F9. Con cóc có bộ quirks riêng của nó mặc dù.
crokusek

Cảm ơn vì đã trả lời! Làm thế nào tôi có thể gấp nút cây mà không cần sử dụng chuột?
Jason

@Jason - Tôi đã cập nhật câu trả lời của mình bằng các phím tắt. Bạn sẽ cần một phiên bản SSMS mới hơn, vì chức năng này không có sẵn trên tất cả các phiên bản như được chỉ ra bởi liên kết URL tôi đã cung cấp.
John Eisbrener

@JohnEisbrener, cảm ơn sự giúp đỡ của bạn và tôi sẽ kiểm tra chúng!
Jason

@JohnEisbrener, tôi đã thử kiểm tra lối tắt bàn phím mới mà bạn đề xuất và không ai trong số họ làm việc cho tôi. Tôi đang sử dụng phiên bản SSMS mới nhất, đó là phiên bản 13.0.16106.4. Bạn đã bao giờ tự mình kiểm tra chúng chưa?
Jason

2

Không sử dụng up/ down/ right/ leftphím ở tất cả để chọn mã của bạn để chạy.

Giả sử có thể sử dụng chuột máy tính, hãy làm điều này:

  1. Sử dụng chuột máy tính của bạn để di chuyển con trỏ đến ký tự đầu tiên được đưa vào.
  2. Tiếp Giữ xuống và tiếp tục giữ các Ctrlchìa khóa, sau đó di chuyển chuột để bao gồm các ký tự cuối cùng để được bao gồm.
  3. Tiếp tục giữ Ctrlphím, sau đó nhấn Ephím sẽ thực hiện văn bản được tô sáng.

Nếu bạn muốn xóa mã vừa thực hiện, bạn nên tiếp tục giữ Ctrlphím và sau đó nhấn Deletephím.

Tôi cho rằng có thể ai đó đã tạo ra một công cụ để làm điều đó tự động.


Cảm ơn vì đã trả lời! Tôi biết cách sử dụng ctrl / shift bằng chuột để chọn mã và cảm thấy đó là loại so sánh chậm với các phím tắt / đoạn mã. Bạn có biết bất kỳ phím tắt / đoạn mã nào có thể chọn mã tự động không?
Jason

4
@RLF, tôi sẽ trao giải cho câu trả lời của bạn với một upvote cho việc troll thành công (có chủ ý hay không, không quan trọng.)
Daniel Hutmacher

1

Tôi không nghĩ rằng điều này là có thể. Xem danh sách đầy đủ của các phím tắt mặc định ở đây . Bạn có thể tùy chỉnh một cái gì đó từ các công cụ -> menu tùy chọn


Cảm ơn câu trả lời của bạn! Nếu phím tắt là không thể, bạn có biết bất kỳ đoạn trích nào cho việc này không?
Jason

Không phải là điều tôi có thể nghĩ đến
Simon Hellings
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.