程式碼搜尋

程式碼搜尋檢視讓您掃遍資料庫中的每一段腳本。您可以搭配下列選項:
| 按鈕 | 選項 | 效果 |
|---|---|---|
.* | 正規表達式 | 把您的查詢當作 RegExp 來解讀,讓您能運用樣式的全部威力(量詞、字元類別、錨點等)。「區分大小寫」與「全字匹配」選項仍可一併使用。 |
Aa | 區分大小寫 | 勾選後,搜尋會區分大小寫——「A」和「a」被視為不同的字元。 |
\b | 全字匹配 | 只列出未與其他字母或數字相連的比對結果。以空白、標點等分隔的字詞才會被比對到。 |
這三個按鈕依此順序位於輸入欄內的右側;當輸入欄不是空的時候,後面還會出現一個叉號,用來清除輸入的內容。
當您離開輸入欄時——在別處點一下、按 Tab 鍵,或自 3.2.0 版起按 Enter 鍵——或從歷史中選擇一筆搜尋時,搜尋就會開始。自同一版本起,按 Esc 鍵會離開輸入欄並捨棄您在其中輸入的內容:目前的搜尋仍會顯示。搜尋的文字與三個選項都由瀏覽器記住,適用於所有資料庫。
搜尋歷史
在輸入欄中點一下,會展開您最近的 20 筆搜尋,最新的排在最前面;輸入時,清單會隨之篩選。點選叉號,即可將某筆搜尋從歷史中移除。
結果
計數器會顯示目前顯示的結果數,以及找到的總數。結果每 100 筆一批顯示:在清單底部,+100 會顯示接下來的 100 筆(剩下不到 100 筆時為 +N),全部(N) 則顯示其餘的 N 筆。
解讀一筆結果
每筆結果都是一行,呈現方式與欄位與公式中相同:型別圖示、依賴項標記、「Fx」,然後是該元素的導覽路徑,其中的粗體部分代表找到該文字的程式碼。
- 滑鼠停在粗體部分上時,程式碼會出現在一個提示泡泡中,找到的文字會醒目標示。
- 點選粗體部分,會在 Ninox 的編輯器中開啟這段程式碼,找到的文字會醒目標示。
- 在編輯模式(「Edit mode」)下,滑鼠停在某一行上時,其右側會出現一個紅色按鈕:若該行與欄位有關,它會在表單上選取該欄位;若是其他行,則會開啟程式碼編輯器。
- 點選欄位的依賴項標記,會在欄位與公式分頁中開啟該欄位。
搜尋範圍
搜尋會掃遍資料庫的所有程式碼:
- 全域程式碼與「After Open」觸發器;
- 表格的觸發器;
- 欄位的公式與觸發器:按鈕、建立後或修改後觸發器、「Display only if」、讀取與寫入權限、顯示格式、動態選擇、限制條件;
- 檢視的欄:其公式與條件格式;
- 列印報表:含大括號公式的文字、HTML 區塊、修訂欄、含公式的圖片欄位,以及 Carbone 報表的資料來源(只讀取資料來源的公式,不讀取 Word 檔案)。
正規表達式範例
需要複習 RegExp 語法嗎?https://regexone.com 有一份簡明的教學。
下面這段 RegExp 會找出所有 where 子句以 ID 過濾的 select:
\bselect\b[^;]*(?<!\.)\bid\b
這能幫您快速找出可以把 first(select myTable where ID = searchId) 換成更快寫法 record(myTable, searchId) 的地方。
逐步說明:
| RegExp 樣式 | 說明 |
|---|---|
\bselect\b | 比對完整的字 select(避免比對到「selected」之類的字)。 |
[^;]* | 比對零個或多個非 ; 的字元,確保 select 與 id 之間沒有分號。 |
(?<!\.) | 反向否定預查,確認 id 之前緊接著的不是 . 。 |
\bid\b | 比對完整的字 id(避免比對到「userid」或「ident」之類的子字串)。 |
