Câu hỏi Cắt không gian dấu trong Xcode


Có cách nào để buộc Xcode cắt các khoảng trống sau khi tôi lưu tệp không?

Tôi đang sử dụng phiên bản 3.1.3 nếu điều đó quan trọng.


76
2017-09-07 17:35


gốc




Các câu trả lời:


Bạn có thể tạo tập lệnh và liên kết tập lệnh đó với lối tắt bàn phím:

  • Lựa chọn Trình đơn Tập lệnh> Chỉnh sửa Tập lệnh Người dùng ...
  • Nhấn nút + và chọn Tập lệnh Shell mới
  • Đặt tên cho nó là "Strip Trailing Spaces" và đặt cho nó một phím tắt như ⌃⇧R.
  • Đặt đầu vào thành "Lựa chọn" và Xuất thành "Thay thế lựa chọn"

Sau đó, nhập tập lệnh sau:

#!/usr/bin/perl

while (<>) {
    s/\s+$//;
    print "$_\n";
}

22
2017-09-08 06:11



Ah, vâng, thật đơn giản ... Cảm ơn. Có cách nào để liên kết điều này với lưu tệp không? - Alexander Gladysh
Có cách nào để làm điều này trong Xcode 4? - David Potter
Để làm việc trên toàn bộ tệp (có thể là những gì bạn muốn làm), hãy đặt đầu vào thành "Toàn bộ tài liệu" và xuất thành "Thay thế nội dung tài liệu". Tuy nhiên, điều này để con trỏ ở dưới cùng của tập tin. - Scott Biggs
Câu trả lời này đã lỗi thời kể từ Xcode 4.4. Xem câu trả lời của Martin Stolz. - Basil Bourque


Bắt đầu từ các khoảng trắng Xcode 4.4 sẽ được tự động cắt theo mặc định, trừ khi dòng là tất cả khoảng trắng. Bạn cũng có thể kích hoạt Including whitespace-only lines để sửa lỗi này, không hoạt động theo mặc định.

Đi đến Xcode > Preferences > Text Editing > While editing

Xcode preferences screenshot


171
2017-08-06 14:15



Cài đặt này chỉ cắt bớt khoảng trống sau của một dòng sau khi con trỏ đã rời khỏi dòng đó. Vì vậy, nó vẫn cho phép bạn lưu một tệp với một dòng khoảng trống cuối, nếu con trỏ nằm trên dòng đó khi lưu. - ma11hew28
Tại sao trên trái đất này không phải là mặc định? Nếu bạn có một tệp hiện có với khoảng trống cuối, chỉ cần đánh dấu tất cả, cắt, lưu, dán, lưu. - friederbluemle
chết tiệt bạn đá .............. - tnylee
Sử dụng + này ctrl-i trên tất cả các tệp hiện có sẽ xử lý các khoảng trống ở cuối - Kirualex
Điều này dường như không hoạt động trong Xcode 8. - Greg Brown


Tôi đang sử dụng Hộp công cụ Google dành cho Mac Xcode Plugin, nó thêm thông số "Khoảng trắng chính xác khi lưu" để cắt khoảng trắng ở cuối khi lưu. Tôi đã bỏ lỡ rất nhiều từ emacs.


23
2018-04-13 09:37



Tôi đang sử dụng plugin này. Nó làm những gì nó nói. - Nathan
Sẽ được hoàn hảo, tiếc là nó không hoạt động trên Xcode 4 tại thời điểm này: ( - deepwell
Bây giờ chúng tôi có một số hỗ trợ Xcode 4 cơ bản. Xem plugin mới - dmaclach
Tôi có thể tìm thông số "Khoảng trắng chính xác khi lưu" ở đâu? - jhasse
Cuối cùng tôi đã quản lý GTM làm việc trên Xcode 4.3.2, nhưng hướng dẫn cài đặt từ wiki GTM dường như không hợp lệ. Thay vì đặt .xcplugin vào ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins (theo hướng dẫn của Google) tôi phải đưa nó vào /Applications/Xcode.app/Contents/PlugIns và khởi động lại Xcode. - Kristofer Sommestad


Đối với Xcode 8, tôi đã cài đặt bơi lội Trình cắm thêm Xcode, để định dạng mã Swift, loại bỏ tất cả các dấu cách và các dòng chỉ khoảng trắng.

Phương pháp cài đặt

  1. Cài đặt qua homebrew-cask:

    brew cask install swimat
    
  2. Tải xuống ứng dụng trực tiếp:
    https://github.com/Jintin/Swimat/releases/download/v1.3.5/Swimat.zip

  3. Sao chép extension chi nhánh và lưu trữ cho ứng dụng Mac.

Sử dụng

Sau khi cài đặt, bạn có thể chạy Swimat trong Xcode qua Editor -> Swimat -> Format.


2
2017-08-15 13:19





Điều này là không thể trong Xcode 3.2

Chỉnh sửa:

Tôi đã trả lời câu hỏi này một thời gian ngắn vì không có cách nào để làm điều này đúng.

Tất nhiên, vì nó là phần mềm, bạn có thể làm bất cứ điều gì: Bắt đầu với hacks quản lý đầu vào hoặc các cách khác để tiêm mã vào hệ thống chặn bàn phím rộng, bạn có thể thay đổi hệ thống cục bộ của bạn để làm bất cứ điều gì bất cứ lúc nào. Bạn có thể thiết lập một hành động thư mục Applescript (arrgh) hoặc sử dụng một con quỷ khởi động và cơ sở FSEvents để xem các tệp mã nguồn của bạn.

Bạn cũng có thể thêm một vài tập lệnh vào Xcode (kịch bản người dùng trong menu, giai đoạn tập lệnh trong các mục tiêu, Hành động tùy chỉnh trong trình tổ chức, thậm chí có khả năng không rõ là tập lệnh khởi động), nhưng tất cả các giải pháp này đều thiếu sót, vì nó liên quan đến người dùng hoặc thiết lập tùy chỉnh trên máy của người dùng.

Tôi không nhận thức được một giải pháp mà chỉ đơn giản là làm việc sau khi kiểm tra một dự án từ SCM. Tôi tin rằng cần phải có kịch bản tùy biến này và các kịch bản tùy chỉnh tương tự, vì vậy tôi đã gửi một lỗi (radar 7203835, "Tính năng: nhiều tập lệnh người dùng hơn kích hoạt trong quy trình làm việc Xcode"). Tôi chưa nhận được bất kỳ phản hồi nào.

Đây là văn bản đầy đủ của mục nhập radar:

Sẽ hữu ích khi có nhiều nơi hơn để chạy tập lệnh trong Xcode.

Ví dụ:

  1. Tạo kịch bản trước
      Các tập lệnh dựng sẵn có thể được sử dụng để tạo các điều kiện tiên quyết như tệp * .xcconfig hoặc tiêu đề config.h. Điều này là không thể với "Giai đoạn xây dựng kịch bản lệnh", vì việc theo dõi phụ thuộc diễn ra trước khi bất kỳ giai đoạn xây dựng nào được kích hoạt.

  2. Viết kịch bản xây dựng
      Tương tự như ở trên, nhưng chạy sau khi xây dựng   hoàn thành (bao gồm cả ký mã vv).   Hữu ích cho bao bì bổ sung,   kiểm tra tính hợp lệ, v.v.

  3. Pre / Post SCM Commit script.
      Để kiểm tra tính toàn vẹn của dự án.

  4. Tập tin trước / sau lưu tập lệnh.
      Để kiểm tra / thay đổi một tập tin trước khi lưu. Ví dụ. chạy cody làm đẹp

  5. Tác vụ dự án tùy chỉnh.
      Tôi biết khả năng của người tổ chức để xác định các hành động tùy ý. Nhưng đây là tính năng cho mỗi người dùng (không phải là một phần của dự án). Tôi muốn xác định các hành động như xây dựng hoặc làm sạch hiển thị trong menu xây dựng và là một phần của dự án.


1
2017-09-07 19:22



Và không có cách giải quyết? Các móc lưu trên toàn hệ thống? .. - Alexander Gladysh
Đã chỉnh sửa để giải đáp lý do tại sao cách giải quyết không thỏa mãn trong trường hợp này - Nikolai Ruhe
Cảm ơn. Trong khi tôi ủng hộ việc thực hiện nó theo cách thích hợp, tôi sẽ giải quyết về bất kỳ hack không xâm phạm nào. Những khoảng trống thừa đó thực sự gây phiền nhiễu. - Alexander Gladysh
Tôi ghét họ! - Nikolai Ruhe


Xem ở đây cho Xcode4: http://www.wezm.net/technical/2011/08/strip-trailing-whitespace-xcode-4/

Tuyệt, hộp công cụ Google dành cho Mac hiện thêm tùy chọn "cắt khoảng trắng" cho Xcode4.

http://code.google.com/p/google-toolbox-for-mac/downloads/list

Cảm ơn bạn, Google!


1
2017-11-09 16:32



Đúng vậy, plugin hoạt động như được quảng cáo (Xcode 4.6.3). Cảm ơn! - rudifa