Microsoft phát hành VS Code 1.51 với các tab được ghim được cải thiện và hơn thế nữa

Biểu tượng thời gian đọc 11 phút đọc


Bạn đọc giúp đỡ ủng hộ MSpoweruser. Chúng tôi có thể nhận được hoa hồng nếu bạn mua thông qua các liên kết của chúng tôi. Biểu tượng chú giải công cụ

Đọc trang tiết lộ của chúng tôi để tìm hiểu cách bạn có thể giúp MSPoweruser duy trì nhóm biên tập Tìm hiểu thêm

Mã VS của Microsoft

Mã VS của Microsoft

Microsoft hôm nay đã công bố phát hành Visual Studio Code v1.51 (bản cập nhật tháng 2020 năm XNUMX) với một số cải tiến và sửa lỗi. Bản cập nhật mới này hiện đi kèm với hộp đề xuất IntelliSense có thể thay đổi kích thước, các phiên đầu cuối từ xa liên tục, các tab được ghim được cải thiện và hơn thế nữa. Tìm toàn bộ nhật ký thay đổi do Microsoft cung cấp bên dưới.

Workbench#

Các tab được ghim nổi bật hơn#

Các tab được ghim giờ sẽ luôn hiển thị biểu tượng ghim của chúng, ngay cả khi không hoạt động, để giúp xác định chúng dễ dàng hơn. Nếu một trình chỉnh sửa được ghim và chứa các thay đổi chưa được lưu, biểu tượng sẽ phản ánh cả hai trạng thái.

Các tab được ghim không hoạt động hiển thị biểu tượng ghim

Cây mở rộng sử dụng di chuột tùy chỉnh#

Thay vì sử dụng chú giải công cụ gốc trong chế độ xem dạng cây mở rộng, giờ đây chúng tôi sử dụng một trình di chuột tùy chỉnh phù hợp với nhiều nền tảng và phù hợp hơn với UX tổng thể.

Cây di chuột tùy chỉnh

Cài đặt tiện ích mở rộng mà không cần đồng bộ hóa#

Giờ đây, bạn có thể cài đặt tiện ích mở rộng mà không cần đồng bộ hóa nó trong khi đồng bộ hóa cài đặt được bật.

Cài đặt tiện ích mở rộng mà không cần đồng bộ hóa

Theme: ánh sáng GitHub

Cài đặt tiện ích mở rộng từ Explorer#

VS Code hiện hỗ trợ cài đặt tệp VSIX mở rộng từ Explorer bằng cách nhấp chuột phải vào tệp VSIX và chọn Cài đặt tiện ích mở rộng VSIX mục menu ngữ cảnh.

Nhập lệnh làm mờ#

Một nội bộ mới workbench.action.blur hiện có sẵn lệnh, lệnh này sẽ xóa tiêu điểm khỏi bất kỳ đầu vào có thể lấy tiêu điểm nào. Bạn có thể chỉ định một phím tắt cho lệnh này trong Tùy chọn Phím tắt.

Thiết bị đầu cuối tích hợp#

Tiếng vọng địa phương#

Việc thực hiện các sửa đổi trong thiết bị đầu cuối theo truyền thống yêu cầu thông tin phải được gửi đến quy trình đầu cuối, được xử lý và trả về Mã VS để bị ảnh hưởng. Điều này có thể chậm khi làm việc trên kết nối kém hoặc ở xa với Máy chủ SSH or Không gian mã.

Bản phát hành này bổ sung chế độ “tiếng vọng cục bộ” vào thiết bị đầu cuối, cố gắng dự đoán các sửa đổi và chuyển động của con trỏ được thực hiện cục bộ và hiển thị chúng trong giao diện người dùng mà không yêu cầu chuyển đến máy chủ. Theo mặc định, các ký tự được dự đoán hiển thị là "mờ":

Gif hiển thị quá trình nhập với độ trễ 250ms trong đó các ký tự được nhập ngay lập tức bị làm mờ

Có hai cài đặt bạn có thể sử dụng để định cấu hình điều này:

  • terminal.integrated.localEchoLatencyThreshold định cấu hình ngưỡng trễ được phát hiện, tính bằng mili giây, tại đó tiếng vọng cục bộ sẽ kích hoạt. Điều này có thể được đặt thành 0 để bật tính năng này mọi lúc, hoặc -1 để vô hiệu hóa nó. Mặc định là 30.
  • terminal.integrated.localEchoStyle định cấu hình kiểu hoặc màu của ký tự cục bộ, mặc định là dim.

intellisense#

Đề xuất có thể thay đổi kích thước#

Sự kiện quan trọng này, chúng tôi đã thực hiện một số cải tiến đối với giao diện người dùng đề xuất. Đầu tiên và quan trọng nhất, nó hiện có thể được thay đổi kích thước. Kéo các cạnh hoặc các góc để thay đổi kích thước điều khiển.

Kiểm soát đề xuất có thể thay đổi kích thước

Theme: ánh sáng GitHub, Phông chữ: FiraCode

Kích thước của danh sách đề xuất sẽ được lưu và khôi phục qua các phiên. Kích thước của ngăn chi tiết chỉ được lưu trong mỗi phiên, vì kích thước đó có xu hướng thay đổi nhiều hơn. Ngoài ra, editor.suggest.maxVisibleSuggestions cài đặt đã trở nên lỗi thời.

Thanh trạng thái cho các đề xuất#

Điều khiển đề xuất giờ đây cũng có thể hiển thị thanh trạng thái của chính nó ở cuối cửa sổ. Kích hoạt nó bằng cách sử dụng editor.suggest.showStatusBar thiết lập. Nó làm cho việc chuyển đổi các chi tiết trở nên đơn giản hơn và cho biết liệu việc hoàn thành có hỗ trợ chèn, thay thế hoặc cả hai hay không.

Thanh trạng thái đề xuất

Theme: ánh sáng GitHub, Phông chữ: FiraCode

Trong ví dụ trên, chọn “Chèn” dẫn đến kết quả là Math.floorceil và chọn "Thay thế" kết quả là Math.floor.

Mới editor.suggest.insertMode cài đặt cho phép bạn định cấu hình xem bạn muốn chèn hay thay thế. Khi một đề xuất hỗ trợ cả hai, tùy chọn của bạn sẽ là mặc định.

Di chuyển con trỏ để chọn các đề xuất#

Cuối cùng nhưng không kém phần quan trọng, bây giờ bạn có thể di chuyển con trỏ trong khi các đề xuất đang hiển thị. Ví dụ: bạn có thể kích hoạt các đề xuất ở cuối một từ, di chuyển sang trái để xem các đề xuất khác, sau đó sử dụng thay thế để ghi đè từ đó.

Di chuyển con trỏ trong khi các đề xuất đang hiển thị

Theme: ánh sáng GitHub

Emmet#

Đoạn mã tùy chỉnh trong Emmet đã trở lại. Ngoài ra, các đoạn mã giờ đây tự động làm mới khi lưu tệp đoạn mã hoặc cập nhật emmet.extensionsPath thiết lập.

Đoạn mã tùy chỉnh Emmet hoạt động trở lại

Kiểm soát nguồn#

Hộp nhập Source Control lưu lịch sử tin nhắn cam kết#

Địa chỉ này yêu cầu tính năng để điều hướng lịch sử cam kết SCM. nhấn Up và xuống để hiển thị các cam kết trước và cam kết tiếp theo, tương ứng. Để di chuyển trực tiếp đến vị trí đầu tiên và cuối cùng của hộp nhập liệu, hãy nhấn Khác kết hợp với phím mũi tên tương ứng.

Sau khi nhập tin nhắn vào hộp nhập SCM, sau đó sắp xếp và thực hiện các thay đổi, nhấn vào mũi tên lên sẽ hiển thị thông báo vừa được cam kết

Git: Gắn thẻ lệnh trong menu con#

Các lệnh Git liên quan đến thẻ đã được thêm vào ... Menu Git.

Menu con của thẻ Git

Git: Lệnh Rebase#

A mới Git: Rebase chi nhánh… lệnh đã được thêm vào cho phép bạn căn cứ lại một nhánh bằng giao diện người dùng.

Git: Lệnh sao chép đệ quy#

Với Git: Clone (Đệ quy) , bây giờ bạn có thể sao chép đệ quy các kho lưu trữ Git, bao gồm các mô-đun con Git lồng vào nhau của nó.

Dòng thời gian: Hiển thị mã ngắn biểu tượng cảm xúc#

Giờ đây, chúng tôi hiển thị các mã ngắn biểu tượng cảm xúc, chẳng hạn như :smile:, trong Chế độ xem Dòng thời gian.

Chế độ xem dòng thời gian với biểu tượng cảm xúc

Ngôn ngữ#

Chọn thông minh Markdown#

Mở rộng và thu nhỏ lựa chọn trong tài liệu Markdown bằng các lệnh mới sau:

  • Mở rộng: Shift + Alt + Right
  • Co lại: Shift + Alt + Left

Lựa chọn áp dụng cho những điều sau và tuân theo mô hình phân cấp truyền thống:

  • Headers
  • Chức năng
  • Chặn báo giá
  • Các khối mã có hàng rào
  • Khối mã html
  • Đoạn

Lựa chọn thông minh trong tài liệu Markdown mở rộng từ phần tử khối, đến phần tử khối chứa nó, đến phần còn lại của nội dung dưới tiêu đề, đến chính tiêu đề

Tùy chọn định dạng dấu ngoặc nhọn trống cho JavaScript và TypeScript#

Mới javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces và typescript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces điều khiển tùy chọn cấu hình định dạng nếu khoảng cách được chèn giữa các dấu ngoặc nhọn trống. Giá trị mặc định cho các cài đặt này là true. Ví dụ: đối với JavaScript:

class Foo {
  doFoo() {}
}

Cài đặt "javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false và định dạng mã dẫn đến:

class Foo {
  doFoo() {} // Notice that the space has been removed
}

Hỗ trợ trình duyệt#

Tải xuống thư mục (Edge, Chrome)#

Tận dụng cái mới Quyền truy cập hệ thống tệp API, Microsoft VS Code chạy trong trình duyệt hiện có thể cung cấp hành động tải xuống cho các thư mục từ File Explorer để tải tất cả các tệp và thư mục xuống đĩa.

Thư mục tải về

Lưu ý: Điều này yêu cầu phiên bản Microsoft Edge hoặc Google Chrome gần đây.

Mở thông báo Không gian làm việc#

Nếu bạn mở một thư mục chứa .code-workspace ở cấp cao nhất, bây giờ bạn sẽ thấy thông báo yêu cầu bạn mở nó. Điều này luôn xảy ra trong Microsoft VS Code dành cho máy tính để bàn và giờ đây cũng sẽ hoạt động trong trình duyệt.

Mở thông báo không gian làm việc

Ngăn chặn tình cờ đóng#

Một thiết lập mới window.confirmBeforeClose đã được thêm vào để hiển thị hộp thoại xác nhận trước khi đóng hoặc rời khỏi bàn làm việc.

Giá trị có thể là:

  • keyboardOnly Xác nhận sẽ chỉ được hiển thị khi bạn sử dụng keybinding để đóng (ví dụ: Ctrl + W). (vỡ nợ)
  • always: Hộp thoại xác nhận sẽ luôn hiển thị, ngay cả khi bạn đóng bằng cử chỉ chuột.
  • never: Xác nhận sẽ không bao giờ được hiển thị.

Đóng hộp thoại xác nhận

Chú thích: Cài đặt này có thể không bao gồm tất cả các trường hợp. Trình duyệt vẫn có thể quyết định đóng tab hoặc cửa sổ mà không cần xác nhận.

Đóng góp cho tiện ích mở rộng#

Các yêu cầu và vấn đề kéo GitHub#

Công việc tiếp tục trên Các yêu cầu và vấn đề kéo GitHub tiện ích mở rộng, cho phép bạn làm việc trên, tạo và quản lý các vấn đề và yêu cầu kéo.

Để tìm hiểu về tất cả các tính năng và bản cập nhật mới, bạn có thể xem toàn bộ changelog cho 0.22.0 phát hành phần mở rộng.

Phát triển từ xa#

Công việc tiếp tục trên Phần mở rộng Phát triển Từ xa, cho phép bạn sử dụng hộp chứa, máy điều khiển từ xa hoặc Windows Subsystem cho Linux (WSL) như một môi trường phát triển đầy đủ tính năng.

Các tính năng nổi bật trong 1.51 bao gồm:

  • Khả năng duy trì / kết nối lại với các phiên đầu cuối.
  • Cải thiện trải nghiệm chuyển tiếp cổng.

Bạn có thể tìm hiểu về các tính năng của tiện ích mở rộng mới và các bản sửa lỗi trong Ghi chú phát hành Phát triển từ xa.

Tính năng xem trước#

Các tính năng xem trước chưa sẵn sàng để phát hành nhưng đủ chức năng để sử dụng. Chúng tôi hoan nghênh phản hồi sớm của bạn trong khi chúng đang được phát triển.

Đồng bộ hóa cài đặt#

Đồng bộ hóa cài đặt hiện đồng bộ hóa trạng thái chung của tiện ích mở rộng. Các tiện ích mở rộng sẽ phải cung cấp trạng thái để đồng bộ hóa bằng cách sử dụng setKeysForSync API.

Nhớ thông tin đăng nhập proxy#

Chúng tôi đang đại tu hộp thoại đăng nhập hiển thị khi kết nối mạng yêu cầu xác thực bằng proxy. Một thiết lập mới, window.enableExperimentalProxyLoginDialog: true, sẽ kích hoạt trải nghiệm mới này mà chúng tôi dự định đặt làm mặc định trong bản phát hành trong tương lai.

Đăng nhập proxy

Theme: ánh sáng GitHub

Hộp thoại sẽ xuất hiện bên trong cửa sổ Microsoft VS Code và cung cấp một cách để ghi nhớ thông tin đăng nhập để bạn không phải cung cấp chúng mỗi khi khởi động VS Code. Thông tin đăng nhập sẽ được lưu trữ trong kho lưu trữ thông tin xác thực tiêu chuẩn của hệ điều hành (chuỗi khóa trên macOS, Trình quản lý thông tin xác thực Windows trên Windows và khóa gnome trên Linux).

Chúng tôi vẫn chỉ hiển thị hộp thoại này một lần mỗi phiên, nhưng có thể xem lại quyết định này trong tương lai. Bạn sẽ thấy hộp thoại xuất hiện lại trong trường hợp thông tin xác thực bạn đã chọn để ghi nhớ không hợp lệ. Cung cấp lại chúng cho phép bạn thay đổi chúng.

Vui lòng bật tùy chọn này và cho chúng tôi biết nếu có điều gì đó không hoạt động như mong đợi thông qua người tìm bệnh.

Hỗ trợ TypeScript 4.1 beta#

Microsoft VS Code hỗ trợ TypeScript 4.1 thử nghiệm và xây dựng hàng đêm. Bản cập nhật 4.1 mang đến một số tính năng ngôn ngữ TypeScript mới, chẳng hạn như hỗ trợ cho đệ quy các loại điều kiện, cũng như các cải tiến về công cụ. Một lĩnh vực trọng tâm đã được thêm hỗ trợ ban đầu cho @see trong các bình luận JSDoc.

Để bắt đầu sử dụng các bản dựng hàng đêm TypeScript 4.1, chỉ cần cài đặt Phần mở rộng TypeScript Nightly. Vui lòng chia sẻ phản hồi và cho chúng tôi biết nếu bạn gặp bất kỳ lỗi nào với TypeScript 4.1.

Tác giả phần mở rộng#

Đã cập nhật các mẫu tiện ích mở rộng#

Chúng tôi đã cập nhật một số mẫu mở rộng để bao gồm các kiểu mặc định của Microsoft VS Code được kết nối với mã thông báo chủ đề màu của chúng tôi. Điều này có nghĩa là các yếu tố chung (văn bản, nút, đầu vào) sẽ có thể điều chỉnh được chủ đề và phù hợp với các kiểu mặc định trong sản phẩm. Dưới đây là các tiện ích mở rộng bao gồm:

Mẫu kiểu chế độ xem web

Màu sắc của cây mã đề#

Với việc hoàn thiện ThemeIcon API màu, tác giả phần mở rộng có thể sử dụng màu chủ đề trên codicon trong chế độ xem dạng cây tùy chỉnh.

Chế độ xem dạng cây với các màu biểu tượng

Đồng bộ hóa trạng thái toàn cầu#

Các tiện ích mở rộng hiện có thể đồng bộ hóa trạng thái chung của chúng bằng cách cung cấp các khóa, các khóa có giá trị sẽ được đồng bộ hóa khi Đồng bộ hóa cài đặt được bật, sử dụng setKeysForSync API trong globalState vật lưu niệm.

/**
 * Set the keys whose values should be synchronized across devices when synchronizing user-data
 * like configuration, extensions, and mementos.
 *
 * Note that this function defines the whole set of keys whose values are synchronized:
 *  - calling it with an empty array stops synchronization for this memento
 *  - calling it with a non-empty array replaces all keys whose values are synchronized
 *
 * For any given set of keys this function needs to be called only once but there is no harm in
 * repeatedly calling it.
 *
 * @param keys The set of keys whose values are synced.
 */
setKeysForSync(keys: string[]): void;

Nhận xét về khả năng hiển thị của nút trả lời chuỗi#

Bình luận giờ đây các tiện ích mở rộng có thể kiểm soát mức độ hiển thị của nút trả lời trong chuỗi nhận xét với một thuộc tính mới, CommentThread#canReply. Khi nó được đặt thành false, người dùng sẽ không thấy nút trả lời hoặc hộp bình luận trong chuỗi bình luận.

Các API tiện ích mở rộng được đề xuất#

Mỗi cột mốc đều đi kèm với các API được đề xuất mới và các tác giả tiện ích mở rộng có thể dùng thử chúng. Như mọi khi, chúng tôi muốn phản hồi của bạn. Đây là những gì bạn phải làm để thử một API được đề xuất:

  • Bạn phải sử dụng Insiders vì các API được đề xuất thay đổi thường xuyên.
  • Bạn phải có dòng này trong package.json tệp của phần mở rộng của bạn: "enableProposedApi": true.
  • Sao chép phiên bản mới nhất của vscode.proposed.d.ts tập tin vào vị trí nguồn của dự án của bạn.

Bạn không thể xuất bản tiện ích mở rộng sử dụng API được đề xuất. Có thể có những thay đổi đột ngột trong bản phát hành tiếp theo và chúng tôi không bao giờ muốn phá vỡ các tiện ích mở rộng hiện có.

Sự kiện thay đổi nhà cung cấp phạm vi gấp#

Các nhà cung cấp phạm vi gấp có thể báo hiệu cho người chỉnh sửa rằng các phạm vi gấp cần được cập nhật bằng cách sử dụng onDidChangeFoldingRanges biến cố.

Để biết thêm chi tiết và cung cấp phản hồi, vui lòng sử dụng vấn đề #108929.

API mật khẩu#

Là một phần của công việc tiếp tục trên Nhà cung cấp xác thực, chúng tôi đã giới thiệu API để lưu trữ và truy xuất thông tin nhạy cảm. Về mặt nội bộ, điều này hoạt động như một trình bao bọc của bàn phím thư viện mà VS Code sử dụng để lưu trữ bí mật.

/**
 * Retrieve a password that was stored with key. Returns undefined if there
 * is no password matching that key.
 * @param key The key the password was stored under.
 */
export function getPassword(key: string): Thenable<string | undefined>;

/**
 * Store a password under a given key.
 * @param key The key to store the password under
 * @param value The password
 */
export function setPassword(key: string, value: string): Thenable<void>;

/**
 * Remove a password from storage.
 * @param key The key the password was stored under.
 */
export function deletePassword(key: string): Thenable<void>;

/**
 * Fires when a password is set or deleted.
 */
export const onDidChangePassword: Event<void>;

Kỹ Sư#

Làm cho các loại mã đáng tin cậy của Microsoft VS tuân thủ#

Chúng tôi đã tiếp tục nỗ lực để làm cho VS Code tuân thủ “Loại đáng tin cậy”. Mục đích là để ngăn chặn các lỗ hổng tạo kịch bản trang web chéo dựa trên DOM. Bạn có thể tìm hiểu thêm về các loại đáng tin cậy tại web.dev Trang web Loại đáng tin cậy và theo dõi tiến trình của chúng tôi trong vấn đề #103699.

nguồn: microsoft

Thông tin thêm về các chủ đề: microsoft, Mã Visual Studio 1.51, Mã VS

Bình luận

Chúng tôi sẽ không công khai email của bạn. Các ô đánh dấu * là bắt buộc *